Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchConfigurationsPreferencePage.java')
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchConfigurationsPreferencePage.java396
1 files changed, 0 insertions, 396 deletions
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchConfigurationsPreferencePage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchConfigurationsPreferencePage.java
deleted file mode 100644
index b0850b8eb..000000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/preferences/LaunchConfigurationsPreferencePage.java
+++ /dev/null
@@ -1,396 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2009 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
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.preferences;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.internal.core.Preferences;
-import org.eclipse.debug.internal.core.IInternalDebugCoreConstants;
-import org.eclipse.debug.internal.core.LaunchManager;
-import org.eclipse.debug.internal.ui.AbstractDebugCheckboxSelectionDialog;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
-import org.eclipse.debug.internal.ui.SWTFactory;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchCategoryFilter;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.preference.BooleanFieldEditor;
-import org.eclipse.jface.preference.FieldEditor;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.IBaseLabelProvider;
-import org.eclipse.jface.viewers.IContentProvider;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.wizard.ProgressMonitorPart;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.model.AdaptableList;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchViewerComparator;
-
-/**
- * Provides the Launch Configuration preference page to the Run/Debug preferences
- *
- * This page allows users to set filtering options as well as perform migration tasks.
- * This class is not intended to be sub-classed
- * @since 3.2
- */
-public class LaunchConfigurationsPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-
- /**
- * Creates a dialog that allows users to select one or more projects to migrate.
- * @since 3.2
- */
- class LaunchConfigurationMigrationSelectionDialog extends AbstractDebugCheckboxSelectionDialog {
-
- private Object fInput;
-
- public LaunchConfigurationMigrationSelectionDialog(Shell parentShell, Object input) {
- super(parentShell);
- fInput = input;
- setShellStyle(getShellStyle() | SWT.RESIZE);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.ui.launchConfigurations.AbstractDebugSelectionDialog#getDialogSettingsId()
- */
- protected String getDialogSettingsId() {
- return IDebugUIConstants.PLUGIN_ID + ".MIGRATION_SELECTION_DIALOG"; //$NON-NLS-1$
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.ui.launchConfigurations.AbstractDebugSelectionDialog#getHelpContextId()
- */
- protected String getHelpContextId() {
- return IDebugHelpContextIds.SELECT_LAUNCH_CONFIGURATION_MIGRATION_DIALOG;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.ui.launchConfigurations.AbstractDebugSelectionDialog#getViewerInput()
- */
- protected Object getViewerInput() {
- return fInput;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.ui.launchConfigurations.AbstractDebugSelectionDialog#getViewerLabel()
- */
- protected String getViewerLabel() {
- return DebugPreferencesMessages.LaunchingPreferencePage_0;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.ui.launchConfigurations.AbstractDebugSelectionDialog#getContentProvider()
- */
- protected IContentProvider getContentProvider() {
- return new WorkbenchContentProvider();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.ui.launchConfigurations.AbstractDebugSelectionDialog#getLabelProvider()
- */
- protected IBaseLabelProvider getLabelProvider() {
- return DebugUITools.newDebugModelPresentation();
- }
- }
-
- /**
- * Content provider for the launch configuration type table
- */
- class TableContentProvider implements IStructuredContentProvider {
-
- public Object[] getElements(Object inputElement) {
- return getLaunchConfigurationTypes();
- }
-
- public void dispose() {}
-
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {}
- }
-
- /**
- * to monitor the progress of the migration process
- */
- private ProgressMonitorPart fMonitor;
-
- /**
- * the migrate now button
- */
- private Button fMigrateNow;
-
- /**
- * a list of the field editors
- */
- private List fFieldEditors;
-
- /**
- * Boolean editor for debug core plug-in preference
- */
- private Button fDeleteConfigs;
-
- /**
- * The table for the launch configuration types
- */
- private Table fTable;
-
- /**
- * Constructor
- */
- public LaunchConfigurationsPreferencePage() {
- super();
- setPreferenceStore(DebugUIPlugin.getDefault().getPreferenceStore());
- setTitle(DebugPreferencesMessages.LaunchConfigurationsPreferencePage_1);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.preference.PreferencePage#createControl(org.eclipse.swt.widgets.Composite)
- */
- public void createControl(Composite parent) {
- super.createControl(parent);
- PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), IDebugHelpContextIds.LAUNCH_CONFIGURATION_PREFERENCE_PAGE);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
- */
- protected Control createContents(Composite parent) {
- fFieldEditors = new ArrayList();
- Composite comp = SWTFactory.createComposite(parent, parent.getFont(), 1, 1, GridData.FILL_HORIZONTAL);
- //filtering options
- Group group = SWTFactory.createGroup(comp, DebugPreferencesMessages.LaunchingPreferencePage_32, 1, 1, GridData.FILL_HORIZONTAL);
- Composite spacer = SWTFactory.createComposite(group, group.getFont(), 1, 1, GridData.FILL_HORIZONTAL);
- FieldEditor edit = new BooleanFieldEditor(IInternalDebugUIConstants.PREF_FILTER_LAUNCH_CLOSED, DebugPreferencesMessages.LaunchingPreferencePage_33, SWT.NONE, spacer);
- fFieldEditors.add(edit);
- edit = new BooleanFieldEditor(IInternalDebugUIConstants.PREF_FILTER_LAUNCH_DELETED, DebugPreferencesMessages.LaunchingPreferencePage_34, SWT.NONE, spacer);
- fFieldEditors.add(edit);
- edit = new BooleanFieldEditor(IInternalDebugUIConstants.PREF_FILTER_WORKING_SETS, DebugPreferencesMessages.LaunchConfigurationsPreferencePage_3, SWT.NONE, spacer);
- fFieldEditors.add(edit);
- fDeleteConfigs = SWTFactory.createCheckButton(comp, DebugPreferencesMessages.LaunchConfigurationsPreferencePage_2, null, false, 3);
-
- //add table options
- createTypeFiltering(group);
-
- //migration
- group = SWTFactory.createGroup(comp, DebugPreferencesMessages.LaunchingPreferencePage_35, 1, 1, GridData.FILL_HORIZONTAL);
- Label label = new Label(group, SWT.LEFT | SWT.WRAP);
- GridData gd = new GridData(GridData.FILL_HORIZONTAL);
- gd.widthHint = 350;
- label.setLayoutData(gd);
- label.setText(DebugPreferencesMessages.LaunchingPreferencePage_26);
- label.setFont(parent.getFont());
- fMigrateNow = SWTFactory.createPushButton(group, DebugPreferencesMessages.LaunchingPreferencePage_27, null);
- gd = new GridData(SWT.BEGINNING);
-
- fMigrateNow.setLayoutData(gd);
- fMigrateNow.addSelectionListener(new SelectionListener() {
- public void widgetDefaultSelected(SelectionEvent e) {}
- public void widgetSelected(SelectionEvent e) {
- handleMigrateNowSelected();
- }
- });
-
- //init field editors
- initFieldEditors();
- fTable.setEnabled(getPreferenceStore().getBoolean(IInternalDebugUIConstants.PREF_FILTER_LAUNCH_TYPES));
- return comp;
- }
-
- /**
- * @param parent the parent to add this composite to
- * @return the new composite with the type selection table in it
- */
- private Composite createTypeFiltering(Composite parent) {
- Composite comp = SWTFactory.createComposite(parent, parent.getFont(), 1, 1, GridData.FILL_HORIZONTAL);
- BooleanFieldEditor2 editor = new BooleanFieldEditor2(IInternalDebugUIConstants.PREF_FILTER_LAUNCH_TYPES, DebugPreferencesMessages.LaunchConfigurationsPreferencePage_0, SWT.NONE, comp);
- editor.setPropertyChangeListener(new IPropertyChangeListener() {
- public void propertyChange(PropertyChangeEvent event) {
- boolean newvalue = false;
- if(event.getNewValue() instanceof Boolean) {
- newvalue = ((Boolean)event.getNewValue()).booleanValue();
- }
- else {
- newvalue = Boolean.valueOf(event.getNewValue().toString()).booleanValue();
- }
- if(newvalue) {
- fTable.setEnabled(true);
- }
- else {
- fTable.setEnabled(false);
- }
- }
- });
- fFieldEditors.add(editor);
- fTable = new Table(comp, SWT.CHECK | SWT.BORDER);
- GridData gd = new GridData(GridData.FILL_HORIZONTAL);
- gd.heightHint = 155;
- fTable.setLayoutData(gd);
- CheckboxTableViewer tviewer = new CheckboxTableViewer(fTable);
- tviewer.setLabelProvider(DebugUITools.newDebugModelPresentation());
- tviewer.setContentProvider(new TableContentProvider());
- tviewer.setComparator(new WorkbenchViewerComparator());
- // filter external tool builders
- tviewer.addFilter(new LaunchCategoryFilter(IInternalDebugUIConstants.ID_EXTERNAL_TOOL_BUILDER_LAUNCH_CATEGORY));
- tviewer.setInput(getLaunchConfigurationTypes());
- fTable.setFont(parent.getFont());
- return comp;
- }
-
- /**
- * returns the launch configuration types
- * @return the launch configuration types
- */
- private ILaunchConfigurationType[] getLaunchConfigurationTypes() {
- return DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurationTypes();
- }
-
- /**
- * handles the Migrate button being clicked
- *
- * @since 3.2
- */
- private void handleMigrateNowSelected() {
- try {
- ILaunchManager lmanager = DebugPlugin.getDefault().getLaunchManager();
- ILaunchConfiguration[] configurations = lmanager.getMigrationCandidates();
- //separate the private from the public
- List pub = new ArrayList();
- for(int i = 0; i < configurations.length; i++) {
- if(DebugUITools.isPrivate(configurations[i])) {
- //auto-migrate private ones
- configurations[i].migrate();
- }
- else {
- pub.add(configurations[i]);
- }
- }
- if(pub.size() == 0) {
- MessageDialog.openInformation(getShell(), DebugPreferencesMessages.LaunchingPreferencePage_29, DebugPreferencesMessages.LaunchingPreferencePage_30);
- return;
- }
- LaunchConfigurationMigrationSelectionDialog listd = new LaunchConfigurationMigrationSelectionDialog(getShell(),new AdaptableList(pub));
- listd.setTitle(DebugPreferencesMessages.LaunchingPreferencePage_28);
- listd.setInitialSelections(configurations);
- if(listd.open() == IDialogConstants.OK_ID) {
- fMonitor = new ProgressMonitorPart(fMigrateNow.getParent(), new GridLayout());
- Object[] objs = listd.getResult();
- fMonitor.beginTask(DebugPreferencesMessages.LaunchingPreferencePage_31, objs.length);
- for(int i = 0; i < objs.length; i++) {
- if(objs[i] instanceof ILaunchConfiguration) {
- ((ILaunchConfiguration)objs[i]).migrate();
- }
- fMonitor.worked(1);
- }
- fMonitor.done();
- fMonitor.dispose();
- }
- }
- catch (CoreException e) {DebugUIPlugin.log(e);}
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
- */
- public void init(IWorkbench workbench) {}
-
- /**
- * Initializes the field editors to their values
- * @since 3.2
- */
- private void initFieldEditors() {
- FieldEditor editor;
- for(int i = 0; i < fFieldEditors.size(); i++) {
- editor = (FieldEditor)fFieldEditors.get(i);
- editor.setPreferenceStore(getPreferenceStore());
- editor.load();
- }
- fDeleteConfigs.setSelection(
- Platform.getPreferencesService().getBoolean(DebugPlugin.getUniqueIdentifier(),
- LaunchManager.PREF_DELETE_CONFIGS_ON_PROJECT_DELETE, true, null));
- //restore the tables' checked state
- String[] types = getPreferenceStore().getString(IInternalDebugUIConstants.PREF_FILTER_TYPE_LIST).split("\\,"); //$NON-NLS-1$
- TableItem[] items = fTable.getItems();
- ILaunchConfigurationType type;
- for(int i = 0; i < types.length; i++) {
- for(int j = 0; j < items.length; j++) {
- type = (ILaunchConfigurationType)items[j].getData();
- if(type.getIdentifier().equals(types[i])) {
- items[j].setChecked(true);
- }
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.preference.PreferencePage#performDefaults()
- */
- protected void performDefaults() {
- fDeleteConfigs.setSelection(Preferences.getDefaultBoolean(DebugPlugin.getUniqueIdentifier(), LaunchManager.PREF_DELETE_CONFIGS_ON_PROJECT_DELETE, true));
- FieldEditor editor = null;
- for(int i = 0; i < fFieldEditors.size(); i++) {
- editor = (FieldEditor)fFieldEditors.get(i);
- editor.loadDefault();
- if(editor instanceof BooleanFieldEditor2) {
- fTable.setEnabled(((BooleanFieldEditor2)editor).getBooleanValue());
- }
- }
-
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.preference.PreferencePage#performOk()
- */
- public boolean performOk() {
- //save field editors
- for(int i = 0; i < fFieldEditors.size(); i++) {
- ((FieldEditor)fFieldEditors.get(i)).store();
- }
- Preferences.setBoolean(DebugPlugin.getUniqueIdentifier(), LaunchManager.PREF_DELETE_CONFIGS_ON_PROJECT_DELETE, fDeleteConfigs.getSelection(), null);
- //save table
- String types = IInternalDebugCoreConstants.EMPTY_STRING;
- TableItem[] items = fTable.getItems();
- ILaunchConfigurationType type;
- for(int i = 0; i < items.length; i++) {
- if(items[i].getChecked()) {
- type = (ILaunchConfigurationType)items[i].getData();
- types += type.getIdentifier()+","; //$NON-NLS-1$
- }
- }
- getPreferenceStore().setValue(IInternalDebugUIConstants.PREF_FILTER_TYPE_LIST, types);
- return super.performOk();
- }
-}

Back to the top