package org.eclipse.dltk.ruby.internal.debug.ui.preferences; import org.eclipse.core.resources.IProject; import org.eclipse.dltk.debug.ui.preferences.AbstractDebuggingEngineOptionsBlock; import org.eclipse.dltk.ruby.core.RubyNature; import org.eclipse.dltk.ruby.debug.RubyDebugConstants; import org.eclipse.dltk.ruby.debug.RubyDebugPlugin; import org.eclipse.dltk.ui.PreferencesAdapter; import org.eclipse.dltk.ui.preferences.AbstractConfigurationBlockPropertyAndPreferencePage; import org.eclipse.dltk.ui.preferences.AbstractOptionsBlock; import org.eclipse.dltk.ui.preferences.PreferenceKey; import org.eclipse.dltk.ui.util.IStatusChangeListener; import org.eclipse.ui.preferences.IWorkbenchPreferenceContainer; /** * Preference page for Ruby debugging engines */ public class RubyDebuggingEnginePreferencePage extends AbstractConfigurationBlockPropertyAndPreferencePage { static PreferenceKey DEBUGGING_ENGINE = new PreferenceKey( RubyDebugPlugin.PLUGIN_ID, RubyDebugConstants.DEBUGGING_ENGINE_ID_KEY); private static final String PREFERENCE_PAGE_ID = "org.eclipse.dltk.ruby.preferences.debug.engines"; //$NON-NLS-1$ private static final String PROPERTY_PAGE_ID = "org.eclipse.dltk.ruby.propertyPage.debug.engines"; //$NON-NLS-1$ @Override protected AbstractOptionsBlock createOptionsBlock( IStatusChangeListener newStatusChangedListener, IProject project, IWorkbenchPreferenceContainer container) { return new AbstractDebuggingEngineOptionsBlock( newStatusChangedListener, project, getKeys(), container) { @Override protected String getNatureId() { return RubyNature.NATURE_ID; } @Override protected PreferenceKey getSavedContributionKey() { return DEBUGGING_ENGINE; } }; } @Override protected String getHelpId() { // TODO Auto-generated method stub return null; } @Override protected String getNatureId() { return RubyNature.NATURE_ID; } @Override protected String getPreferencePageId() { return PREFERENCE_PAGE_ID; } @Override protected String getProjectHelpId() { // TODO Auto-generated method stub return null; } @Override protected String getPropertyPageId() { return PROPERTY_PAGE_ID; } @Override protected void setDescription() { setDescription(RubyDebugPreferencesMessages.RubyDebugEnginePreferencePage_description); } @Override protected void setPreferenceStore() { setPreferenceStore(new PreferencesAdapter(RubyDebugPlugin.getDefault() .getPluginPreferences())); } private PreferenceKey[] getKeys() { return new PreferenceKey[] { DEBUGGING_ENGINE }; } }