1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-03 07:05:24 +02:00

Removed UserLanguageSettingsProvider in favor of

LanguageSettingsGenericProvider
This commit is contained in:
Andrew Gvozdev 2011-11-26 19:57:11 -05:00
parent 0962b1efbb
commit 7250f46995
7 changed files with 20 additions and 82 deletions

View file

@ -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);
}
}

View file

@ -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
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@ -12,17 +12,17 @@
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
public LanguageSettingsGenericProvider clone() throws CloneNotSupportedException {
return (LanguageSettingsGenericProvider) super.clone();
}
@Override
public LanguageSettingsGenericProvider cloneShallow() throws CloneNotSupportedException {
return (LanguageSettingsGenericProvider) super.cloneShallow();
}
}

View file

@ -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();
}
}

View file

@ -265,6 +265,10 @@ public class LanguageSettingsExtensionManager {
if (className.equals(LanguageSettingsGenericProvider.class.getName())) {
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());
if (provider==null) {

View file

@ -3797,7 +3797,7 @@
</extension>
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
<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"
name="CDT User Setting Entries">
</provider>

View file

@ -551,7 +551,7 @@ public class LanguageSettingsEntriesTab extends AbstractCPropertyTab {
}
if (status==null || status==Status.OK_STATUS) {
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.";
status = new Status(IStatus.INFO, CUIPlugin.PLUGIN_ID, msg);
}

View file

@ -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();
}
}