Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Barnes2004-09-08 21:51:19 +0000
committerKevin Barnes2004-09-08 21:51:19 +0000
commit8320e1987a00cf46cc94adfaf8699648d7059882 (patch)
tree49078930f8795cf77f7b2abf07b05b07a9c018bc
parent799bebbe83dfb9161b2a59f08780428560c7e75e (diff)
downloadeclipse.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
-rw-r--r--org.eclipse.debug.ui/plugin.xml6
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/JavaConsoleTrackerPropertyTester.java39
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsole.java4
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsoleManager.java1
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/ui/IDebugUIConstants.java14
-rw-r--r--org.eclipse.ui.console/icons/full/elcl16/new_con.gifbin0 -> 612 bytes
-rw-r--r--org.eclipse.ui.console/plugin.xml9
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePluginImages.java1
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleTypePropertyTester.java31
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleView.java2
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IInternalConsoleConstants.java1
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/internal/console/OpenConsoleAction.java3
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
new file mode 100644
index 000000000..7aea894d0
--- /dev/null
+++ b/org.eclipse.ui.console/icons/full/elcl16/new_con.gif
Binary files differ
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);
}

Back to the top