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