blob: 2d61522aaf80b152d433171f578c3c33dd1aa86e [file] [log] [blame]
package org.eclipse.dltk.python.internal.debug.ui.preferences;
import org.eclipse.core.resources.IProject;
import org.eclipse.dltk.debug.core.DLTKDebugPreferenceConstants;
import org.eclipse.dltk.debug.ui.preferences.AbstractDebuggingOptionsBlock;
import org.eclipse.dltk.python.core.PythonNature;
import org.eclipse.dltk.python.internal.debug.PythonDebugPlugin;
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;
/**
* Python debug preference page
*/
public class PythonDebugPreferencePage extends
AbstractConfigurationBlockPropertyAndPreferencePage {
private static PreferenceKey BREAK_ON_FIRST_LINE = new PreferenceKey(
PythonDebugPlugin.PLUGIN_ID,
DLTKDebugPreferenceConstants.PREF_DBGP_BREAK_ON_FIRST_LINE);
private static PreferenceKey ENABLE_DBGP_LOGGING = new PreferenceKey(
PythonDebugPlugin.PLUGIN_ID,
DLTKDebugPreferenceConstants.PREF_DBGP_ENABLE_LOGGING);
private static final String PREFERENCE_PAGE_ID = "org.eclipse.dltk.python.preferences.debug";
private static final String PROPERTY_PAGE_ID = "org.eclipse.dltk.python.propertyPage.debug";
@Override
protected AbstractOptionsBlock createOptionsBlock(
IStatusChangeListener newStatusChangedListener, IProject project,
IWorkbenchPreferenceContainer container) {
return new AbstractDebuggingOptionsBlock(newStatusChangedListener, project,
getKeys(), container) {
@Override
protected PreferenceKey getBreakOnFirstLineKey() {
return BREAK_ON_FIRST_LINE;
}
@Override
protected PreferenceKey getDbgpLoggingEnabledKey() {
return ENABLE_DBGP_LOGGING;
}
};
}
protected PreferenceKey[] getKeys() {
return new PreferenceKey[] { BREAK_ON_FIRST_LINE, ENABLE_DBGP_LOGGING };
}
@Override
protected String getHelpId() {
// TODO Auto-generated method stub
return null;
}
@Override
protected String getNatureId() {
return PythonNature.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(PythonDebugPreferencesMessages.PythonDebugPreferencePage_description);
}
@Override
protected void setPreferenceStore() {
setPreferenceStore(new PreferencesAdapter(PythonDebugPlugin
.getDefault().getPluginPreferences()));
}
}