diff options
author | Kevin Barnes | 2004-09-08 21:51:19 +0000 |
---|---|---|
committer | Kevin Barnes | 2004-09-08 21:51:19 +0000 |
commit | 8320e1987a00cf46cc94adfaf8699648d7059882 (patch) | |
tree | 49078930f8795cf77f7b2abf07b05b07a9c018bc | |
parent | 799bebbe83dfb9161b2a59f08780428560c7e75e (diff) | |
download | eclipse.platform.debug-8320e1987a00cf46cc94adfaf8699648d7059882.tar.gz eclipse.platform.debug-8320e1987a00cf46cc94adfaf8699648d7059882.tar.xz eclipse.platform.debug-8320e1987a00cf46cc94adfaf8699648d7059882.zip |
Bug 56252 - [Generic Console] no support for enabled/disabled lifecycles
12 files changed, 104 insertions, 7 deletions
diff --git a/org.eclipse.debug.ui/plugin.xml b/org.eclipse.debug.ui/plugin.xml index 5b230c0cf..b16a38624 100644 --- a/org.eclipse.debug.ui/plugin.xml +++ b/org.eclipse.debug.ui/plugin.xml @@ -1915,6 +1915,12 @@ M4 = Platform-specific fourth key class="org.eclipse.debug.internal.ui.actions.LaunchablePropertyTester" id="org.eclipse.debug.ui.propertyTesters.launchable"> </propertyTester> + <propertyTester + namespace="org.eclipse.debug.ui" + type="org.eclipse.ui.console.IOConsole" + class="org.eclipse.debug.internal.ui.views.console.JavaConsoleTrackerPropertyTester" + properties="processTypeTest" + id="org.eclipse.jdt.debug.ui.JavaConsolePropertyTester"/> </extension> <!-- Context extensions --> <extension diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/JavaConsoleTrackerPropertyTester.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/JavaConsoleTrackerPropertyTester.java new file mode 100644 index 000000000..060e3a0be --- /dev/null +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/JavaConsoleTrackerPropertyTester.java @@ -0,0 +1,39 @@ +/******************************************************************************* + * Copyright (c) 2000, 2004 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Common Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/cpl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.debug.internal.ui.views.console; + +import org.eclipse.core.expressions.PropertyTester; +import org.eclipse.debug.core.model.IProcess; +import org.eclipse.debug.ui.IDebugUIConstants; +import org.eclipse.ui.console.IOConsole; + +/** + * Tests if a process type matches the expected value. + * + * @since 3.1 + */ +public class JavaConsoleTrackerPropertyTester extends PropertyTester { + + /* (non-Javadoc) + * @see org.eclipse.core.expressions.IPropertyTester#test(java.lang.Object, java.lang.String, java.lang.Object[], java.lang.Object) + */ + public boolean test(Object receiver, String property, Object[] args, Object expectedValue) { + boolean testPassed = false; + IOConsole console = (IOConsole) receiver; + IProcess process = (IProcess) console.getAttribute(IDebugUIConstants.ATTR_CONSOLE_PROCESS); + if (process != null) { + String type = process.getAttribute(IProcess.ATTR_PROCESS_TYPE); + testPassed = (type != null && type.equals(expectedValue)); + } + return testPassed; + } + +} diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsole.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsole.java index f410517e9..2407b15dc 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsole.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsole.java @@ -61,8 +61,6 @@ import org.eclipse.ui.console.IOConsoleOutputStream; * @since 3.0 */ public class ProcessConsole extends IOConsole implements IConsole, IDebugEventSetListener, IPropertyChangeListener { - public static final String TYPE = "org.eclipse.debug.ProcessConsole"; //$NON-NLS-1$ - private IProcess fProcess = null; private List streamListeners = new ArrayList(); private IConsoleColorProvider fColorProvider; @@ -73,7 +71,7 @@ public class ProcessConsole extends IOConsole implements IConsole, IDebugEventSe * Proxy to a console document */ public ProcessConsole(IProcess process, IConsoleColorProvider colorProvider) { - super("", TYPE, null); //$NON-NLS-1$ + super("", IDebugUIConstants.ID_PROCESS_CONSOLE_TYPE, null); //$NON-NLS-1$ fProcess = process; fColorProvider = colorProvider; diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsoleManager.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsoleManager.java index e253d59c0..c6d0e6e5f 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsoleManager.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsoleManager.java @@ -143,6 +143,7 @@ public class ProcessConsoleManager implements ILaunchListener { //create a new console. IConsoleColorProvider colorProvider = getColorProvider(process.getAttribute(IProcess.ATTR_PROCESS_TYPE)); ProcessConsole pc = new ProcessConsole(process, colorProvider); + pc.setAttribute(IDebugUIConstants.ATTR_CONSOLE_PROCESS, process); //add new console to console manager. ConsolePlugin.getDefault().getConsoleManager().addConsoles(new IConsole[]{pc}); } diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugUIConstants.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugUIConstants.java index a5b343517..d0ce30aab 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugUIConstants.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugUIConstants.java @@ -112,7 +112,12 @@ public interface IDebugUIConstants { * Debug perspective identifier (value <code>"org.eclipse.debug.ui.DebugPerspective"</code>). */ public static final String ID_DEBUG_PERSPECTIVE = PLUGIN_ID + ".DebugPerspective"; //$NON-NLS-1$ - + + /** + * Console type identifier (value <code>"org.eclipse.debug.ui.ProcessConsoleType"</code>). + */ + public static final String ID_PROCESS_CONSOLE_TYPE = PLUGIN_ID + ".ProcessConsoleType"; //$NON-NLS-1$ + /** * Constant for referring to no perspective. */ @@ -789,6 +794,13 @@ public interface IDebugUIConstants { */ public static final String ATTR_LAUNCH_IN_BACKGROUND = PLUGIN_ID + ".ATTR_LAUNCH_IN_BACKGROUND"; //$NON-NLS-1$ + /** + * ProcessConsole attribute - references the process that was launched. + * + * @since 3.1 + */ + public static final String ATTR_CONSOLE_PROCESS = PLUGIN_ID + ".ATTR_CONSOLE_PROCESS"; //$NON-NLS-1$ + // Extension points /** diff --git a/org.eclipse.ui.console/icons/full/elcl16/new_con.gif b/org.eclipse.ui.console/icons/full/elcl16/new_con.gif Binary files differnew file mode 100644 index 000000000..7aea894d0 --- /dev/null +++ b/org.eclipse.ui.console/icons/full/elcl16/new_con.gif diff --git a/org.eclipse.ui.console/plugin.xml b/org.eclipse.ui.console/plugin.xml index e67dc77d9..23ccc3a38 100644 --- a/org.eclipse.ui.console/plugin.xml +++ b/org.eclipse.ui.console/plugin.xml @@ -68,5 +68,14 @@ M4 = Platform-specific fourth key </description> </fontDefinition> </extension> + <extension + point="org.eclipse.core.expressions.propertyTesters"> + <propertyTester + namespace="org.eclipse.ui.console" + type="org.eclipse.ui.console.IOConsole" + class="org.eclipse.ui.internal.console.ConsoleTypePropertyTester" + properties="consoleTypeTest" + id="org.eclipse.ui.console.ConsoleTypePropertyTester"/> + </extension> </plugin> diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePluginImages.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePluginImages.java index 524f5a4df..24f23ee8b 100644 --- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePluginImages.java +++ b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePluginImages.java @@ -71,6 +71,7 @@ public class ConsolePluginImages { declareRegistryImage(IInternalConsoleConstants.IMG_ELCL_CLEAR, ELCL + "clear_co.gif"); //$NON-NLS-1$ declareRegistryImage(IInternalConsoleConstants.IMG_ELCL_PIN, ELCL + "pin.gif"); //$NON-NLS-1$ declareRegistryImage(IInternalConsoleConstants.IMG_ELCL_LOCK, ELCL + "lock_co.gif"); //$NON-NLS-1$ + declareRegistryImage(IInternalConsoleConstants.IMG_ELCL_NEW_CON, ELCL + "new_con.gif"); //$NON-NLS-1$ // Views declareRegistryImage(IConsoleConstants.IMG_VIEW_CONSOLE, VIEW + "console_view.gif"); //$NON-NLS-1$ diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleTypePropertyTester.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleTypePropertyTester.java new file mode 100644 index 000000000..855a13c25 --- /dev/null +++ b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleTypePropertyTester.java @@ -0,0 +1,31 @@ +/******************************************************************************* + * Copyright (c) 2000, 2004 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Common Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/cpl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.ui.internal.console; + +import org.eclipse.core.expressions.PropertyTester; +import org.eclipse.ui.console.IOConsole; + +/** + * Tests if an IOConsole's type matches the expected value + * + * @since 3.1 + */ +public class ConsoleTypePropertyTester extends PropertyTester { + + /* (non-Javadoc) + * @see org.eclipse.core.expressions.IPropertyTester#test(java.lang.Object, java.lang.String, java.lang.Object[], java.lang.Object) + */ + public boolean test(Object receiver, String property, Object[] args, Object expectedValue) { + IOConsole console = (IOConsole) receiver; + return console.getType().equals(expectedValue); + } + +} 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 7cac797c3..86503387e 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 @@ -304,7 +304,7 @@ public class ConsoleView extends PageBookView implements IConsoleView, IConsoleL mgr.add(new Separator("fixedGroup")); //$NON-NLS-1$ mgr.add(fPinAction); mgr.add(fDisplayConsoleAction); -// mgr.add(fOpenConsoleAction); + mgr.add(fOpenConsoleAction); } /* (non-Javadoc) diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IInternalConsoleConstants.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IInternalConsoleConstants.java index ca64b3e2d..d8a6db457 100644 --- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IInternalConsoleConstants.java +++ b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IInternalConsoleConstants.java @@ -28,4 +28,5 @@ public interface IInternalConsoleConstants { public static final String IMG_ELCL_PIN = "IMG_ELCL_PIN"; //$NON-NLS-1$ public static final String IMG_ELCL_CLEAR= "IMG_ELCL_CLEAR"; //$NON-NLS-1$ public static final String IMG_ELCL_LOCK = "IMG_ELCL_LOCK"; //$NON-NLS-1$ + public static final String IMG_ELCL_NEW_CON = "IMG_ELCL_NEW_CON"; //$NON-NLS-1$ } diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/OpenConsoleAction.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/OpenConsoleAction.java index 38855c8bc..50f9770e4 100644 --- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/OpenConsoleAction.java +++ b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/OpenConsoleAction.java @@ -20,7 +20,6 @@ import org.eclipse.swt.widgets.Event; import org.eclipse.swt.widgets.Menu; import org.eclipse.ui.activities.WorkbenchActivityHelper; import org.eclipse.ui.console.ConsolePlugin; -import org.eclipse.ui.console.IConsoleConstants; import org.eclipse.ui.console.IConsoleFactory; /** @@ -35,7 +34,7 @@ public class OpenConsoleAction extends Action implements IMenuCreator { fFactoryExtensions = ConsolePlugin.getDefault().getConsoleManager().getConsoleFactoryExtensions(); setText(ConsoleMessages.getString("OpenConsoleAction.0")); //$NON-NLS-1$ setToolTipText(ConsoleMessages.getString("OpenConsoleAction.1")); //$NON-NLS-1$ - setImageDescriptor(ConsolePluginImages.getImageDescriptor(IConsoleConstants.IMG_VIEW_CONSOLE)); + setImageDescriptor(ConsolePluginImages.getImageDescriptor(IInternalConsoleConstants.IMG_ELCL_NEW_CON)); setMenuCreator(this); } |