diff options
author | Darin Wright | 2004-02-25 03:55:57 +0000 |
---|---|---|
committer | Darin Wright | 2004-02-25 03:55:57 +0000 |
commit | b114e1a1fc77b92e2f782d90d9db441a568572d3 (patch) | |
tree | 0301677448f4c9a877c2163c3ca2afdd9516d90f /org.eclipse.ui.console | |
parent | 9667bc35eb93411f738818b33e8439a2d8fae911 (diff) | |
download | eclipse.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.java | 8 | ||||
-rw-r--r-- | org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleView.java | 19 |
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); |