diff options
Diffstat (limited to 'target_explorer/plugins')
57 files changed, 1923 insertions, 108 deletions
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.core.scripting/META-INF/MANIFEST.MF b/target_explorer/plugins/org.eclipse.tcf.te.tcf.core.scripting/META-INF/MANIFEST.MF index 6d7c73bcc..4b84f66ea 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.core.scripting/META-INF/MANIFEST.MF +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.core.scripting/META-INF/MANIFEST.MF @@ -13,6 +13,7 @@ Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Bundle-ActivationPolicy: lazy Bundle-Localization: plugin Export-Package: org.eclipse.tcf.te.tcf.core.scripting.activator;x-internal:=true, + org.eclipse.tcf.te.tcf.core.scripting.events, org.eclipse.tcf.te.tcf.core.scripting.interfaces, org.eclipse.tcf.te.tcf.core.scripting.launcher, org.eclipse.tcf.te.tcf.core.scripting.nls;x-internal:=true, diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.core.scripting/src/org/eclipse/tcf/te/tcf/core/scripting/events/ScriptEvent.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.core.scripting/src/org/eclipse/tcf/te/tcf/core/scripting/events/ScriptEvent.java new file mode 100644 index 000000000..d4145a9bb --- /dev/null +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.core.scripting/src/org/eclipse/tcf/te/tcf/core/scripting/events/ScriptEvent.java @@ -0,0 +1,83 @@ +/*******************************************************************************
+ * Copyright (c) 2011 Wind River Systems, Inc. and others. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Wind River Systems - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.tcf.te.tcf.core.scripting.events;
+
+import java.util.EventObject;
+
+/**
+ * Script event implementation.
+ */
+public class ScriptEvent extends EventObject {
+ private static final long serialVersionUID = -5350037587555199985L;
+
+ /**
+ * Script event types.
+ */
+ public static enum Type { START, OUTPUT, STOP }
+
+ /**
+ * Immutable script event message.
+ */
+ public static final class Message {
+ /** The message type */
+ public final char type;
+ /** The message text */
+ public final String text;
+
+ /**
+ * Constructor.
+ */
+ public Message(char type, String text) {
+ this.type = type;
+ this.text = text;
+ }
+ }
+
+
+ private Type type;
+ private Message message;
+
+
+ /**
+ * Constructor.
+ *
+ * @param source The source object. Must not be <code>null</code>.
+ * @param type The script event type. Must not be <code>null</code>.
+ * @param message The script event message or <code>null</code>.
+ *
+ * @exception IllegalArgumentException if eventId == null.
+ */
+ public ScriptEvent(Object source, Type type, Message message) {
+ super(source);
+
+ if (type == null) throw new IllegalArgumentException("null type"); //$NON-NLS-1$
+ this.type = type;
+
+ this.message = message;
+ }
+
+ /**
+ * Returns the script event type.
+ *
+ * @return The script event type.
+ */
+ public Type getType() {
+ return type;
+ }
+
+ /**
+ * Returns the script event message.
+ *
+ * @return The script event message or <code>null</code>.
+ */
+ public Message getMessage() {
+ return message;
+ }
+}
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.core.scripting/src/org/eclipse/tcf/te/tcf/core/scripting/launcher/ScriptLauncher.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.core.scripting/src/org/eclipse/tcf/te/tcf/core/scripting/launcher/ScriptLauncher.java index 49532097f..52a17287c 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.core.scripting/src/org/eclipse/tcf/te/tcf/core/scripting/launcher/ScriptLauncher.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.core.scripting/src/org/eclipse/tcf/te/tcf/core/scripting/launcher/ScriptLauncher.java @@ -16,22 +16,27 @@ import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.PlatformObject;
import org.eclipse.core.runtime.Status;
import org.eclipse.osgi.util.NLS;
+import org.eclipse.tcf.core.AbstractChannel;
+import org.eclipse.tcf.core.AbstractChannel.TraceListener;
import org.eclipse.tcf.core.Command;
import org.eclipse.tcf.protocol.IChannel;
import org.eclipse.tcf.protocol.IChannel.IChannelListener;
import org.eclipse.tcf.protocol.IPeer;
import org.eclipse.tcf.protocol.IService;
import org.eclipse.tcf.te.runtime.callback.Callback;
+import org.eclipse.tcf.te.runtime.events.EventManager;
import org.eclipse.tcf.te.runtime.interfaces.callback.ICallback;
import org.eclipse.tcf.te.runtime.interfaces.properties.IPropertiesContainer;
import org.eclipse.tcf.te.tcf.core.Tcf;
import org.eclipse.tcf.te.tcf.core.interfaces.IChannelManager;
import org.eclipse.tcf.te.tcf.core.scripting.activator.CoreBundleActivator;
+import org.eclipse.tcf.te.tcf.core.scripting.events.ScriptEvent;
import org.eclipse.tcf.te.tcf.core.scripting.interfaces.IScriptLauncher;
import org.eclipse.tcf.te.tcf.core.scripting.interfaces.IScriptLauncherProperties;
import org.eclipse.tcf.te.tcf.core.scripting.nls.Messages;
import org.eclipse.tcf.te.tcf.core.scripting.parser.Parser;
import org.eclipse.tcf.te.tcf.core.scripting.parser.Token;
+import org.eclipse.tcf.te.tcf.core.utils.JSONUtils;
/**
* Script launcher implementation.
@@ -45,6 +50,9 @@ public class ScriptLauncher extends PlatformObject implements IScriptLauncher { // The callback instance
private ICallback callback;
+ // The channel trace listener instance
+ /* default */ TraceListener traceListener;
+
/**
* Constructor.
*/
@@ -57,14 +65,20 @@ public class ScriptLauncher extends PlatformObject implements IScriptLauncher { */
@Override
public void dispose() {
- // Store a final reference to the channel instance
- final IChannel finChannel = channel;
+ if (channel != null) {
+ // Remove the trace listener
+ if (traceListener != null) { ((AbstractChannel)channel).removeTraceListener(traceListener); traceListener = null; }
+
+ // Close the channel as all disposal is done
+ Tcf.getChannelManager().closeChannel(channel);
- // Close the channel as all disposal is done
- if (finChannel != null) Tcf.getChannelManager().closeChannel(finChannel);
+ // Fire the stop event
+ ScriptEvent event = new ScriptEvent(ScriptLauncher.this, ScriptEvent.Type.STOP, null);
+ EventManager.getInstance().fireEvent(event);
- // Dissociate the channel
- channel = null;
+ // Dissociate the channel
+ channel = null;
+ }
}
/* (non-Javadoc)
@@ -103,6 +117,10 @@ public class ScriptLauncher extends PlatformObject implements IScriptLauncher { if (error == null) {
ScriptLauncher.this.channel = channel;
+ // Fire the start event
+ ScriptEvent event = new ScriptEvent(ScriptLauncher.this, ScriptEvent.Type.START, null);
+ EventManager.getInstance().fireEvent(event);
+
// Attach a channel listener so we can dispose ourself if the channel
// is closed from the remote side.
channel.addChannelListener(new IChannelListener() {
@@ -117,6 +135,7 @@ public class ScriptLauncher extends PlatformObject implements IScriptLauncher { */
@Override
public void onChannelClosed(Throwable error) {
+ if (traceListener != null) { ((AbstractChannel)ScriptLauncher.this.channel).removeTraceListener(traceListener); traceListener = null; }
if (error != null) {
IStatus status = new Status(IStatus.ERROR, CoreBundleActivator.getUniqueIdentifier(),
NLS.bind(Messages.ScriptLauncher_error_channelConnectFailed, peer.getID(), error.getLocalizedMessage()),
@@ -132,6 +151,52 @@ public class ScriptLauncher extends PlatformObject implements IScriptLauncher { }
});
+ // Create the trace listener instance
+ traceListener = new TraceListener() {
+
+ @Override
+ public void onMessageSent(char type, String token, String service, String name, byte[] data) {
+ String message = formatMessage(type, token, service, name, data, false);
+ ScriptEvent event = new ScriptEvent(ScriptLauncher.this, ScriptEvent.Type.OUTPUT, new ScriptEvent.Message(type, message));
+ EventManager.getInstance().fireEvent(event);
+ }
+
+ @Override
+ public void onMessageReceived(char type, String token, String service, String name, byte[] data) {
+ String message = formatMessage(type, token, service, name, data, true);
+ ScriptEvent event = new ScriptEvent(ScriptLauncher.this, ScriptEvent.Type.OUTPUT, new ScriptEvent.Message(type, message));
+ EventManager.getInstance().fireEvent(event);
+ }
+
+ @Override
+ public void onChannelClosed(Throwable error) {
+ }
+
+ /**
+ * Format the trace message.
+ */
+ protected String formatMessage(char type, String token, String service, String name, byte[] data, boolean received) {
+ // Decode the arguments again for tracing purpose
+ String args = JSONUtils.decodeStringFromByteArray(data);
+
+ // Construct the full message
+ //
+ // The message format is: [<---|--->] <type> <token> <service>#<name> <args>
+ StringBuilder message = new StringBuilder();
+ message.append(received ? "<---" : "--->"); //$NON-NLS-1$ //$NON-NLS-2$
+ message.append(" ").append(Character.valueOf(type)); //$NON-NLS-1$
+ if (token != null) message.append(" ").append(token); //$NON-NLS-1$
+ if (service != null) message.append(" ").append(service); //$NON-NLS-1$
+ if (name != null) message.append(" ").append(name); //$NON-NLS-1$
+ if (args != null && args.trim().length() > 0) message.append(" ").append(args.trim()); //$NON-NLS-1$
+
+ return message.toString();
+ }
+ };
+
+ // Register the trace listener
+ ((AbstractChannel)channel).addTraceListener(traceListener);
+
// Check if the channel is in connected state
if (channel.getState() != IChannel.STATE_OPEN) {
IStatus status = new Status(IStatus.ERROR, CoreBundleActivator.getUniqueIdentifier(),
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem/src/org/eclipse/tcf/te/tcf/filesystem/internal/wizards/TargetPatternFilter.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem/src/org/eclipse/tcf/te/tcf/filesystem/internal/wizards/TargetPatternFilter.java index f1acc77a7..269ff4192 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem/src/org/eclipse/tcf/te/tcf/filesystem/internal/wizards/TargetPatternFilter.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem/src/org/eclipse/tcf/te/tcf/filesystem/internal/wizards/TargetPatternFilter.java @@ -2,7 +2,7 @@ package org.eclipse.tcf.te.tcf.filesystem.internal.wizards; import org.eclipse.jface.viewers.Viewer;
import org.eclipse.tcf.te.tcf.locator.interfaces.nodes.IPeerModel;
-import org.eclipse.tcf.te.tcf.ui.internal.navigator.LabelProvider;
+import org.eclipse.tcf.te.tcf.ui.navigator.LabelProvider;
import org.eclipse.ui.dialogs.PatternFilter;
/**
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem/src/org/eclipse/tcf/te/tcf/filesystem/internal/wizards/TargetSelectionPage.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem/src/org/eclipse/tcf/te/tcf/filesystem/internal/wizards/TargetSelectionPage.java index f1f06dbda..504d2ad59 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem/src/org/eclipse/tcf/te/tcf/filesystem/internal/wizards/TargetSelectionPage.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem/src/org/eclipse/tcf/te/tcf/filesystem/internal/wizards/TargetSelectionPage.java @@ -33,7 +33,7 @@ import org.eclipse.swt.widgets.Label; import org.eclipse.tcf.te.tcf.filesystem.internal.nls.Messages;
import org.eclipse.tcf.te.tcf.locator.interfaces.nodes.IPeerModel;
import org.eclipse.tcf.te.tcf.locator.model.Model;
-import org.eclipse.tcf.te.tcf.ui.internal.navigator.LabelProvider;
+import org.eclipse.tcf.te.tcf.ui.navigator.LabelProvider;
import org.eclipse.tcf.te.ui.activator.UIPlugin;
import org.eclipse.tcf.te.ui.interfaces.IUIConstants;
import org.eclipse.tcf.te.ui.wizards.pages.AbstractValidatableWizardPage;
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/META-INF/MANIFEST.MF b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/META-INF/MANIFEST.MF index 8c5c9f0c5..0de4b8642 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/META-INF/MANIFEST.MF +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/META-INF/MANIFEST.MF @@ -7,7 +7,16 @@ Bundle-Activator: org.eclipse.tcf.te.tcf.ui.console.activator.UIPlugin Bundle-Vendor: %providerName Require-Bundle: org.eclipse.core.runtime;bundle-version="3.7.0", org.eclipse.ui;bundle-version="3.7.0", + org.eclipse.ui.console;bundle-version="3.5.100", + org.eclipse.tcf.te.runtime;bundle-version="1.0.0", + org.eclipse.tcf.te.ui;bundle-version="1.0.0", org.eclipse.tcf.te.ui.swt;bundle-version="1.0.0" Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Bundle-ActivationPolicy: lazy Bundle-Localization: plugin +Export-Package: org.eclipse.tcf.te.tcf.ui.console, + org.eclipse.tcf.te.tcf.ui.console.activator;x-internal:=true, + org.eclipse.tcf.te.tcf.ui.console.handler, + org.eclipse.tcf.te.tcf.ui.console.interfaces, + org.eclipse.tcf.te.tcf.ui.console.internal.preferences;x-internal:=true, + org.eclipse.tcf.te.tcf.ui.console.nls;x-internal:=true diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/build.properties b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/build.properties index f4ae97015..73a5119ed 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/build.properties +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/build.properties @@ -2,4 +2,5 @@ source.. = src/ output.. = bin/
bin.includes = META-INF/,\
.,\
- plugin.properties
+ plugin.properties,\
+ plugin.xml
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/plugin.properties b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/plugin.properties index 44f2ae56e..5b4d6c0c1 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/plugin.properties +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/plugin.properties @@ -13,4 +13,14 @@ providerName = Eclipse.org # ***** Consoles ***** +ScriptConsole.label=Script Pad Console + # ***** Command Contributions ***** + +command.remove.name=Close Console Command + +# ***** Themes ***** + +ThemeCategory.name=Target Explorer Communication Monitor Console +Console.font.label=Communication Monitor Console Text Font +Console.font.description=The font for the Target Explorer Communication Monitor console. diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/plugin.xml b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/plugin.xml new file mode 100644 index 000000000..7e059b21a --- /dev/null +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/plugin.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+
+<!-- Console command contributions -->
+ <extension point="org.eclipse.ui.commands">
+ <command
+ categoryId="org.eclipse.tcf.te.tcf.ui.commands.category"
+ helpContextId="org.eclipse.tcf.te.tcf.ui.console.command_Remove"
+ id="org.eclipse.tcf.te.tcf.ui.console.command.remove"
+ name="%command.remove.name">
+ </command>
+ </extension>
+
+ <extension point="org.eclipse.ui.commandImages">
+ <image
+ commandId="org.eclipse.tcf.te.tcf.ui.console.command.remove"
+ disabledIcon="platform:/plugin/org.eclipse.ui.console/icons/full/dlcl16/rem_co.gif"
+ icon="platform:/plugin/org.eclipse.ui.console/icons/full/elcl16/rem_co.gif">
+ </image>
+ </extension>
+
+ <extension point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.tcf.te.tcf.ui.console.handler.RemoveHandler"
+ commandId="org.eclipse.tcf.te.tcf.ui.console.command.remove">
+ </handler>
+ </extension>
+
+<!-- Preference contributions -->
+ <extension point="org.eclipse.core.runtime.preferences">
+ <initializer
+ class="org.eclipse.tcf.te.tcf.ui.console.internal.preferences.PreferencesInitializer">
+ </initializer>
+ </extension>
+
+<!-- UI Themes contributions -->
+ <extension point="org.eclipse.ui.themes">
+ <themeElementCategory
+ id="org.eclipse.tcf.te.tcf.ui.console.theme"
+ label="%ThemeCategory.name"/>
+ <fontDefinition
+ label="%Console.font.label"
+ categoryId="org.eclipse.tcf.te.tcf.ui.console.theme"
+ defaultsTo="org.eclipse.jface.textfont"
+ id="te.tcf.ui.console.pref.font">
+ <description>
+ %Console.font.description
+ </description>
+ </fontDefinition>
+ </extension>
+
+</plugin>
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/AbstractConsole.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/AbstractConsole.java new file mode 100644 index 000000000..0e04a45a9 --- /dev/null +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/AbstractConsole.java @@ -0,0 +1,461 @@ +/******************************************************************************* + * Copyright (c) 2011 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.tcf.ui.console; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.core.runtime.preferences.IEclipsePreferences.IPreferenceChangeListener; +import org.eclipse.core.runtime.preferences.IEclipsePreferences.PreferenceChangeEvent; +import org.eclipse.jface.resource.FontRegistry; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.resource.JFaceResources; +import org.eclipse.jface.resource.StringConverter; +import org.eclipse.jface.util.IPropertyChangeListener; +import org.eclipse.jface.util.PropertyChangeEvent; +import org.eclipse.swt.SWT; +import org.eclipse.swt.graphics.Color; +import org.eclipse.swt.graphics.RGB; +import org.eclipse.tcf.te.runtime.preferences.ScopedEclipsePreferences; +import org.eclipse.tcf.te.tcf.ui.console.activator.UIPlugin; +import org.eclipse.tcf.te.tcf.ui.console.interfaces.IPreferenceKeys; +import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.console.ConsolePlugin; +import org.eclipse.ui.console.IConsole; +import org.eclipse.ui.console.IConsoleListener; +import org.eclipse.ui.console.MessageConsole; +import org.eclipse.ui.console.MessageConsoleStream; + +/** + * Abstract console implementation. + */ +public class AbstractConsole extends MessageConsole implements IConsoleListener, IPreferenceChangeListener, IPropertyChangeListener { + + /** + * Immutable buffered console line. + */ + protected static final class ConsoleBufferLine { + protected final String message; + protected final char messageType; + + /** + * Constructor. + * + * @param message The message. Must not be <code>null</code>. + * @param messageType The message type. + */ + public ConsoleBufferLine(String message, char messageType) { + assert message != null; + this.message = message; + this.messageType = messageType; + } + } + + /** + * AbstractConsole buffer implementation. Buffers the lines to output if the console itself is + * invisible. Once the console gets visible, the buffered lines are send to the console itself. + */ + protected static class ConsoleBuffer { + // The buffer limit (in characters) is retrieved from the console + // preferences. If 0, there is no limit. + private int bufferLimit = 0; + // The consumed characters + private int charactersConsumed = 0; + + // The buffer of console lines + private final List<ConsoleBufferLine> lines = new ArrayList<ConsoleBufferLine>(); + + /** + * Constructor. + */ + public ConsoleBuffer() { + } + + /** + * Set the buffer limit in characters. + * + * @param limit The buffer limit or 0 for unlimited. + */ + public void setBufferLimit(int limit) { + this.bufferLimit = limit > 0 ? limit : 0; + } + + /** + * Adds a new line to the buffer. + * + * @param line The line. Must not be <code>null</code>. + */ + public void addLine(ConsoleBufferLine line) { + assert line != null; + + // If the limit has been reached, we have to remove the oldest buffered line first. + while (bufferLimit > 0 && charactersConsumed + line.message.length() >= bufferLimit) { + ConsoleBufferLine droppedLine = lines.remove(0); + charactersConsumed -= droppedLine.message.length(); + if (charactersConsumed < 0) charactersConsumed = 0; + } + + // Add the new line at the end of the buffer + lines.add(line); charactersConsumed += line.message.length(); + } + + /** + * Returns the list of currently buffered lines. The list + * of buffered lines is cleared. + * + * @return The currently buffered lines or an empty list. + */ + public ConsoleBufferLine[] getLinesAndClear() { + ConsoleBufferLine[] result = lines.toArray(new ConsoleBufferLine[lines.size()]); + lines.clear(); + return result; + } + } + + // Map to store the created colors per stream type (dispose on shutdown!) + private final Map<String, Color> streamColors = new HashMap<String, Color>(); + // Map to store the created message streams per stream type + private final Map<String, MessageConsoleStream> streams = new HashMap<String, MessageConsoleStream>(); + + // The console buffer + private final ConsoleBuffer buffer = new ConsoleBuffer(); + + // Flag to show the console on every output + private boolean showOnOutput; + // Flag to show the console on first output only + private boolean showOnFirstOutput; + // Flag to mark if the console is visible in the console view. + private boolean visible = false; + // Flag to mark if the console is fully initialized (means all colors and streams created). + private boolean initialized = false; + + /** + * Constructor. + * <p> + * Initializes preferences and colors but doesn't create the console page yet. + * + * @param name The console name. + * @param imageDescriptor. The console image descriptor or <code>null</code>. + */ + public AbstractConsole(String name, ImageDescriptor imageDescriptor) { + super(name, imageDescriptor); + // Initialize the flags from the preferences + showOnOutput = UIPlugin.getScopedPreferences().getBoolean(IPreferenceKeys.PREF_CONSOLE_SHOW_ON_OUTPUT); + showOnFirstOutput = !showOnOutput; + // Listen to preference change events + UIPlugin.getScopedPreferences().addPreferenceChangeListener(this); + } + + /* (non-Javadoc) + * @see org.eclipse.ui.console.MessageConsole#dispose() + */ + @Override + protected void dispose() { + // Do not disconnect the partitioner yet. Dispose is called + // if the console is removed from the console view. This does + // not mean the user does not want to show the console again later + // with the full content preserved. The console will be destroyed + // if shutdown() is called. + synchronized (buffer) { + visible = false; + JFaceResources.getFontRegistry().removeListener(this); + } + } + + /** + * Shutdown and cleanup the console. + */ + public void shutdown() { + // Detach the preferences listener + UIPlugin.getScopedPreferences().removePreferenceChangeListener(this); + + // Partitioner should be disconnected before disposing the colors + super.dispose(); + + // Dispose the colors + for (Color color : streamColors.values()) color.dispose(); + streamColors.clear(); + + // Clean the streams + streams.clear(); + } + + /* (non-Javadoc) + * @see org.eclipse.ui.console.AbstractConsole#init() + */ + @Override + protected void init() { + // Called when console is added to the console view + super.init(); + + initConsoleOutputLimitSettings(); + initConsoleWidthSetting(); + + // Ensure that initialization occurs in the UI thread + PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() { + @Override + public void run() { + JFaceResources.getFontRegistry().addListener(AbstractConsole.this); + initializeStreams(); + flushBuffer(); + } + }); + } + + /** + * Appends the cached lines from the buffer to the console. + */ + protected final void flushBuffer() { + synchronized(buffer) { + visible = true; + for (ConsoleBufferLine line : buffer.getLinesAndClear()) { + appendMessage(line.messageType, line.message); + } + } + } + + /** + * Helper method to initialize the console width settings + */ + private void initConsoleWidthSetting() { + // Get the preferences store + ScopedEclipsePreferences store = UIPlugin.getScopedPreferences(); + // If the console width shall be limited + if(store.getBoolean(IPreferenceKeys.PREF_CONSOLE_FIXED_WIDTH)) { + // Set the width limit + setConsoleWidth(store.getInt(IPreferenceKeys.PREF_CONSOLE_WIDTH)); + } else { + // Reset to unlimited width + setConsoleWidth(-1); + } + } + + /** + * Helper method to initialize the console output limit settings. + */ + private void initConsoleOutputLimitSettings() { + // Get the preferences store + ScopedEclipsePreferences store = UIPlugin.getScopedPreferences(); + // If the console output limit shall be set + if(store.getBoolean(IPreferenceKeys.PREF_CONSOLE_LIMIT_OUTPUT)) { + // Apply the limits + setWaterMarks(1000, store.getInt(IPreferenceKeys.PREF_CONSOLE_BUFFER_SIZE)); + } else { + // Reset to no limits + setWaterMarks(-1, 0); + } + // Update the buffer too + synchronized (buffer) { buffer.setBufferLimit(getHighWaterMark()); } + } + + // Internal list of available stream types + private static final String[] STREAM_TYPES = new String[] { IPreferenceKeys.PREF_CONSOLE_COLOR_TEXT, + IPreferenceKeys.PREF_CONSOLE_COLOR_COMMAND, IPreferenceKeys.PREF_CONSOLE_COLOR_COMMAND_RESPONSE, + IPreferenceKeys.PREF_CONSOLE_COLOR_EVENT, IPreferenceKeys.PREF_CONSOLE_COLOR_PROGRESS, + IPreferenceKeys.PREF_CONSOLE_COLOR_ERROR + }; + + /* + * Initialize the streams of the console. + * <p> + * Must be called from the UI thread. + */ + void initializeStreams() { + // Synchronize on the buffer to avoid something is dumped + // if the console streams have not been fully initialized + synchronized (buffer) { + if (!initialized) { + // Black is the default color. Get the corresponding RGB from the platform + RGB defaultColorBlack = PlatformUI.getWorkbench().getDisplay().getSystemColor(SWT.COLOR_BLACK).getRGB(); + // create the message streams and associate stream colors + for (String streamType : STREAM_TYPES) { + MessageConsoleStream stream = newMessageStream(); + Color color = new Color(PlatformUI.getWorkbench().getDisplay(), + StringConverter.asRGB(UIPlugin.getScopedPreferences().getString(streamType), defaultColorBlack)); + stream.setColor(color); + streams.put(streamType, stream); + streamColors.put(streamType, color); + } + + // Apply font + setFont(PlatformUI.getWorkbench().getThemeManager().getCurrentTheme().getFontRegistry().get(IPreferenceKeys.PREF_CONSOLE_FONT)); + + // The console is now initialized + initialized = true; + } + } + } + + /** + * Returns if or if not this console is visible in the console view. + * + * @return <code>True</code> if the console is visible, <code>false</code> otherwise. + */ + public final boolean isVisible() { + return visible; + } + + /* (non-Javadoc) + * @see org.eclipse.core.runtime.preferences.IEclipsePreferences.IPreferenceChangeListener#preferenceChange(org.eclipse.core.runtime.preferences.IEclipsePreferences.PreferenceChangeEvent) + */ + @Override + public void preferenceChange(PreferenceChangeEvent event) { + Assert.isNotNull(event); + + String property = event.getKey(); + if (property == null) return; + + // Apply the common properties if changed + if(IPreferenceKeys.PREF_CONSOLE_FIXED_WIDTH.equals(property)) { + initConsoleWidthSetting(); + } else if(IPreferenceKeys.PREF_CONSOLE_LIMIT_OUTPUT.equals(property)) { + initConsoleOutputLimitSettings(); + } else if (IPreferenceKeys.PREF_CONSOLE_SHOW_ON_OUTPUT.equals(property)) { + showOnOutput = UIPlugin.getScopedPreferences().getBoolean(IPreferenceKeys.PREF_CONSOLE_SHOW_ON_OUTPUT); + } + + // Color changes are applied only if the console is visible + if (isVisible()) { + // Black is the default color. Get the corresponding RGB from the platform + RGB defaultColorBlack = PlatformUI.getWorkbench().getDisplay().getSystemColor(SWT.COLOR_BLACK).getRGB(); + for (String streamType : STREAM_TYPES) { + if (property.equals(streamType)) { + // Get the new RGB values from the preferences + RGB newRGB = StringConverter.asRGB(UIPlugin.getScopedPreferences().getString(streamType), defaultColorBlack); + // Get the old color + Color oldColor = streamColors.get(streamType); + // Update the stream color will work only if the color is really different from the old one + if ((oldColor == null && newRGB != null) || (oldColor != null && !oldColor.getRGB().equals(newRGB))) { + // Create the new color object + Color newColor = new Color(PlatformUI.getWorkbench().getDisplay(), newRGB); + // Update the stream + MessageConsoleStream stream = streams.get(streamType); + stream.setColor(newColor); + // Dispose the old color + oldColor.dispose(); + // and update the stream color map + streamColors.put(streamType, newColor); + } + } + } + } + } + + /* (non-Javadoc) + * @see org.eclipse.ui.console.IConsoleListener#consolesAdded(org.eclipse.ui.console.IConsole[]) + */ + @Override + public void consolesAdded(IConsole[] consoles) { + for (int i = 0; i < consoles.length; i++) { + IConsole console = consoles[i]; + if (console == AbstractConsole.this) { + ConsolePlugin.getDefault().getConsoleManager().addConsoleListener(this); + init(); + } + } + + } + + /* (non-Javadoc) + * @see org.eclipse.ui.console.IConsoleListener#consolesRemoved(org.eclipse.ui.console.IConsole[]) + */ + @Override + public void consolesRemoved(IConsole[] consoles) { + for (int i = 0; i < consoles.length; i++) { + IConsole console = consoles[i]; + if (console == AbstractConsole.this) { + ConsolePlugin.getDefault().getConsoleManager().removeConsoleListener(this); + dispose(); + } + } + } + + /* (non-Javadoc) + * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent) + */ + @Override + public void propertyChange(PropertyChangeEvent event) { + String property = event != null ? event.getProperty() : null; + + // Font changes are applied only if the console is visible + if (property != null && isVisible()) { + if (property.equals(IPreferenceKeys.PREF_CONSOLE_FONT)) { + setFont(((FontRegistry) event.getSource()).get(IPreferenceKeys.PREF_CONSOLE_FONT)); + } + } + } + + /** + * Append message to the console. + * + * @param type The message type. + * @param message The message. + */ + public void appendMessage(char type, String message) { + // If no message is passed in, nothing to do + if (message == null) return; + // Open the console if necessary + showConsole(false); + + // Append the message to the console + synchronized (buffer) { + if (isVisible()) { + switch (type) { + case 'C': + MessageConsoleStream stream = streams.get(IPreferenceKeys.PREF_CONSOLE_COLOR_COMMAND); + if (stream != null) stream.println(message); + break; + case 'R': + stream = streams.get(IPreferenceKeys.PREF_CONSOLE_COLOR_COMMAND_RESPONSE); + if (stream != null) stream.println(message); + break; + case 'E': + stream = streams.get(IPreferenceKeys.PREF_CONSOLE_COLOR_EVENT); + if (stream != null) { + // Heart beat message are not shown + if (!message.toLowerCase().contains("heartbeat")) stream.println(message); //$NON-NLS-1$ + } + break; + case 'P': + stream = streams.get(IPreferenceKeys.PREF_CONSOLE_COLOR_PROGRESS); + if (stream != null) stream.println(message); + break; + case 'N': + stream = streams.get(IPreferenceKeys.PREF_CONSOLE_COLOR_TEXT); + if (stream != null) stream.println(message); + break; + case 'F': + // Framework messages are not shown + break; + default: + stream = streams.get(IPreferenceKeys.PREF_CONSOLE_COLOR_ERROR); + if (stream != null) stream.println(message); + } + } else { + buffer.addLine(new ConsoleBufferLine(message, type)); + } + } + } + + /** + * Ensure that the console is shown if needed. + * + * @param showNoMatterWhat If <code>True</code>, the console will be forced to be shown. + */ + private void showConsole(boolean showNoMatterWhat) { + if(showNoMatterWhat || showOnOutput || showOnFirstOutput) { + showOnFirstOutput = false; + ConsolePlugin.getDefault().getConsoleManager().showConsoleView(this); + } + } +} diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/PageParticipant.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/PageParticipant.java new file mode 100644 index 000000000..986bef24f --- /dev/null +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/PageParticipant.java @@ -0,0 +1,66 @@ +/******************************************************************************* + * Copyright (c) 2011 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.tcf.ui.console; + +import org.eclipse.core.runtime.PlatformObject; +import org.eclipse.tcf.te.tcf.ui.console.nls.Messages; +import org.eclipse.ui.console.IConsole; +import org.eclipse.ui.console.IConsoleConstants; +import org.eclipse.ui.console.IConsolePageParticipant; +import org.eclipse.ui.menus.CommandContributionItem; +import org.eclipse.ui.menus.CommandContributionItemParameter; +import org.eclipse.ui.part.IPageBookViewPage; + +/** + * Console page participant implementation. + */ +public class PageParticipant extends PlatformObject implements IConsolePageParticipant { + + /* (non-Javadoc) + * @see org.eclipse.ui.console.IConsolePageParticipant#activated() + */ + @Override + public void activated() { + } + + /* (non-Javadoc) + * @see org.eclipse.ui.console.IConsolePageParticipant#deactivated() + */ + @Override + public void deactivated() { + } + + /* (non-Javadoc) + * @see org.eclipse.ui.console.IConsolePageParticipant#dispose() + */ + @Override + public void dispose() { + } + + /* (non-Javadoc) + * @see org.eclipse.ui.console.IConsolePageParticipant#init(org.eclipse.ui.part.IPageBookViewPage, org.eclipse.ui.console.IConsole) + */ + @Override + public void init(IPageBookViewPage page, IConsole console) { + if (page == null || page.getSite() == null || page.getSite().getActionBars() == null || page.getSite().getActionBars().getToolBarManager() == null) return; + + // Create the command contribution item parameters + CommandContributionItemParameter parameters; + parameters = new CommandContributionItemParameter(page.getSite(), + "org.eclipse.tcf.te.tcf.ui.console.commands.remove", //$NON-NLS-1$ + "org.eclipse.tcf.te.tcf.ui.console.command.remove", //$NON-NLS-1$ + CommandContributionItem.STYLE_PUSH); + parameters.label = Messages.PageParticipant_command_remove_label; + parameters.tooltip = Messages.PageParticipant_command_remove_label; + + // Create the contribution item and append to the LAUNCH_GROUP + page.getSite().getActionBars().getToolBarManager().appendToGroup(IConsoleConstants.LAUNCH_GROUP, new CommandContributionItem(parameters)); + } +} diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/activator/UIPlugin.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/activator/UIPlugin.java index fe9262514..9af61be60 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/activator/UIPlugin.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/activator/UIPlugin.java @@ -1,8 +1,18 @@ +/*******************************************************************************
+ * Copyright (c) 2011 Wind River Systems, Inc. and others. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Wind River Systems - initial API and implementation
+ *******************************************************************************/
package org.eclipse.tcf.te.tcf.ui.console.activator;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.resource.ImageRegistry;
import org.eclipse.swt.graphics.Image;
+import org.eclipse.tcf.te.runtime.preferences.ScopedEclipsePreferences;
import org.eclipse.tcf.te.ui.jface.images.AbstractImageDescriptor;
import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.osgi.framework.BundleContext;
@@ -13,6 +23,8 @@ import org.osgi.framework.BundleContext; public class UIPlugin extends AbstractUIPlugin {
// The shared instance
private static UIPlugin plugin;
+ // The scoped preferences instance
+ private static ScopedEclipsePreferences scopedPreferences = null;
/**
* The constructor
@@ -39,8 +51,17 @@ public class UIPlugin extends AbstractUIPlugin { return null;
}
- /*
- * (non-Javadoc)
+ /**
+ * Return the scoped preferences for this plugin.
+ */
+ public static ScopedEclipsePreferences getScopedPreferences() {
+ if (scopedPreferences == null) {
+ scopedPreferences = new ScopedEclipsePreferences(getUniqueIdentifier());
+ }
+ return scopedPreferences;
+ }
+
+ /* (non-Javadoc)
* @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
*/
@Override
@@ -49,13 +70,13 @@ public class UIPlugin extends AbstractUIPlugin { plugin = this;
}
- /*
- * (non-Javadoc)
+ /* (non-Javadoc)
* @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
*/
@Override
public void stop(BundleContext context) throws Exception {
plugin = null;
+ scopedPreferences = null;
super.stop(context);
}
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/handler/RemoveHandler.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/handler/RemoveHandler.java new file mode 100644 index 000000000..00b7ba96f --- /dev/null +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/handler/RemoveHandler.java @@ -0,0 +1,46 @@ +/******************************************************************************* + * Copyright (c) 2011 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.tcf.ui.console.handler; + +import org.eclipse.core.commands.AbstractHandler; +import org.eclipse.core.commands.ExecutionEvent; +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.ui.IWorkbenchPart; +import org.eclipse.ui.console.ConsolePlugin; +import org.eclipse.ui.console.IConsole; +import org.eclipse.ui.console.IConsoleView; +import org.eclipse.ui.handlers.HandlerUtil; + +/** + * Remove handler implementation. + */ +public class RemoveHandler extends AbstractHandler { + + /* (non-Javadoc) + * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent) + */ + @Override + public Object execute(ExecutionEvent event) throws ExecutionException { + // The currently display console + IConsole console = null; + + // Determine the currently display console from the console view + IWorkbenchPart part = HandlerUtil.getActivePart(event); + if (part instanceof IConsoleView) console = ((IConsoleView)part).getConsole(); + + // Remove the console + if (console != null) { + ConsolePlugin.getDefault().getConsoleManager().removeConsoles(new IConsole[] { console }); + } + + return null; + } + +} diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/interfaces/IPreferenceKeys.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/interfaces/IPreferenceKeys.java new file mode 100644 index 000000000..1fd2ce8d7 --- /dev/null +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/interfaces/IPreferenceKeys.java @@ -0,0 +1,57 @@ +/******************************************************************************* + * Copyright (c) 2011 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.tcf.ui.console.interfaces; + +/** + * Console preference key identifiers. + */ +public interface IPreferenceKeys { + /** + * Common prefix for all UI preference keys + */ + public final String PREFIX = "te.tcf.ui.console."; //$NON-NLS-1$ + + /** + * Limit console output to a fixed width. + */ + public final String PREF_CONSOLE_FIXED_WIDTH = PREFIX + "pref.fixedWidth"; //$NON-NLS-1$ + + /** + * The fixed width size in characters. + */ + public final String PREF_CONSOLE_WIDTH = PREFIX + "pref.width"; //$NON-NLS-1$ + + /** + * Limit console output to a maximum content. + */ + public final String PREF_CONSOLE_LIMIT_OUTPUT = PREFIX + "pref.limitOutput"; //$NON-NLS-1$ + + /** + * The maximum content size in characters. + */ + public final String PREF_CONSOLE_BUFFER_SIZE = PREFIX + "pref.bufferSize"; //$NON-NLS-1$ + + /** + * Show the console on output. + */ + public final String PREF_CONSOLE_SHOW_ON_OUTPUT = PREFIX + "pref.showOnOutput"; //$NON-NLS-1$ + + // The preference id for the console font needs to be kept in sync with the plugin.xml! + public final String PREF_CONSOLE_FONT = PREFIX + "pref.font"; //$NON-NLS-1$ + + // The TCF communication monitor console color preferences + public final String PREF_CONSOLE_COLOR_TEXT = PREFIX + "pref.color.text"; //$NON-NLS-1$ + public final String PREF_CONSOLE_COLOR_COMMAND = PREFIX + "pref.color.command"; //$NON-NLS-1$ + public final String PREF_CONSOLE_COLOR_COMMAND_RESPONSE = PREFIX + "pref.color.commandResponse"; //$NON-NLS-1$ + public final String PREF_CONSOLE_COLOR_EVENT = PREFIX + "pref.color.event"; //$NON-NLS-1$ + public final String PREF_CONSOLE_COLOR_PROGRESS = PREFIX + "pref.color.progress"; //$NON-NLS-1$ + public final String PREF_CONSOLE_COLOR_ERROR = PREFIX + "pref.color.error"; //$NON-NLS-1$ +} + diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/internal/preferences/PreferencesInitializer.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/internal/preferences/PreferencesInitializer.java new file mode 100644 index 000000000..ffba93d06 --- /dev/null +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/internal/preferences/PreferencesInitializer.java @@ -0,0 +1,64 @@ +/******************************************************************************* + * Copyright (c) 2011 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.tcf.ui.console.internal.preferences; + +import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; +import org.eclipse.jface.resource.StringConverter; +import org.eclipse.swt.graphics.RGB; +import org.eclipse.tcf.te.runtime.preferences.ScopedEclipsePreferences; +import org.eclipse.tcf.te.tcf.ui.console.activator.UIPlugin; +import org.eclipse.tcf.te.tcf.ui.console.interfaces.IPreferenceKeys; + +/** + * Preference initializer. + */ +public class PreferencesInitializer extends AbstractPreferenceInitializer { + + /** + * Constructor. + */ + public PreferencesInitializer() { + super(); + } + + /* (non-Javadoc) + * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences() + */ + @Override + public void initializeDefaultPreferences() { + // Get the preferences store + ScopedEclipsePreferences store = UIPlugin.getScopedPreferences(); + + // Fixed console width: default off + store.putDefaultBoolean(IPreferenceKeys.PREF_CONSOLE_FIXED_WIDTH, false); + // Fixed console width in character: default 80 + store.putDefaultInt(IPreferenceKeys.PREF_CONSOLE_WIDTH, 80); + // Limit console output: default on + store.putDefaultBoolean(IPreferenceKeys.PREF_CONSOLE_LIMIT_OUTPUT, true); + // Console buffer size in character: default 500000 + store.putDefaultInt(IPreferenceKeys.PREF_CONSOLE_BUFFER_SIZE, 500000); + // Show console on output: default off + store.putDefaultBoolean(IPreferenceKeys.PREF_CONSOLE_SHOW_ON_OUTPUT, false); + + // Text default color: Black + store.putDefaultString(IPreferenceKeys.PREF_CONSOLE_COLOR_TEXT, StringConverter.asString(new RGB(0, 0, 0))); + // Command default color: Black + store.putDefaultString(IPreferenceKeys.PREF_CONSOLE_COLOR_COMMAND, StringConverter.asString(new RGB(0, 0, 0))); + // Command response default color: Black + store.putDefaultString(IPreferenceKeys.PREF_CONSOLE_COLOR_COMMAND_RESPONSE, StringConverter.asString(new RGB(0, 0, 0))); + // Event default color: Blue + store.putDefaultString(IPreferenceKeys.PREF_CONSOLE_COLOR_EVENT, StringConverter.asString(new RGB(0, 0, 255))); + // Progress default color: Green + store.putDefaultString(IPreferenceKeys.PREF_CONSOLE_COLOR_PROGRESS, StringConverter.asString(new RGB(0, 128, 0))); + // Error default color: Red + store.putDefaultString(IPreferenceKeys.PREF_CONSOLE_COLOR_ERROR, StringConverter.asString(new RGB(255, 0, 0))); + } + +} diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/nls/Messages.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/nls/Messages.java index 9d602b109..5de22e3aa 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/nls/Messages.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/nls/Messages.java @@ -28,4 +28,7 @@ public class Messages extends NLS { } // **** Declare externalized string id's down here ***** + + public static String PageParticipant_command_remove_label; + public static String PageParticipant_command_remove_tooltip; } diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/nls/Messages.properties b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/nls/Messages.properties index ec997d88a..e3b45a9fd 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/nls/Messages.properties +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/nls/Messages.properties @@ -2,3 +2,6 @@ # org.eclipse.tcf.te.tcf.ui.console # Externalized Strings. # + +PageParticipant_command_remove_label=Close Console +PageParticipant_command_remove_tooltip=Close Console diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/.classpath b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/.classpath new file mode 100644 index 000000000..8a8f1668c --- /dev/null +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/.classpath @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/.project b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/.project new file mode 100644 index 000000000..439dd22b4 --- /dev/null +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/.project @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.tcf.te.tcf.ui.views</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/.settings/org.eclipse.jdt.core.prefs b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..4ece191fb --- /dev/null +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,362 @@ +#Thu Dec 15 12:33:44 CET 2011
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=warning
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=enabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warning
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=warning
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=0
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=0
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=0
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=0
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=0
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=100
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=4
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=4
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=true
+org.eclipse.jdt.core.formatter.join_wrapped_lines=true
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=true
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=true
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=true
+org.eclipse.jdt.core.formatter.lineSplit=100
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=true
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/.settings/org.eclipse.jdt.ui.prefs b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 000000000..101566689 --- /dev/null +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,4 @@ +#Thu Dec 15 12:33:44 CET 2011
+eclipse.preferences.version=1
+formatter_profile=_Target Explorer Java STD
+formatter_settings_version=12
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/META-INF/MANIFEST.MF b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/META-INF/MANIFEST.MF new file mode 100644 index 000000000..672ae489e --- /dev/null +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/META-INF/MANIFEST.MF @@ -0,0 +1,21 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.tcf.te.tcf.ui.views;singleton:=true +Bundle-Version: 1.0.0.qualifier +Bundle-Activator: org.eclipse.tcf.te.tcf.ui.views.activator.UIPlugin +Bundle-Vendor: %providerName +Require-Bundle: org.eclipse.core.runtime;bundle-version="3.7.0", + org.eclipse.ui;bundle-version="3.7.0", + org.eclipse.ui.console;bundle-version="3.5.100", + org.eclipse.tcf.core;bundle-version="1.0.0", + org.eclipse.tcf.te.tcf.locator;bundle-version="1.0.0", + org.eclipse.tcf.te.runtime;bundle-version="1.0.0", + org.eclipse.tcf.te.ui;bundle-version="1.0.0", + org.eclipse.tcf.te.ui.swt;bundle-version="1.0.0", + org.eclipse.tcf.te.tcf.core.scripting;bundle-version="1.0.0", + org.eclipse.tcf.te.tcf.ui;bundle-version="1.0.0", + org.eclipse.tcf.te.tcf.ui.console;bundle-version="1.0.0" +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Bundle-ActivationPolicy: lazy +Bundle-Localization: plugin diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/build.properties b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/build.properties new file mode 100644 index 000000000..1cb217caf --- /dev/null +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/build.properties @@ -0,0 +1,7 @@ +source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.properties,\
+ plugin.xml,\
+ icons/
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/icons/dtool16/run_exc.gif b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/icons/dtool16/run_exc.gif Binary files differindex a252bf0ae..a252bf0ae 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/icons/dtool16/run_exc.gif +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/icons/dtool16/run_exc.gif diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/icons/etool16/run_exc.gif b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/icons/etool16/run_exc.gif Binary files differindex 57f410224..57f410224 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/icons/etool16/run_exc.gif +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/icons/etool16/run_exc.gif diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/icons/eview16/scriptpad.gif b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/icons/eview16/scriptpad.gif Binary files differindex c51f86fd8..c51f86fd8 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/icons/eview16/scriptpad.gif +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/icons/eview16/scriptpad.gif diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/icons/eview16/scriptpad_console.gif b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/icons/eview16/scriptpad_console.gif Binary files differnew file mode 100644 index 000000000..5c3f2a020 --- /dev/null +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/icons/eview16/scriptpad_console.gif diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/icons/obj16/target.gif b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/icons/obj16/peer.gif Binary files differindex e9df7b871..e9df7b871 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/icons/obj16/target.gif +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/icons/obj16/peer.gif diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/plugin.properties b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/plugin.properties new file mode 100644 index 000000000..38d9a47e7 --- /dev/null +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/plugin.properties @@ -0,0 +1,24 @@ +################################################################################## +# Copyright (c) 2011 Wind River Systems, Inc. and others. All rights reserved. +# This program and the accompanying materials are made available under the terms +# of the Eclipse Public License v1.0 which accompanies this distribution, and is +# available at http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems - initial API and implementation +################################################################################## + +pluginName = Target Explorer, TCF Views Plug-in +providerName = Eclipse.org + +# ***** Views ***** + +ScriptPad.name=Script Pad + +# ***** Command Contributions ***** + +PeersSubMenuAction.label=Peers +PeersSubMenuAction.tooltip=Select the peer to play the script on. + +PlayAction.label=Play +PlayAction.tooltip=Play the script on the selected peer. diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/plugin.xml b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/plugin.xml new file mode 100644 index 000000000..1292750b4 --- /dev/null +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/plugin.xml @@ -0,0 +1,94 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+
+<!-- View contributions -->
+ <extension point="org.eclipse.ui.views">
+ <view
+ allowMultiple="true"
+ category="org.eclipse.tcf.te.ui.views.category"
+ class="org.eclipse.tcf.te.tcf.ui.views.scriptpad.ScriptPad"
+ icon="icons/eview16/scriptpad.gif"
+ id="org.eclipse.tcf.te.tcf.ui.views.scriptpad"
+ name="%ScriptPad.name"
+ restorable="true">
+ </view>
+ </extension>
+
+<!-- Perspective extension contributions -->
+ <extension point="org.eclipse.ui.perspectiveExtensions">
+ <perspectiveExtension targetID="org.eclipse.tcf.te.ui.perspective">
+ <view
+ closeable="true"
+ id="org.eclipse.tcf.te.tcf.ui.views.scriptpad"
+ minimized="false"
+ moveable="true"
+ ratio="0.4"
+ relationship="bottom"
+ relative="org.eclipse.tcf.te.ui.views.TargetExplorer"
+ showTitle="true"
+ standalone="false"
+ visible="false">
+ </view>
+ <viewShortcut
+ id="org.eclipse.tcf.te.tcf.ui.views.scriptpad">
+ </viewShortcut>
+ </perspectiveExtension>
+ </extension>
+
+<!-- Console contributions -->
+ <extension point="org.eclipse.ui.console.consoleFactories">
+ <consoleFactory
+ class="org.eclipse.tcf.te.tcf.ui.views.scriptpad.console.Factory"
+ icon="icons/eview16/scriptpad_console.gif"
+ label="%ScriptConsole.label">
+ </consoleFactory>
+ </extension>
+
+ <extension point="org.eclipse.ui.console.consolePageParticipants">
+ <consolePageParticipant
+ class="org.eclipse.tcf.te.tcf.ui.console.PageParticipant"
+ id="org.eclipse.tcf.te.tcf.ui.console.PageParticipant">
+ <enablement>
+ <instanceof value="org.eclipse.tcf.te.tcf.ui.views.scriptpad.console.Console"/>
+ </enablement>
+ </consolePageParticipant>
+ </extension>
+
+<!-- Script Pad menu contributions -->
+ <extension point="org.eclipse.ui.viewActions">
+ <viewContribution
+ id="org.eclipse.tcf.te.tcf.ui.scriptpad.toolbar"
+ targetID="org.eclipse.tcf.te.tcf.ui.views.scriptpad">
+ <action
+ class="org.eclipse.tcf.te.tcf.ui.views.scriptpad.actions.PeersSubMenuAction"
+ icon="icons/obj16/peer.gif"
+ id="org.eclipse.tcf.te.tcf.ui.scriptpad.toolbar.peers"
+ label="%PeersSubMenuAction.label"
+ style="pulldown"
+ toolbarPath="peers">
+ </action>
+
+ <action
+ class="org.eclipse.tcf.te.tcf.ui.views.scriptpad.actions.PlayAction"
+ icon="icons/etool16/run_exc.gif"
+ id="org.eclipse.tcf.te.tcf.ui.scriptpad.toolbar.play"
+ label="%PlayAction.label"
+ style="push"
+ toolbarPath="play">
+ </action>
+ </viewContribution>
+ </extension>
+
+<!-- Script Pad event listener contributions -->
+ <extension point="org.eclipse.tcf.te.runtime.eventListeners">
+ <eventListener
+ class="org.eclipse.tcf.te.tcf.ui.views.scriptpad.events.EventListener"
+ forcePluginActivation="true">
+ <eventType
+ class="org.eclipse.tcf.te.tcf.core.scripting.events.ScriptEvent">
+ </eventType>
+ </eventListener>
+ </extension>
+
+</plugin>
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/pom.xml b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/pom.xml new file mode 100644 index 000000000..03a6a1f6a --- /dev/null +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/pom.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" + xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <modelVersion>4.0.0</modelVersion> + + <parent> + <groupId>org.eclipse.tcf</groupId> + <artifactId>tcf-parent</artifactId> + <version>1.0.0-SNAPSHOT</version> + <relativePath>../../../pom.xml</relativePath> + </parent> + + <version>1.0.0.qualifier</version> + <artifactId>org.eclipse.tcf.te.tcf.ui.views</artifactId> + <packaging>eclipse-plugin</packaging> +</project> diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/activator/UIPlugin.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/activator/UIPlugin.java new file mode 100644 index 000000000..30e7bada8 --- /dev/null +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/activator/UIPlugin.java @@ -0,0 +1,124 @@ +/*******************************************************************************
+ * Copyright (c) 2011 Wind River Systems, Inc. and others. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Wind River Systems - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.tcf.te.tcf.ui.views.activator;
+
+import java.net.URL;
+
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.resource.ImageRegistry;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.tcf.te.tcf.ui.views.internal.ImageConsts;
+import org.eclipse.tcf.te.ui.jface.images.AbstractImageDescriptor;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class UIPlugin extends AbstractUIPlugin {
+ // The shared instance
+ private static UIPlugin plugin;
+
+ /**
+ * Constructor.
+ */
+ public UIPlugin() {
+ }
+
+ /**
+ * Returns the shared instance
+ *
+ * @return the shared instance
+ */
+ public static UIPlugin getDefault() {
+ return plugin;
+ }
+
+ /**
+ * Convenience method which returns the unique identifier of this plugin.
+ */
+ public static String getUniqueIdentifier() {
+ if (getDefault() != null && getDefault().getBundle() != null) {
+ return getDefault().getBundle().getSymbolicName();
+ }
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void stop(BundleContext context) throws Exception {
+ plugin = null;
+ super.stop(context);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#initializeImageRegistry(org.eclipse.jface.resource.ImageRegistry)
+ */
+ @Override
+ protected void initializeImageRegistry(ImageRegistry registry) {
+ URL url = UIPlugin.getDefault().getBundle().getEntry(ImageConsts.IMAGE_DIR_ROOT + ImageConsts.IMAGE_DIR_OBJ + "scriptpad_console.gif"); //$NON-NLS-1$
+ registry.put(ImageConsts.SCRIPT_PAD_CONSOLE, ImageDescriptor.createFromURL(url));
+ }
+
+ /**
+ * Loads the image registered under the specified key from the image
+ * registry and returns the <code>Image</code> object instance.
+ *
+ * @param key The key the image is registered with.
+ * @return The <code>Image</code> object instance or <code>null</code>.
+ */
+ public static Image getImage(String key) {
+ return getDefault().getImageRegistry().get(key);
+ }
+
+ /**
+ * Loads the image registered under the specified key from the image
+ * registry and returns the <code>ImageDescriptor</code> object instance.
+ *
+ * @param key The key the image is registered with.
+ * @return The <code>ImageDescriptor</code> object instance or <code>null</code>.
+ */
+ public static ImageDescriptor getImageDescriptor(String key) {
+ return getDefault().getImageRegistry().getDescriptor(key);
+ }
+
+ /**
+ * Loads the image given by the specified image descriptor from the image
+ * registry. If the image has been loaded ones before already, the cached
+ * <code>Image</code> object instance is returned. Otherwise, the <code>
+ * Image</code> object instance will be created and cached before returned.
+ *
+ * @param descriptor The image descriptor.
+ * @return The corresponding <code>Image</code> object instance or <code>null</code>.
+ */
+ public static Image getSharedImage(AbstractImageDescriptor descriptor) {
+ ImageRegistry registry = getDefault().getImageRegistry();
+
+ String imageKey = descriptor.getDecriptorKey();
+ Image image = registry.get(imageKey);
+ if (image == null) {
+ registry.put(imageKey, descriptor);
+ image = registry.get(imageKey);
+ }
+
+ return image;
+ }
+}
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/help/IContextHelpIds.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/help/IContextHelpIds.java new file mode 100644 index 000000000..a308d61b7 --- /dev/null +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/help/IContextHelpIds.java @@ -0,0 +1,28 @@ +/******************************************************************************* + * Copyright (c) 2011 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.tcf.ui.views.help; + +import org.eclipse.tcf.te.tcf.ui.views.activator.UIPlugin; + +/** + * UI Context help id definitions. + */ +public interface IContextHelpIds { + + /** + * UI plug-in common context help id prefix. + */ + public final static String PREFIX = UIPlugin.getUniqueIdentifier() + "."; //$NON-NLS-1$ + + /** + * Script Pad console view. + */ + public final static String SCRIPT_PAD_CONSOLE_VIEW = PREFIX + "ScriptPadConsoleView"; //$NON-NLS-1$ +} diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/internal/ImageConsts.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/internal/ImageConsts.java index ec63ab9c0..982029b34 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.console/src/org/eclipse/tcf/te/tcf/ui/console/internal/ImageConsts.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/internal/ImageConsts.java @@ -7,10 +7,10 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.tcf.ui.console.internal; +package org.eclipse.tcf.te.tcf.ui.views.internal; /** - * TCF Console UI Plug-in Image registry constants. + * TCF Console Plug-in Image registry constants. */ public interface ImageConsts { @@ -60,4 +60,8 @@ public interface ImageConsts { // ***** The image constants ***** + /** + * The key to access the Script Pad console view image. + */ + public static final String SCRIPT_PAD_CONSOLE = "ScriptPadConsole"; //$NON-NLS-1$ } diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/nls/Messages.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/nls/Messages.java new file mode 100644 index 000000000..2df9768e6 --- /dev/null +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/nls/Messages.java @@ -0,0 +1,33 @@ +/******************************************************************************* + * Copyright (c) 2011 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.tcf.ui.views.nls; + +import org.eclipse.osgi.util.NLS; + +/** + * TCF Views Plug-in externalized strings management. + */ +public class Messages extends NLS { + + // The plug-in resource bundle name + private static final String BUNDLE_NAME = "org.eclipse.tcf.te.tcf.ui.views.nls.Messages"; //$NON-NLS-1$ + + /** + * Static constructor. + */ + static { + // Load message values from bundle file + NLS.initializeMessages(BUNDLE_NAME, Messages.class); + } + + // **** Declare externalized string id's down here ***** + + public static String Console_name; +} diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/nls/Messages.properties b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/nls/Messages.properties new file mode 100644 index 000000000..75b83b88b --- /dev/null +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/nls/Messages.properties @@ -0,0 +1,6 @@ +# +# org.eclipse.tcf.te.tcf.ui.views +# Externalized Strings. +# + +Console_name=Script Pad Console diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/ScriptPad.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/ScriptPad.java index f6ff03d34..b52d517e8 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/ScriptPad.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/ScriptPad.java @@ -34,6 +34,7 @@ import org.eclipse.swt.layout.GridData; import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.tcf.te.tcf.locator.interfaces.nodes.IPeerModel;
+import org.eclipse.tcf.te.ui.swt.DisplayUtil;
import org.eclipse.ui.IWorkbenchActionConstants;
import org.eclipse.ui.IWorkbenchPartConstants;
import org.eclipse.ui.part.ViewPart;
@@ -229,8 +230,14 @@ public class ScriptPad extends ViewPart implements ISelectionProvider, Selection this.peerModel = peerModel;
// Update the action bars
getViewSite().getActionBars().updateActionBars();
- // Fire a property change
- firePropertyChange(IWorkbenchPartConstants.PROP_INPUT);
+ // Fire a property change (in the UI Thread)
+ DisplayUtil.safeAsyncExec(new Runnable() {
+ @SuppressWarnings("synthetic-access")
+ @Override
+ public void run() {
+ firePropertyChange(IWorkbenchPartConstants.PROP_INPUT);
+ }
+ });
}
/**
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/actions/PeerAction.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/actions/PeerAction.java index 32a411d9d..a1df3a2ae 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/actions/PeerAction.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/actions/PeerAction.java @@ -12,7 +12,7 @@ package org.eclipse.tcf.te.tcf.ui.views.scriptpad.actions; import org.eclipse.core.runtime.Assert;
import org.eclipse.jface.action.Action;
import org.eclipse.tcf.te.tcf.locator.interfaces.nodes.IPeerModel;
-import org.eclipse.tcf.te.tcf.ui.internal.navigator.LabelProviderDelegate;
+import org.eclipse.tcf.te.tcf.ui.navigator.LabelProviderDelegate;
import org.eclipse.tcf.te.tcf.ui.views.scriptpad.ScriptPad;
import org.eclipse.ui.IViewPart;
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/actions/PeersSubMenuAction.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/actions/PeersSubMenuAction.java index bbf012681..bbf012681 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/actions/PeersSubMenuAction.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/actions/PeersSubMenuAction.java diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/actions/PlayAction.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/actions/PlayAction.java index 05da44317..05da44317 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/actions/PlayAction.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/actions/PlayAction.java diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/console/Console.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/console/Console.java new file mode 100644 index 000000000..a67ccc523 --- /dev/null +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/console/Console.java @@ -0,0 +1,37 @@ +/*******************************************************************************
+ * Copyright (c) 2011 Wind River Systems, Inc. and others. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Wind River Systems - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.tcf.te.tcf.ui.views.scriptpad.console;
+
+import org.eclipse.tcf.te.tcf.ui.console.AbstractConsole;
+import org.eclipse.tcf.te.tcf.ui.views.activator.UIPlugin;
+import org.eclipse.tcf.te.tcf.ui.views.help.IContextHelpIds;
+import org.eclipse.tcf.te.tcf.ui.views.internal.ImageConsts;
+import org.eclipse.tcf.te.tcf.ui.views.nls.Messages;
+
+/**
+ * Script Pad console implementation.
+ */
+public class Console extends AbstractConsole {
+
+ /**
+ * Constructor.
+ */
+ public Console() {
+ super(Messages.Console_name, UIPlugin.getImageDescriptor(ImageConsts.SCRIPT_PAD_CONSOLE));
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.console.AbstractConsole#getHelpContextId()
+ */
+ @Override
+ public String getHelpContextId() {
+ return IContextHelpIds.SCRIPT_PAD_CONSOLE_VIEW;
+ }
+}
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/console/Factory.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/console/Factory.java new file mode 100644 index 000000000..47f486f7b --- /dev/null +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/console/Factory.java @@ -0,0 +1,86 @@ +/******************************************************************************* + * Copyright (c) 2011 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.tcf.ui.views.scriptpad.console; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.ui.console.ConsolePlugin; +import org.eclipse.ui.console.IConsole; +import org.eclipse.ui.console.IConsoleFactory; +import org.eclipse.ui.console.IConsoleManager; + +/** + * Script Pad console factory implementation. + */ +public class Factory implements IConsoleFactory { + // Reference to the console + private static Console console; + + /* (non-Javadoc) + * @see org.eclipse.ui.console.IConsoleFactory#openConsole() + */ + @Override + public void openConsole() { + showConsole(); + } + + /** + * Checks if the given console is already added to the console manager. + * + * @param console The console. Must not be <code>null</code>. + * @return <code>True</code> if the console exist, <code>false</code> otherwise. + */ + private static boolean isConsoleAlreadyAdded(IConsole console) { + Assert.isNotNull(console); + // Assume the console to be not yet added + boolean alreadyAdded = false; + // Check all consoles if it is the same instance as the passed in one + for (IConsole candidate : ConsolePlugin.getDefault().getConsoleManager().getConsoles()) { + if (candidate == console) { + alreadyAdded = true; + break; + } + } + return alreadyAdded; + } + + /** + * Shows the Script Pad console. + */ + public static void showConsole() { + // Create a new console if not yet created + if (console == null) console = new Console(); + + // Get the console manager + IConsoleManager manager = ConsolePlugin.getDefault().getConsoleManager(); + // Add the console to the manager if not yet done + if (!isConsoleAlreadyAdded(console)) manager.addConsoles(new IConsole[] {console}); + // Show the console view with the TCF communication monitor console + manager.showConsoleView(console); + } + + /** + * Returns the Script Pad console. + * + * @return The Script Pad console or <code>null</code>. + */ + public static Console getConsole() { + return console; + } + + /** + * Shutdown the Script Pad console. + */ + public static void shutdownConsole() { + if (console != null) { + console.shutdown(); + console = null; + } + } +} diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/events/EventListener.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/events/EventListener.java new file mode 100644 index 000000000..5dc14fa9a --- /dev/null +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui.views/src/org/eclipse/tcf/te/tcf/ui/views/scriptpad/events/EventListener.java @@ -0,0 +1,52 @@ +/*******************************************************************************
+ * Copyright (c) 2011 Wind River Systems, Inc. and others. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Wind River Systems - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.tcf.te.tcf.ui.views.scriptpad.events;
+
+import java.util.EventObject;
+
+import org.eclipse.tcf.te.tcf.core.scripting.events.ScriptEvent;
+import org.eclipse.tcf.te.tcf.ui.views.scriptpad.console.Console;
+import org.eclipse.tcf.te.tcf.ui.views.scriptpad.console.Factory;
+import org.eclipse.tcf.te.ui.events.AbstractEventListener;
+
+/**
+ * Script Pad console event listener
+ */
+public class EventListener extends AbstractEventListener {
+
+ /* (non-Javadoc)
+ * @see org.eclipse.tcf.te.runtime.interfaces.events.IEventListener#eventFired(java.util.EventObject)
+ */
+ @Override
+ public void eventFired(EventObject event) {
+ if (event instanceof ScriptEvent) {
+ ScriptEvent scriptEvent = (ScriptEvent)event;
+
+ // Get the event type
+ ScriptEvent.Type type = scriptEvent.getType();
+
+ switch (type) {
+ case START:
+ Factory.showConsole();
+ break;
+ case OUTPUT:
+ Console console = Factory.getConsole();
+ if (console != null) {
+ ScriptEvent.Message message = scriptEvent.getMessage();
+ if (message != null) console.appendMessage(message.type, message.text);
+ }
+ break;
+ case STOP:
+ break;
+ }
+ }
+ }
+
+}
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/META-INF/MANIFEST.MF b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/META-INF/MANIFEST.MF index cb78a075e..5ae0ca93e 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/META-INF/MANIFEST.MF +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/META-INF/MANIFEST.MF @@ -32,10 +32,10 @@ Export-Package: org.eclipse.tcf.te.tcf.ui.activator;x-internal:=true, org.eclipse.tcf.te.tcf.ui.internal.filter;x-internal:=true, org.eclipse.tcf.te.tcf.ui.internal.handler;x-internal:=true, org.eclipse.tcf.te.tcf.ui.internal.help;x-internal:=true, - org.eclipse.tcf.te.tcf.ui.internal.navigator;x-internal:=true, - org.eclipse.tcf.te.tcf.ui.internal.navigator.images;x-internal:=true, + org.eclipse.tcf.te.tcf.ui.navigator, + org.eclipse.tcf.te.tcf.ui.navigator.images, org.eclipse.tcf.te.tcf.ui.nls;x-internal:=true, org.eclipse.tcf.te.tcf.ui.tables, - org.eclipse.tcf.te.tcf.ui.wizards;x-internal:=true, + org.eclipse.tcf.te.tcf.ui.wizards, org.eclipse.tcf.te.tcf.ui.wizards.controls, - org.eclipse.tcf.te.tcf.ui.wizards.pages;x-internal:=true + org.eclipse.tcf.te.tcf.ui.wizards.pages diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/icons/obj16/peer.gif b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/icons/obj16/peer.gif Binary files differnew file mode 100644 index 000000000..e9df7b871 --- /dev/null +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/icons/obj16/peer.gif diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/plugin.properties b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/plugin.properties index b09fd0777..0fb07dd50 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/plugin.properties +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/plugin.properties @@ -26,10 +26,6 @@ NewTargetWizard.description=Specify the attributes of the peer to connect to. NodePropertiesEditorPage.name=General -# ***** Views ***** - -ScriptPad.name=Script Pad - # ***** Command Contributions ***** command.category.name=Target Explorer Commands (TCF) @@ -39,9 +35,3 @@ command.refresh.tooltip=Refresh command.delete.label=&Delete command.delete.tooltip=Delete - -PeersSubMenuAction.label=Peers -PeersSubMenuAction.tooltip=Select the peer to play the script on. - -PlayAction.label=Play -PlayAction.tooltip=Play the script on the selected peer. diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/plugin.xml b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/plugin.xml index e4652fa21..a28aef2a4 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/plugin.xml +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/plugin.xml @@ -16,10 +16,10 @@ <extension point="org.eclipse.ui.navigator.navigatorContent"> <navigatorContent activeByDefault="true" - contentProvider="org.eclipse.tcf.te.tcf.ui.internal.navigator.ContentProviderDelegate" + contentProvider="org.eclipse.tcf.te.tcf.ui.navigator.ContentProviderDelegate" icon="icons/obj16/rootNode_obj.gif" id="org.eclipse.tcf.te.tcf.ui.navigator.content" - labelProvider="org.eclipse.tcf.te.tcf.ui.internal.navigator.LabelProvider" + labelProvider="org.eclipse.tcf.te.tcf.ui.navigator.LabelProvider" name="Dynamic Target Discovery (TCF)" priority="normal"> <enablement> @@ -87,65 +87,6 @@ </editorPageBinding> </extension> -<!-- View contributions --> - <extension point="org.eclipse.ui.views"> - <view - allowMultiple="true" - category="org.eclipse.tcf.te.ui.views.category" - class="org.eclipse.tcf.te.tcf.ui.views.scriptpad.ScriptPad" - icon="icons/eview16/scriptpad.gif" - id="org.eclipse.tcf.te.tcf.ui.views.scriptpad" - name="%ScriptPad.name" - restorable="true"> - </view> - </extension> - -<!-- Perspective extension contributions --> - <extension point="org.eclipse.ui.perspectiveExtensions"> - <perspectiveExtension targetID="org.eclipse.tcf.te.ui.perspective"> - <view - closeable="true" - id="org.eclipse.tcf.te.tcf.ui.views.scriptpad" - minimized="false" - moveable="true" - ratio="0.4" - relationship="bottom" - relative="org.eclipse.tcf.te.ui.views.TargetExplorer" - showTitle="true" - standalone="false" - visible="false"> - </view> - <viewShortcut - id="org.eclipse.tcf.te.tcf.ui.views.scriptpad"> - </viewShortcut> - </perspectiveExtension> - </extension> - -<!-- Script Pad menu contributions --> - <extension point="org.eclipse.ui.viewActions"> - <viewContribution - id="org.eclipse.tcf.te.tcf.ui.scriptpad.toolbar" - targetID="org.eclipse.tcf.te.tcf.ui.views.scriptpad"> - <action - class="org.eclipse.tcf.te.tcf.ui.views.scriptpad.actions.PeersSubMenuAction" - icon="icons/obj16/target.gif" - id="org.eclipse.tcf.te.tcf.ui.scriptpad.toolbar.peers" - label="%PeersSubMenuAction.label" - style="pulldown" - toolbarPath="peers"> - </action> - - <action - class="org.eclipse.tcf.te.tcf.ui.views.scriptpad.actions.PlayAction" - icon="icons/etool16/run_exc.gif" - id="org.eclipse.tcf.te.tcf.ui.scriptpad.toolbar.play" - label="%PlayAction.label" - style="push" - toolbarPath="play"> - </action> - </viewContribution> - </extension> - <!-- Target Explorer menu contributions --> <extension point="org.eclipse.ui.menus"> <menuContribution locationURI="popup:org.eclipse.tcf.te.ui.views.TargetExplorer#Popup?after=group.refresh"> diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/activator/UIPlugin.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/activator/UIPlugin.java index 1825971d2..fa0d4fbc3 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/activator/UIPlugin.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/activator/UIPlugin.java @@ -97,8 +97,8 @@ public class UIPlugin extends AbstractUIPlugin { */ @Override protected void initializeImageRegistry(ImageRegistry registry) { - URL url = UIPlugin.getDefault().getBundle().getEntry(ImageConsts.IMAGE_DIR_ROOT + ImageConsts.IMAGE_DIR_OBJ + "target.gif"); //$NON-NLS-1$ - registry.put(ImageConsts.TARGET, ImageDescriptor.createFromURL(url)); + URL url = UIPlugin.getDefault().getBundle().getEntry(ImageConsts.IMAGE_DIR_ROOT + ImageConsts.IMAGE_DIR_OBJ + "peer.gif"); //$NON-NLS-1$ + registry.put(ImageConsts.PEER, ImageDescriptor.createFromURL(url)); url = UIPlugin.getDefault().getBundle().getEntry(ImageConsts.IMAGE_DIR_ROOT + ImageConsts.IMAGE_DIR_OVR + "gold_ovr.gif"); //$NON-NLS-1$ registry.put(ImageConsts.GOLD_OVR, ImageDescriptor.createFromURL(url)); diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/dialogs/AgentSelectionDialog.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/dialogs/AgentSelectionDialog.java index a78a5d9e9..3b4d6dff1 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/dialogs/AgentSelectionDialog.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/dialogs/AgentSelectionDialog.java @@ -32,7 +32,7 @@ import org.eclipse.swt.widgets.Table; import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.tcf.protocol.Protocol;
import org.eclipse.tcf.te.tcf.ui.internal.help.IContextHelpIds;
-import org.eclipse.tcf.te.tcf.ui.internal.navigator.LabelProviderDelegate;
+import org.eclipse.tcf.te.tcf.ui.navigator.LabelProviderDelegate;
import org.eclipse.tcf.te.tcf.ui.nls.Messages;
import org.eclipse.tcf.te.tcf.locator.interfaces.nodes.ILocatorModel;
import org.eclipse.tcf.te.tcf.locator.interfaces.nodes.IPeerModel;
@@ -113,7 +113,7 @@ public class AgentSelectionDialog extends CustomTitleAreaDialog { viewer.setContentProvider(new ArrayContentProvider());
LabelProviderDelegate labelProvider = new LabelProviderDelegate() {
/* (non-Javadoc)
- * @see org.eclipse.tcf.te.tcf.ui.internal.navigator.LabelProviderDelegate#decorateImage(org.eclipse.swt.graphics.Image, java.lang.Object)
+ * @see org.eclipse.tcf.te.tcf.ui.navigator.LabelProviderDelegate#decorateImage(org.eclipse.swt.graphics.Image, java.lang.Object)
*/
@Override
public Image decorateImage(Image image, Object element) {
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/internal/ImageConsts.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/internal/ImageConsts.java index c9b63917d..028b29797 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/internal/ImageConsts.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/internal/ImageConsts.java @@ -61,9 +61,9 @@ public interface ImageConsts { // ***** The image constants ***** /** - * The key to access the base target object image. + * The key to access the base peer object image. */ - public static final String TARGET = "TargetObject"; //$NON-NLS-1$ + public static final String PEER = "PeerObject"; //$NON-NLS-1$ /** * The key to access the target object gold overlay image. diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/internal/navigator/ContentProviderDelegate.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/navigator/ContentProviderDelegate.java index c4a79d761..a37bdaea7 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/internal/navigator/ContentProviderDelegate.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/navigator/ContentProviderDelegate.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.tcf.ui.internal.navigator; +package org.eclipse.tcf.te.tcf.ui.navigator; import org.eclipse.jface.viewers.ITreeContentProvider; import org.eclipse.jface.viewers.Viewer; diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/internal/navigator/LabelProvider.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/navigator/LabelProvider.java index c3dcc11fc..297024712 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/internal/navigator/LabelProvider.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/navigator/LabelProvider.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.tcf.ui.internal.navigator; +package org.eclipse.tcf.te.tcf.ui.navigator; import org.eclipse.jface.viewers.DecoratingLabelProvider; diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/internal/navigator/LabelProviderDelegate.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/navigator/LabelProviderDelegate.java index 5c2e3e37a..445a7bff9 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/internal/navigator/LabelProviderDelegate.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/navigator/LabelProviderDelegate.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.tcf.ui.internal.navigator; +package org.eclipse.tcf.te.tcf.ui.navigator; import org.eclipse.core.runtime.Assert; import org.eclipse.jface.viewers.ILabelDecorator; @@ -18,7 +18,7 @@ import org.eclipse.tcf.protocol.Protocol; import org.eclipse.tcf.te.tcf.locator.interfaces.nodes.IPeerModel; import org.eclipse.tcf.te.tcf.ui.activator.UIPlugin; import org.eclipse.tcf.te.tcf.ui.internal.ImageConsts; -import org.eclipse.tcf.te.tcf.ui.internal.navigator.images.PeerImageDescriptor; +import org.eclipse.tcf.te.tcf.ui.navigator.images.PeerImageDescriptor; import org.eclipse.tcf.te.ui.jface.images.AbstractImageDescriptor; @@ -63,7 +63,7 @@ public class LabelProviderDelegate extends LabelProvider implements ILabelDecora @Override public Image getImage(Object element) { if (element instanceof IPeerModel) { - return UIPlugin.getImage(ImageConsts.TARGET); + return UIPlugin.getImage(ImageConsts.PEER); } return super.getImage(element); diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/internal/navigator/ModelListener.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/navigator/ModelListener.java index 9b62b22fe..0555c03e5 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/internal/navigator/ModelListener.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/navigator/ModelListener.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.tcf.ui.internal.navigator; +package org.eclipse.tcf.te.tcf.ui.navigator; import org.eclipse.core.runtime.Assert; import org.eclipse.tcf.te.tcf.locator.interfaces.nodes.ILocatorModel; diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/internal/navigator/images/PeerImageDescriptor.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/navigator/images/PeerImageDescriptor.java index cbdc37fbd..d99905b67 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/internal/navigator/images/PeerImageDescriptor.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/navigator/images/PeerImageDescriptor.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.tcf.ui.internal.navigator.images; +package org.eclipse.tcf.te.tcf.ui.navigator.images; import org.eclipse.core.runtime.Assert; import org.eclipse.jface.resource.ImageRegistry; diff --git a/target_explorer/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/activator/UIPlugin.java b/target_explorer/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/activator/UIPlugin.java index 2cf1462bf..6c9e4a4eb 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/activator/UIPlugin.java +++ b/target_explorer/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/activator/UIPlugin.java @@ -29,7 +29,7 @@ import org.osgi.framework.BundleContext; public class UIPlugin extends AbstractUIPlugin {
// The shared instance
private static UIPlugin plugin;
-
+ // The scoped preferences instance
private static ScopedEclipsePreferences scopedPreferences = null;
// The trace handler instance
private static TraceHandler traceHandler;
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.ui/plugin.xml b/target_explorer/plugins/org.eclipse.tcf.te.ui/plugin.xml index 6939a513d..5cdef74b1 100644 --- a/target_explorer/plugins/org.eclipse.tcf.te.ui/plugin.xml +++ b/target_explorer/plugins/org.eclipse.tcf.te.ui/plugin.xml @@ -24,7 +24,7 @@ categoryId="org.eclipse.tcf.te.ui.commands.category"
defaultHandler="org.eclipse.tcf.te.ui.wizards.newWizard.NewWizardCommandHandler"
description="%Command.newWizards.description"
- helpContextId="org.eclipse.tcf.te.ui.command.newWizards"
+ helpContextId="org.eclipse.tcf.te.ui.command_NewWizards"
id="org.eclipse.tcf.te.ui.command.newWizards"
name="%Command.newWizards.name">
</command>
|