package org.python.pydev.debug.ui; import org.eclipse.jface.preference.BooleanFieldEditor; import org.eclipse.jface.preference.FieldEditorPreferencePage; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPreferencePage; import org.python.pydev.editor.preferences.PydevEditorPrefs; import org.python.pydev.plugin.PydevPlugin; import org.python.pydev.plugin.preferences.PydevPrefs; public class RunPreferencesPage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage { public RunPreferencesPage() { super("Run", GRID); setPreferenceStore(PydevPlugin.getDefault().getPreferenceStore()); } @Override public void init(IWorkbench workbench) { } @Override protected void createFieldEditors() { Composite p = getFieldEditorParent(); BooleanFieldEditor editor = new BooleanFieldEditor(PydevEditorPrefs.KILL_SUBPROCESSES_WHEN_TERMINATING_PROCESS, "When terminating process, kill subprocesses too?", BooleanFieldEditor.SEPARATE_LABEL, p); Control c = editor.getDescriptionControl(p); c.setToolTipText("When this option is turned on, terminating a launch will also terminate subprocesses."); addField(editor); editor = new BooleanFieldEditor(PydevEditorPrefs.MAKE_LAUNCHES_WITH_M_FLAG, "Launch modules with \"python -m mod.name\" instead of \"python filename.py\"?", BooleanFieldEditor.SEPARATE_LABEL, p); c = editor.getDescriptionControl(p); c.setToolTipText( "When this option is turned on, any launch will launch using the \"-m\" flag (which allows relative imports in the main module)."); addField(editor); } public static boolean getKillSubprocessesWhenTerminatingProcess() { return PydevPrefs.getPreferences().getBoolean(PydevEditorPrefs.KILL_SUBPROCESSES_WHEN_TERMINATING_PROCESS); } public static boolean getLaunchWithMFlag() { return PydevPrefs.getPreferences().getBoolean(PydevEditorPrefs.MAKE_LAUNCHES_WITH_M_FLAG); } }