Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDarin Wright2004-02-25 03:55:57 +0000
committerDarin Wright2004-02-25 03:55:57 +0000
commitb114e1a1fc77b92e2f782d90d9db441a568572d3 (patch)
tree0301677448f4c9a877c2163c3ca2afdd9516d90f /org.eclipse.ui.console
parent9667bc35eb93411f738818b33e8439a2d8fae911 (diff)
downloadeclipse.platform.debug-b114e1a1fc77b92e2f782d90d9db441a568572d3.tar.gz
eclipse.platform.debug-b114e1a1fc77b92e2f782d90d9db441a568572d3.tar.xz
eclipse.platform.debug-b114e1a1fc77b92e2f782d90d9db441a568572d3.zip
Bug 52607 - console: no action when drop down is pressed
Diffstat (limited to 'org.eclipse.ui.console')
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleDropDownAction.java8
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleView.java19
2 files changed, 26 insertions, 1 deletions
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleDropDownAction.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleDropDownAction.java
index bcaf5388a..76f93c420 100644
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleDropDownAction.java
+++ b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleDropDownAction.java
@@ -11,6 +11,8 @@
package org.eclipse.ui.internal.console;
+import java.util.List;
+
import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.ActionContributionItem;
import org.eclipse.jface.action.IMenuCreator;
@@ -104,7 +106,11 @@ class ConsoleDropDownAction extends Action implements IMenuCreator, IConsoleList
* @see org.eclipse.jface.action.IAction#run()
*/
public void run() {
- // do nothing - this is a menu
+ List stack = ((ConsoleView)fView).getConsoleStack();
+ if (stack.size() > 1) {
+ IConsole console = (IConsole) stack.get(1);
+ fView.display(console);
+ }
}
/* (non-Javadoc)
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleView.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleView.java
index 00534c0d0..1049bdedf 100644
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleView.java
+++ b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleView.java
@@ -11,7 +11,9 @@
package org.eclipse.ui.internal.console;
import java.text.MessageFormat;
+import java.util.ArrayList;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import org.eclipse.jface.action.IToolBarManager;
@@ -50,6 +52,11 @@ public class ConsoleView extends PageBookView implements IConsoleView, IConsoleL
private boolean fPinned = false;
/**
+ * Stack of consoles in MRU order
+ */
+ private List fStack = new ArrayList();
+
+ /**
* The console being displayed, or <code>null</code> if none
*/
private IConsole fActiveConsole = null;
@@ -114,6 +121,8 @@ public class ConsoleView extends PageBookView implements IConsoleView, IConsoleL
if (!isPinned()) {
super.showPageRec(pageRec);
fActiveConsole = (IConsole)fPartToConsole.get(pageRec.part);
+ fStack.remove(fActiveConsole);
+ fStack.add(0,fActiveConsole);
updateTitle();
// update console actions
if (fPinAction != null) {
@@ -121,6 +130,15 @@ public class ConsoleView extends PageBookView implements IConsoleView, IConsoleL
}
}
}
+
+ /**
+ * Returns a stack of consoles in the view in MRU order.
+ *
+ * @return a stack of consoles in the view in MRU order
+ */
+ protected List getConsoleStack() {
+ return fStack;
+ }
/**
* Updates the view title based on the active console
@@ -224,6 +242,7 @@ public class ConsoleView extends PageBookView implements IConsoleView, IConsoleL
for (int i = 0; i < consoles.length; i++) {
if (isAvailable()) {
IConsole console = consoles[i];
+ fStack.remove(console);
ConsoleWorkbenchPart part = (ConsoleWorkbenchPart)fConsoleToPart.get(console);
if (part != null) {
partClosed(part);

Back to the top