Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDarin Wright2002-03-09 20:56:24 +0000
committerDarin Wright2002-03-09 20:56:24 +0000
commit6d8236e1be9b7dc6b5a4648d963e60bbd8031660 (patch)
tree6f2921bb7fd276d6b05f2a8cd3a1c6b64c75e48f /org.eclipse.debug.ui
parentea86a172fc0fcb2bdfb822d10ae9665b361cc764 (diff)
downloadeclipse.platform.debug-6d8236e1be9b7dc6b5a4648d963e60bbd8031660.tar.gz
eclipse.platform.debug-6d8236e1be9b7dc6b5a4648d963e60bbd8031660.tar.xz
eclipse.platform.debug-6d8236e1be9b7dc6b5a4648d963e60bbd8031660.zip
favorites
Diffstat (limited to 'org.eclipse.debug.ui')
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIPlugin.java2
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DebugHistoryPreferenceTab.java7
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchHistoryPreferencePage.java9
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchHistoryPreferenceTab.java78
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/RunHistoryPreferenceTab.java8
5 files changed, 101 insertions, 3 deletions
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIPlugin.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIPlugin.java
index 33b110721..6200d2588 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIPlugin.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/DebugUIPlugin.java
@@ -803,7 +803,7 @@ public class DebugUIPlugin extends AbstractUIPlugin implements IDocumentListener
/**
* Return whether the preference is currently set to use configuration-style launching.
*/
- private boolean usingConfigurationStyleLaunching() {
+ public boolean usingConfigurationStyleLaunching() {
String launchingStyle = getPreferenceStore().getString(IDebugPreferenceConstants.LAUNCHING_STYLE);
if (IDebugPreferenceConstants.LAUNCHING_STYLE_CONFIGURATIONS.equals(launchingStyle)) {
return true;
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DebugHistoryPreferenceTab.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DebugHistoryPreferenceTab.java
index 2e91ce31d..7f7385337 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DebugHistoryPreferenceTab.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/DebugHistoryPreferenceTab.java
@@ -1,6 +1,7 @@
package org.eclipse.debug.internal.ui.launchConfigurations;
import org.eclipse.debug.core.ILaunchConfiguration;
+import org.eclipse.debug.core.ILaunchManager;
import org.eclipse.debug.internal.ui.DebugUIPlugin;
import org.eclipse.jface.viewers.IStructuredContentProvider;
import org.eclipse.jface.viewers.Viewer;
@@ -58,4 +59,10 @@ public class DebugHistoryPreferenceTab extends LaunchHistoryPreferenceTab {
return configs;
}
+ /**
+ * @see LaunchHistoryPreferenceTab#getMode()
+ */
+ protected String getMode() {
+ return ILaunchManager.DEBUG_MODE;
+ }
}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchHistoryPreferencePage.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchHistoryPreferencePage.java
index 9ff31f8b5..407a9ea11 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchHistoryPreferencePage.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchHistoryPreferencePage.java
@@ -176,5 +176,14 @@ public class LaunchHistoryPreferencePage
}
return v;
}
+
+ /**
+ * @see PreferencePage#performDefaults()
+ */
+ protected void performDefaults() {
+ getDebugTab().performDefaults();
+ getRunTab().performDefaults();
+ super.performDefaults();
+ }
}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchHistoryPreferenceTab.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchHistoryPreferenceTab.java
index 367b6d11f..3ffb416a3 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchHistoryPreferenceTab.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchHistoryPreferenceTab.java
@@ -6,10 +6,14 @@ package org.eclipse.debug.internal.ui.launchConfigurations;
*/
import java.util.ArrayList;
+import java.util.Collections;
import java.util.Iterator;
import java.util.List;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.debug.core.DebugPlugin;
import org.eclipse.debug.core.ILaunchConfiguration;
+import org.eclipse.debug.core.ILaunchManager;
import org.eclipse.debug.internal.ui.DebugUIPlugin;
import org.eclipse.debug.ui.DebugUITools;
import org.eclipse.jface.viewers.ISelectionChangedListener;
@@ -28,6 +32,9 @@ import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.dialogs.ListSelectionDialog;
+import org.eclipse.ui.model.WorkbenchViewerSorter;
+import sun.security.action.GetLongAction;
/**
* Tab for favorite and recent history lists
@@ -107,7 +114,7 @@ public abstract class LaunchHistoryPreferenceTab {
});
gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.HORIZONTAL_ALIGN_FILL);
addFav.setLayoutData(gd);
- addFav.setEnabled(true);
+ addFav.setEnabled(DebugUIPlugin.getDefault().usingConfigurationStyleLaunching());
fRemoveFavoritesButton = new Button(buttonComp, SWT.PUSH);
fRemoveFavoritesButton.setText("Re&move");
@@ -275,6 +282,20 @@ public abstract class LaunchHistoryPreferenceTab {
* The 'add favorites' button has been pressed
*/
protected void handleAddFavoriteButtonSelected() {
+
+
+ ListSelectionDialog dialog = new ListSelectionDialog(fFavoritesTable.getControl().getShell(),
+ getMode(), new LaunchConfigurationContentProvider(), DebugUITools.newDebugModelPresentation(),
+ "Select Launch Configurations");
+ dialog.open();
+ Object[] selection = dialog.getResult();
+ if (selection != null) {
+ for (int i = 0; i < selection.length; i++) {
+ getFavorites().add(selection[i]);
+ getRecents().remove(selection[i]);
+ }
+ }
+ updateStatus();
}
/**
@@ -343,12 +364,17 @@ public abstract class LaunchHistoryPreferenceTab {
getFavoritesTable().refresh();
getRecentTable().refresh();
}
+
+ /**
+ * Returns the mode of this page - run or debug.
+ */
+ protected abstract String getMode();
/**
* Returns the label for the favorites table.
*/
protected abstract String getFavoritesLabel();
-
+
/**
* Returns the initial content for the favorites list
*/
@@ -405,6 +431,35 @@ public abstract class LaunchHistoryPreferenceTab {
}
/**
+ * Content provider for recent table
+ */
+ protected class LaunchConfigurationContentProvider extends FavoritesContentProvider {
+
+ /**
+ * @see IStructuredContentProvider#getElements(Object)
+ */
+ public Object[] getElements(Object inputElement) {
+ ILaunchConfiguration[] all = DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurations();
+ List list = new ArrayList(all.length);
+ String mode = (String)inputElement;
+ for (int i = 0; i < all.length; i++) {
+ try {
+ if (all[i].getType().supportsMode(mode)) {
+ list.add(all[i]);
+ }
+ } catch (CoreException e) {
+ // ignore
+ }
+ }
+ list.removeAll(getFavorites());
+ Object[] objs = list.toArray();
+ new WorkbenchViewerSorter().sort(getFavoritesTable(), objs);
+ return objs;
+ }
+
+ }
+
+ /**
* Returns the current list of favorites.
*/
protected List getFavorites() {
@@ -436,4 +491,23 @@ public abstract class LaunchHistoryPreferenceTab {
list.add(array[i]);
}
}
+
+ /**
+ * Restores defaults
+ */
+ protected void performDefaults() {
+ fFavorites = null;
+ fRecents = null;
+ updateStatus();
+ }
+
+ /**
+ * Refresh all tables and buttons
+ */
+ protected void updateStatus() {
+ getFavoritesTable().refresh();
+ getRecentTable().refresh();
+ handleFavoriteSelectionChanged();
+ handleRecentSelectionChanged();
+ }
}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/RunHistoryPreferenceTab.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/RunHistoryPreferenceTab.java
index bbd00beac..590958d4d 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/RunHistoryPreferenceTab.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/RunHistoryPreferenceTab.java
@@ -1,6 +1,7 @@
package org.eclipse.debug.internal.ui.launchConfigurations;
import org.eclipse.debug.core.ILaunchConfiguration;
+import org.eclipse.debug.core.ILaunchManager;
import org.eclipse.debug.internal.ui.DebugUIPlugin;
import org.eclipse.jface.viewers.IStructuredContentProvider;
import org.eclipse.jface.viewers.Viewer;
@@ -58,4 +59,11 @@ public class RunHistoryPreferenceTab extends LaunchHistoryPreferenceTab {
return configs;
}
+ /**
+ * @see LaunchHistoryPreferenceTab#getMode()
+ */
+ protected String getMode() {
+ return ILaunchManager.RUN_MODE;
+ }
+
}

Back to the top