/*******************************************************************************
* Copyright (c) 2005, 2007 IBM Corporation 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
*
*******************************************************************************/
package org.eclipse.dltk.tcl.activestatedebugger.preferences;
import org.eclipse.core.resources.IProject;
import org.eclipse.dltk.tcl.activestatedebugger.TclActiveStateDebuggerConstants;
import org.eclipse.dltk.tcl.activestatedebugger.TclActiveStateDebuggerPlugin;
import org.eclipse.dltk.tcl.core.TclNature;
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;
/**
* Tcl ActiveState debugging engine preference page
*/
public class TclActiveStateDebuggerPreferencePage extends
AbstractConfigurationBlockPropertyAndPreferencePage {
static final PreferenceKey ENGINE_PATH = new PreferenceKey(
TclActiveStateDebuggerPlugin.PLUGIN_ID,
TclActiveStateDebuggerConstants.DEBUGGING_ENGINE_PATH_KEY);
static final PreferenceKey PDX_PATH = new PreferenceKey(
TclActiveStateDebuggerPlugin.PLUGIN_ID,
TclActiveStateDebuggerConstants.DEBUGGING_ENGINE_PDX_PATH_KEY);
static final PreferenceKey LOG_ENABLE = new PreferenceKey(
TclActiveStateDebuggerPlugin.PLUGIN_ID,
TclActiveStateDebuggerConstants.LOG_ENABLE_KEY);
static final PreferenceKey LOG_FILE_NAME = new PreferenceKey(
TclActiveStateDebuggerPlugin.PLUGIN_ID,
TclActiveStateDebuggerConstants.LOG_FILE_NAME);
static final PreferenceKey INSTRUMENTATION_FEATURES = new PreferenceKey(
TclActiveStateDebuggerPlugin.PLUGIN_ID,
TclActiveStateDebuggerConstants.INSTRUMENTATION_FEATURES);
static final PreferenceKey INSTRUMENTATION_ERROR_ACTION = new PreferenceKey(
TclActiveStateDebuggerPlugin.PLUGIN_ID,
TclActiveStateDebuggerConstants.INSTRUMENTATION_ERROR_ACTION);
static final PreferenceKey INSTRUMENTATION_PATTERNS = new PreferenceKey(
TclActiveStateDebuggerPlugin.PLUGIN_ID,
TclActiveStateDebuggerConstants.INSTRUMENTATION_PATTERNS);
static final PreferenceKey PREF_SPAWNPOINTS = new PreferenceKey(
TclActiveStateDebuggerPlugin.PLUGIN_ID,
TclActiveStateDebuggerConstants.PREF_SPAWNPOINT_COMMANDS);
private static final String PREFERENCE_PAGE_ID = "org.eclipse.dltk.tcl.preferences.debug.activestatedebugger"; //$NON-NLS-1$
private static final String PROPERTY_PAGE_ID = "org.eclipse.dltk.tcl.propertyPage.debug.engines.activestatedebugger"; //$NON-NLS-1$
public TclActiveStateDebuggerPreferencePage() {
noDefaultAndApplyButton();
}
protected AbstractOptionsBlock createOptionsBlock(
IStatusChangeListener newStatusChangedListener, IProject project,
IWorkbenchPreferenceContainer container) {
final PreferenceKey[] keys = new PreferenceKey[] { ENGINE_PATH,
PDX_PATH, LOG_ENABLE, LOG_FILE_NAME, INSTRUMENTATION_FEATURES,
INSTRUMENTATION_ERROR_ACTION, INSTRUMENTATION_PATTERNS,
PREF_SPAWNPOINTS };
return new TclActiveStateDebuggerBlock(newStatusChangedListener,
project, keys, container);
}
protected String getHelpId() {
return null;
}
protected String getPreferencePageId() {
return PREFERENCE_PAGE_ID;
}
protected String getProjectHelpId() {
// TODO Auto-generated method stub
return null;
}
protected String getPropertyPageId() {
return PROPERTY_PAGE_ID;
}
protected String getNatureId() {
return TclNature.NATURE_ID;
}
protected void setDescription() {
setDescription(PreferenceMessages.DebuggingEngineDescription);
}
protected void setPreferenceStore() {
setPreferenceStore(TclActiveStateDebuggerPlugin.getDefault()
.getPreferenceStore());
}
}