mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-30 04:15:35 +02:00
Removed UserLanguageSettingsProvider in favor of
LanguageSettingsGenericProvider
This commit is contained in:
parent
0962b1efbb
commit
7250f46995
7 changed files with 20 additions and 82 deletions
|
@ -324,4 +324,13 @@ public class LanguageSettingsExtensionsTests extends BaseTestCase {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check that LanguageSettingsGenericProvider extension defined in plugin.xml is accessible.
|
||||||
|
*/
|
||||||
|
public void testExtensionGenericProvider() throws Exception {
|
||||||
|
ILanguageSettingsProvider provider = LanguageSettingsExtensionManager.getExtensionProviderClone(LanguageSettingsManager_TBD.PROVIDER_UI_USER);
|
||||||
|
assertNotNull("extension " + LanguageSettingsManager_TBD.PROVIDER_UI_USER + " not found", provider);
|
||||||
|
assertTrue(provider instanceof LanguageSettingsGenericProvider);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* Copyright (c) 2009, 2011 Andrew Gvozdev and others.
|
* Copyright (c) 2011, 2011 Andrew Gvozdev and others.
|
||||||
* All rights reserved. This program and the accompanying materials
|
* All rights reserved. This program and the accompanying materials
|
||||||
* are made available under the terms of the Eclipse Public License v1.0
|
* are made available under the terms of the Eclipse Public License v1.0
|
||||||
* which accompanies this distribution, and is available at
|
* which accompanies this distribution, and is available at
|
||||||
|
@ -12,17 +12,17 @@
|
||||||
package org.eclipse.cdt.core.language.settings.providers;
|
package org.eclipse.cdt.core.language.settings.providers;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO
|
* Generic implementation of language settings provider which can be edited in UI
|
||||||
|
* with entries persisted between eclipse sessions.
|
||||||
*/
|
*/
|
||||||
final public class LanguageSettingsGenericProvider extends LanguageSettingsSerializableProvider implements ILanguageSettingsEditableProvider {
|
final public class LanguageSettingsGenericProvider extends LanguageSettingsSerializableProvider
|
||||||
|
implements ILanguageSettingsEditableProvider {
|
||||||
@Override
|
@Override
|
||||||
public LanguageSettingsGenericProvider clone() throws CloneNotSupportedException {
|
public LanguageSettingsGenericProvider clone() throws CloneNotSupportedException {
|
||||||
return (LanguageSettingsGenericProvider) super.clone();
|
return (LanguageSettingsGenericProvider) super.clone();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public LanguageSettingsGenericProvider cloneShallow() throws CloneNotSupportedException {
|
public LanguageSettingsGenericProvider cloneShallow() throws CloneNotSupportedException {
|
||||||
return (LanguageSettingsGenericProvider) super.cloneShallow();
|
return (LanguageSettingsGenericProvider) super.cloneShallow();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,28 +0,0 @@
|
||||||
/*******************************************************************************
|
|
||||||
* Copyright (c) 2009, 2011 Andrew Gvozdev and others.
|
|
||||||
* All rights reserved. This program and the accompanying materials
|
|
||||||
* are made available under the terms of the Eclipse Public License v1.0
|
|
||||||
* which accompanies this distribution, and is available at
|
|
||||||
* http://www.eclipse.org/legal/epl-v10.html
|
|
||||||
*
|
|
||||||
* Contributors:
|
|
||||||
* Andrew Gvozdev - initial API and implementation
|
|
||||||
*******************************************************************************/
|
|
||||||
|
|
||||||
package org.eclipse.cdt.core.language.settings.providers;
|
|
||||||
|
|
||||||
// TODO: move ILanguageSettingsEditableProvider here
|
|
||||||
|
|
||||||
// TODO this one is unused - remove
|
|
||||||
final public class LanguageSettingsSerializableEditable extends LanguageSettingsSerializableProvider implements ILanguageSettingsEditableProvider {
|
|
||||||
@Override
|
|
||||||
public LanguageSettingsSerializableEditable clone() throws CloneNotSupportedException {
|
|
||||||
return (LanguageSettingsSerializableEditable) super.clone();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public LanguageSettingsSerializableEditable cloneShallow() throws CloneNotSupportedException {
|
|
||||||
return (LanguageSettingsSerializableEditable) super.cloneShallow();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -265,6 +265,10 @@ public class LanguageSettingsExtensionManager {
|
||||||
if (className.equals(LanguageSettingsGenericProvider.class.getName())) {
|
if (className.equals(LanguageSettingsGenericProvider.class.getName())) {
|
||||||
return new LanguageSettingsGenericProvider();
|
return new LanguageSettingsGenericProvider();
|
||||||
}
|
}
|
||||||
|
// FIXME - older usage, will fade it out
|
||||||
|
if (className.equals("org.eclipse.cdt.internal.ui.language.settings.providers.UserLanguageSettingsProvider")) {
|
||||||
|
return new LanguageSettingsGenericProvider();
|
||||||
|
}
|
||||||
|
|
||||||
ILanguageSettingsProvider provider = createProviderCarcass(className, Platform.getExtensionRegistry());
|
ILanguageSettingsProvider provider = createProviderCarcass(className, Platform.getExtensionRegistry());
|
||||||
if (provider==null) {
|
if (provider==null) {
|
||||||
|
|
|
@ -3797,7 +3797,7 @@
|
||||||
</extension>
|
</extension>
|
||||||
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
|
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
|
||||||
<provider
|
<provider
|
||||||
class="org.eclipse.cdt.internal.ui.language.settings.providers.UserLanguageSettingsProvider"
|
class="org.eclipse.cdt.core.language.settings.providers.LanguageSettingsGenericProvider"
|
||||||
id="org.eclipse.cdt.ui.user.LanguageSettingsProvider"
|
id="org.eclipse.cdt.ui.user.LanguageSettingsProvider"
|
||||||
name="CDT User Setting Entries">
|
name="CDT User Setting Entries">
|
||||||
</provider>
|
</provider>
|
||||||
|
|
|
@ -551,7 +551,7 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
|
||||||
}
|
}
|
||||||
if (status==null || status==Status.OK_STATUS) {
|
if (status==null || status==Status.OK_STATUS) {
|
||||||
ILanguageSettingsProvider provider = getSelectedProvider();
|
ILanguageSettingsProvider provider = getSelectedProvider();
|
||||||
if (provider!=null && !(provider instanceof UserLanguageSettingsProvider)) {
|
if (provider!=null && !(provider instanceof ILanguageSettingsBroadcastingProvider)) {
|
||||||
String msg = "Setting entries for this provider are supplied by system and are not editable.";
|
String msg = "Setting entries for this provider are supplied by system and are not editable.";
|
||||||
status = new Status(IStatus.INFO, CUIPlugin.PLUGIN_ID, msg);
|
status = new Status(IStatus.INFO, CUIPlugin.PLUGIN_ID, msg);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,47 +0,0 @@
|
||||||
/*******************************************************************************
|
|
||||||
* Copyright (c) 2009, 2011 Andrew Gvozdev) and others.
|
|
||||||
* All rights reserved. This program and the accompanying materials
|
|
||||||
* are made available under the terms of the Eclipse Public License v1.0
|
|
||||||
* which accompanies this distribution, and is available at
|
|
||||||
* http://www.eclipse.org/legal/epl-v10.html
|
|
||||||
*
|
|
||||||
* Contributors:
|
|
||||||
* Andrew Gvozdev - initial API and implementation
|
|
||||||
*******************************************************************************/
|
|
||||||
|
|
||||||
package org.eclipse.cdt.internal.ui.language.settings.providers;
|
|
||||||
|
|
||||||
import org.eclipse.cdt.core.language.settings.providers.ILanguageSettingsEditableProvider;
|
|
||||||
import org.eclipse.cdt.core.language.settings.providers.LanguageSettingsSerializableProvider;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Provider to support user interface for language settings. The important difference with
|
|
||||||
* {@link LanguageSettingsSerializableProvider} is that it implements {@link ILanguageSettingsEditableProvider}.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public class UserLanguageSettingsProvider extends LanguageSettingsSerializableProvider implements ILanguageSettingsEditableProvider {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int hashCode() {
|
|
||||||
return super.hashCode()*13 + 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean equals(Object o) {
|
|
||||||
if (o instanceof UserLanguageSettingsProvider) {
|
|
||||||
return super.equals(o);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public UserLanguageSettingsProvider cloneShallow() throws CloneNotSupportedException {
|
|
||||||
return (UserLanguageSettingsProvider)super.cloneShallow();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public UserLanguageSettingsProvider clone() throws CloneNotSupportedException {
|
|
||||||
return (UserLanguageSettingsProvider)super.clone();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
Loading…
Add table
Reference in a new issue