You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by jo...@apache.org on 2011/08/01 16:38:36 UTC
svn commit: r1152804 [3/15] - in /uima/sandbox/trunk/TextMarker:
org.apache.uima.tm.dltk.debug.ui/ org.apache.uima.tm.dltk.debug.ui/META-INF/
org.apache.uima.tm.dltk.debug.ui/bin/
org.apache.uima.tm.dltk.debug.ui/icons/ org.apache.uima.tm.dltk.debug.ui...
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/interpreters/TextMarkerInterpreterContainerWizardPage.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/interpreters/TextMarkerInterpreterContainerWizardPage.java?rev=1152804&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/interpreters/TextMarkerInterpreterContainerWizardPage.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/interpreters/TextMarkerInterpreterContainerWizardPage.java Mon Aug 1 14:37:34 2011
@@ -0,0 +1,13 @@
+package org.apache.uima.tm.dltk.internal.debug.ui.interpreters;
+
+import org.eclipse.dltk.internal.debug.ui.interpreters.AbstractInterpreterComboBlock;
+import org.eclipse.dltk.internal.debug.ui.interpreters.AbstractInterpreterContainerWizardPage;
+
+public class TextMarkerInterpreterContainerWizardPage extends
+ AbstractInterpreterContainerWizardPage {
+
+ @Override
+ protected AbstractInterpreterComboBlock getInterpreterBlock() {
+ return new TextMarkerInterpreterComboBlock();
+ }
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/interpreters/TextMarkerInterpreterContainerWizardPage.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/interpreters/TextMarkerInterpreterContainerWizardPage.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/interpreters/TextMarkerInterpreterLibraryBlock.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/interpreters/TextMarkerInterpreterLibraryBlock.java?rev=1152804&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/interpreters/TextMarkerInterpreterLibraryBlock.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/interpreters/TextMarkerInterpreterLibraryBlock.java Mon Aug 1 14:37:34 2011
@@ -0,0 +1,29 @@
+package org.apache.uima.tm.dltk.internal.debug.ui.interpreters;
+
+import org.eclipse.dltk.internal.debug.ui.interpreters.AbstractInterpreterLibraryBlock;
+import org.eclipse.dltk.internal.debug.ui.interpreters.AddScriptInterpreterDialog;
+import org.eclipse.dltk.internal.debug.ui.interpreters.LibraryLabelProvider;
+import org.eclipse.jface.dialogs.IDialogSettings;
+import org.eclipse.jface.viewers.IBaseLabelProvider;
+
+import org.apache.uima.tm.dltk.internal.debug.ui.TextMarkerDebugUIPlugin;
+
+/**
+ * Control used to edit the libraries associated with a Interpreter install
+ */
+public class TextMarkerInterpreterLibraryBlock extends AbstractInterpreterLibraryBlock {
+
+ public TextMarkerInterpreterLibraryBlock(AddScriptInterpreterDialog d) {
+ super(d);
+ }
+
+ @Override
+ protected IBaseLabelProvider getLabelProvider() {
+ return new LibraryLabelProvider();
+ }
+
+ @Override
+ protected IDialogSettings getDialogSettions() {
+ return TextMarkerDebugUIPlugin.getDefault().getDialogSettings();
+ }
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/interpreters/TextMarkerInterpreterLibraryBlock.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/interpreters/TextMarkerInterpreterLibraryBlock.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/interpreters/TextMarkerInterpreterPreferencePage.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/interpreters/TextMarkerInterpreterPreferencePage.java?rev=1152804&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/interpreters/TextMarkerInterpreterPreferencePage.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/interpreters/TextMarkerInterpreterPreferencePage.java Mon Aug 1 14:37:34 2011
@@ -0,0 +1,12 @@
+package org.apache.uima.tm.dltk.internal.debug.ui.interpreters;
+
+import org.eclipse.dltk.internal.debug.ui.interpreters.InterpretersBlock;
+import org.eclipse.dltk.internal.debug.ui.interpreters.ScriptInterpreterPreferencePage;
+
+public class TextMarkerInterpreterPreferencePage extends ScriptInterpreterPreferencePage {
+
+ @Override
+ public InterpretersBlock createInterpretersBlock() {
+ return new TextMarkerInterpretersBlock();
+ }
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/interpreters/TextMarkerInterpreterPreferencePage.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/interpreters/TextMarkerInterpreterPreferencePage.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/interpreters/TextMarkerInterpreterTab.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/interpreters/TextMarkerInterpreterTab.java?rev=1152804&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/interpreters/TextMarkerInterpreterTab.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/interpreters/TextMarkerInterpreterTab.java Mon Aug 1 14:37:34 2011
@@ -0,0 +1,25 @@
+package org.apache.uima.tm.dltk.internal.debug.ui.interpreters;
+
+import org.eclipse.dltk.debug.ui.launchConfigurations.IMainLaunchConfigurationTabListenerManager;
+import org.eclipse.dltk.debug.ui.launchConfigurations.InterpreterTab;
+import org.eclipse.dltk.internal.debug.ui.interpreters.AbstractInterpreterComboBlock;
+
+import org.apache.uima.tm.dltk.core.TextMarkerNature;
+
+public class TextMarkerInterpreterTab extends InterpreterTab {
+
+ public TextMarkerInterpreterTab(IMainLaunchConfigurationTabListenerManager listenerManager) {
+ super(listenerManager);
+ }
+
+ @Override
+ protected AbstractInterpreterComboBlock getInterpreterBlock() {
+ return new TextMarkerInterpreterComboBlock();
+ }
+
+ @Override
+ protected String getNature() {
+ return TextMarkerNature.NATURE_ID;
+ }
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/interpreters/TextMarkerInterpreterTab.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/interpreters/TextMarkerInterpreterTab.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/interpreters/TextMarkerInterpretersBlock.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/interpreters/TextMarkerInterpretersBlock.java?rev=1152804&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/interpreters/TextMarkerInterpretersBlock.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/interpreters/TextMarkerInterpretersBlock.java Mon Aug 1 14:37:34 2011
@@ -0,0 +1,22 @@
+package org.apache.uima.tm.dltk.internal.debug.ui.interpreters;
+
+import org.eclipse.dltk.internal.debug.ui.interpreters.AddScriptInterpreterDialog;
+import org.eclipse.dltk.internal.debug.ui.interpreters.InterpretersBlock;
+import org.eclipse.dltk.launching.IInterpreterInstall;
+import org.eclipse.dltk.launching.ScriptRuntime;
+
+import org.apache.uima.tm.dltk.core.TextMarkerNature;
+
+public class TextMarkerInterpretersBlock extends InterpretersBlock {
+ @Override
+ protected AddScriptInterpreterDialog createInterpreterDialog(IInterpreterInstall standin) {
+ AddTextMarkerInterpreterDialog dialog = new AddTextMarkerInterpreterDialog(this, getShell(),
+ ScriptRuntime.getInterpreterInstallTypes(getCurrentNature()), standin);
+ return dialog;
+ }
+
+ @Override
+ protected String getCurrentNature() {
+ return TextMarkerNature.NATURE_ID;
+ }
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/interpreters/TextMarkerInterpretersBlock.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/interpreters/TextMarkerInterpretersBlock.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/launchConfigurations/TextMarkerArgumentsTab.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/launchConfigurations/TextMarkerArgumentsTab.java?rev=1152804&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/launchConfigurations/TextMarkerArgumentsTab.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/launchConfigurations/TextMarkerArgumentsTab.java Mon Aug 1 14:37:34 2011
@@ -0,0 +1,12 @@
+package org.apache.uima.tm.dltk.internal.debug.ui.launchConfigurations;
+
+import org.eclipse.dltk.debug.ui.launchConfigurations.ScriptArgumentsTab;
+import org.eclipse.dltk.internal.debug.ui.launcher.InterpreterArgumentsBlock;
+
+public class TextMarkerArgumentsTab extends ScriptArgumentsTab {
+
+ @Override
+ protected InterpreterArgumentsBlock createInterpreterArgsBlock() {
+ return null;
+ }
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/launchConfigurations/TextMarkerArgumentsTab.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/launchConfigurations/TextMarkerArgumentsTab.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/launchConfigurations/TextMarkerCommonTab.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/launchConfigurations/TextMarkerCommonTab.java?rev=1152804&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/launchConfigurations/TextMarkerCommonTab.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/launchConfigurations/TextMarkerCommonTab.java Mon Aug 1 14:37:34 2011
@@ -0,0 +1,1031 @@
+package org.apache.uima.tm.dltk.internal.debug.ui.launchConfigurations;
+
+import java.io.IOException;
+import java.text.MessageFormat;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IWorkspaceRoot;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.variables.VariablesPlugin;
+import org.eclipse.debug.core.DebugPlugin;
+import org.eclipse.debug.core.ILaunchConfiguration;
+import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
+import org.eclipse.debug.internal.ui.DebugUIPlugin;
+import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
+import org.eclipse.debug.internal.ui.IInternalDebugUIConstants;
+import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationManager;
+import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsMessages;
+import org.eclipse.debug.internal.ui.launchConfigurations.LaunchGroupExtension;
+import org.eclipse.debug.internal.ui.launchConfigurations.LaunchHistory;
+import org.eclipse.debug.ui.AbstractLaunchConfigurationTab;
+import org.eclipse.debug.ui.DebugUITools;
+import org.eclipse.debug.ui.IDebugUIConstants;
+import org.eclipse.debug.ui.ILaunchGroup;
+import org.eclipse.debug.ui.StringVariableSelectionDialog;
+import org.eclipse.dltk.core.environment.EnvironmentManager;
+import org.eclipse.dltk.core.environment.IExecutionEnvironment;
+import org.eclipse.dltk.core.environment.IFileHandle;
+import org.eclipse.dltk.internal.ui.util.SWTUtil;
+import org.eclipse.dltk.launching.ScriptLaunchConfigurationConstants;
+import org.eclipse.jface.dialogs.IDialogConstants;
+import org.eclipse.jface.dialogs.IDialogSettings;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.viewers.CheckStateChangedEvent;
+import org.eclipse.jface.viewers.CheckboxTableViewer;
+import org.eclipse.jface.viewers.ICheckStateListener;
+import org.eclipse.jface.viewers.ILabelProviderListener;
+import org.eclipse.jface.viewers.IStructuredContentProvider;
+import org.eclipse.jface.viewers.ITableLabelProvider;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.FileDialog;
+import org.eclipse.swt.widgets.Group;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.WorkbenchEncoding;
+import org.eclipse.ui.dialogs.ContainerSelectionDialog;
+import org.eclipse.ui.dialogs.ElementTreeSelectionDialog;
+import org.eclipse.ui.ide.IDEEncoding;
+import org.eclipse.ui.model.WorkbenchContentProvider;
+import org.eclipse.ui.model.WorkbenchLabelProvider;
+import org.eclipse.ui.views.navigator.ResourceSorter;
+
+import org.apache.uima.tm.dltk.launching.TextMarkerLaunchingPlugin;
+
+/**
+ * Launch configuration tab used to specify the location a launch configuration is stored in,
+ * whether it should appear in the favorites list, and perspective switching behavior for an
+ * associated launch.
+ * <p>
+ * Clients may instantiate this class. This class is not intended to be subclassed.
+ * </p>
+ *
+ *
+ */
+public class TextMarkerCommonTab extends AbstractLaunchConfigurationTab {
+
+ /**
+ * Provides a persistable dialog for selecting the shared project location
+ */
+ class SharedLocationSelectionDialog extends ContainerSelectionDialog {
+ private final String SETTINGS_ID = IDebugUIConstants.PLUGIN_ID
+ + ".SHARED_LAUNCH_CONFIGURATON_DIALOG"; //$NON-NLS-1$
+
+ public SharedLocationSelectionDialog(Shell parentShell, IContainer initialRoot,
+ boolean allowNewContainerName, String message) {
+ super(parentShell, initialRoot, allowNewContainerName, message);
+ }
+
+ @Override
+ protected IDialogSettings getDialogBoundsSettings() {
+ IDialogSettings settings = DebugUIPlugin.getDefault().getDialogSettings();
+ IDialogSettings section = settings.getSection(SETTINGS_ID);
+ if (section == null) {
+ section = settings.addNewSection(SETTINGS_ID);
+ }
+ return section;
+ }
+ }
+
+ private static final String EMPTY_STRING = ""; //$NON-NLS-1$
+
+ // Local/shared UI widgets
+ private Button fLocalRadioButton;
+
+ private Button fSharedRadioButton;
+
+ private Text fSharedLocationText;
+
+ private Button fSharedLocationButton;
+
+ private Button fLaunchInBackgroundButton;
+
+ private Button fDefaultEncodingButton;
+
+ private Button fAltEncodingButton;
+
+ private Combo fEncodingCombo;
+
+ private Button fConsoleOutput;
+
+ private Button fFileOutput;
+
+ private Button fFileBrowse;
+
+ private Text fFileText;
+
+ private Button fVariables;
+
+ private Button fAppend;
+
+ private Button fWorkspaceBrowse;
+
+ private Button fUseDltkRadio;
+
+ private Button fNotUseDltkRatio;
+
+ /**
+ * Check box list for specifying favorites
+ */
+ private CheckboxTableViewer fFavoritesTable;
+
+ /**
+ * Modify listener that simply updates the owning launch configuration dialog.
+ */
+ private ModifyListener fBasicModifyListener = new ModifyListener() {
+ public void modifyText(ModifyEvent evt) {
+ updateLaunchConfigurationDialog();
+ }
+ };
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(org.eclipse.swt.widgets.Composite)
+ */
+ public void createControl(Composite parent) {
+ Composite comp = new Composite(parent, SWT.NONE);
+ setControl(comp);
+ PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(),
+ IDebugHelpContextIds.LAUNCH_CONFIGURATION_DIALOG_COMMON_TAB);
+ comp.setLayout(new GridLayout(2, true));
+ comp.setFont(parent.getFont());
+
+ createSharedConfigComponent(comp);
+ createFavoritesComponent(comp);
+ createEncodingComponent(comp);
+ createOutputCaptureComponent(comp);
+ createLaunchInBackgroundComponent(comp);
+ }
+
+ /**
+ * Creates the favorites control
+ *
+ * @param parent
+ * the parent composite to add this one to
+ *
+ */
+ private void createFavoritesComponent(Composite parent) {
+ Group favComp = SWTUtil.createGroup(parent,
+ LaunchConfigurationsMessages.CommonTab_Display_in_favorites_menu__10, 1, 1,
+ GridData.FILL_BOTH);
+ fFavoritesTable = CheckboxTableViewer.newCheckList(favComp, SWT.CHECK | SWT.BORDER | SWT.MULTI
+ | SWT.FULL_SELECTION);
+ Control table = fFavoritesTable.getControl();
+ GridData gd = new GridData(GridData.FILL_BOTH);
+ table.setLayoutData(gd);
+ table.setFont(parent.getFont());
+ fFavoritesTable.setContentProvider(new FavoritesContentProvider());
+ fFavoritesTable.setLabelProvider(new FavoritesLabelProvider());
+ fFavoritesTable.addCheckStateListener(new ICheckStateListener() {
+ public void checkStateChanged(CheckStateChangedEvent event) {
+ updateLaunchConfigurationDialog();
+ }
+ });
+ }
+
+ /**
+ * Creates the shared config component
+ *
+ * @param parent
+ * the parent composite to add this component to
+ *
+ */
+ private void createSharedConfigComponent(Composite parent) {
+ Group group = SWTUtil.createGroup(parent, LaunchConfigurationsMessages.CommonTab_0, 3, 2,
+ GridData.FILL_HORIZONTAL);
+ fLocalRadioButton = createRadioButton(group, LaunchConfigurationsMessages.CommonTab_L_ocal_3);
+ GridData gd = new GridData();
+ gd.horizontalSpan = 3;
+ fLocalRadioButton.setLayoutData(gd);
+ fSharedRadioButton = createRadioButton(group, LaunchConfigurationsMessages.CommonTab_S_hared_4);
+ fSharedRadioButton.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent evt) {
+ handleSharedRadioButtonSelected();
+ }
+ });
+ fSharedLocationText = SWTUtil.createSingleText(group, 1);
+ fSharedLocationText.addModifyListener(fBasicModifyListener);
+ fSharedLocationButton = createPushButton(group,
+ LaunchConfigurationsMessages.CommonTab__Browse_6, null);
+ fSharedLocationButton.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent evt) {
+ handleSharedLocationButtonSelected();
+ }
+ });
+
+ fLocalRadioButton.setSelection(true);
+ setSharedEnabled(false);
+ }
+
+ /**
+ * Creates the component set for the capture output composite
+ *
+ * @param data.parent
+ * the parent to add this component to
+ */
+
+ private void test() {
+
+ }
+
+ private void createOutputCaptureComponent(Composite parent) {
+ Group group = SWTUtil.createGroup(parent, "Input and Output", 1, 2, GridData.FILL_HORIZONTAL);
+
+ fUseDltkRadio = createRadioButton(group, "Use DLTK Input and Output");
+ fUseDltkRadio.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ updateLaunchConfigurationDialog();
+ }
+ });
+
+ fNotUseDltkRatio = createRadioButton(group, "Use Standard Input and Output");
+ fNotUseDltkRatio.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ updateLaunchConfigurationDialog();
+ }
+ });
+
+ Group standardGroup = SWTUtil.createGroup(group, "", 5, 2, GridData.FILL_HORIZONTAL);
+
+ fConsoleOutput = createCheckButton(standardGroup, LaunchConfigurationsMessages.CommonTab_5);
+ GridData gd = new GridData(SWT.BEGINNING, SWT.NORMAL, true, false);
+ gd.horizontalSpan = 5;
+ fConsoleOutput.setLayoutData(gd);
+ fConsoleOutput.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ updateLaunchConfigurationDialog();
+ }
+ });
+
+ fFileOutput = createCheckButton(standardGroup, LaunchConfigurationsMessages.CommonTab_6);
+ fFileOutput.setLayoutData(new GridData(SWT.BEGINNING, SWT.NORMAL, false, false));
+ fFileOutput.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ enableOuputCaptureWidgets(fFileOutput.getSelection());
+ updateLaunchConfigurationDialog();
+ }
+ });
+ fFileText = SWTUtil.createSingleText(standardGroup, 4);
+ fFileText.addModifyListener(fBasicModifyListener);
+
+ SWTUtil.createLabel(standardGroup, EMPTY_STRING, 2);
+
+ fWorkspaceBrowse = createPushButton(standardGroup, LaunchConfigurationsMessages.CommonTab_12,
+ null);
+ fWorkspaceBrowse.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(getShell(),
+ new WorkbenchLabelProvider(), new WorkbenchContentProvider());
+ dialog.setTitle(LaunchConfigurationsMessages.CommonTab_13);
+ dialog.setMessage(LaunchConfigurationsMessages.CommonTab_14);
+ dialog.setInput(ResourcesPlugin.getWorkspace().getRoot());
+ dialog.setSorter(new ResourceSorter(ResourceSorter.NAME));
+ if (dialog.open() == IDialogConstants.OK_ID) {
+ IResource resource = (IResource) dialog.getFirstResult();
+ String arg = resource.getFullPath().toString();
+ String fileLoc = VariablesPlugin.getDefault().getStringVariableManager()
+ .generateVariableExpression("workspace_loc", arg); //$NON-NLS-1$
+ fFileText.setText(fileLoc);
+ }
+ }
+ });
+ fFileBrowse = createPushButton(standardGroup, LaunchConfigurationsMessages.CommonTab_7, null);
+ fFileBrowse.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ String filePath = fFileText.getText();
+ FileDialog dialog = new FileDialog(getShell(), SWT.SAVE);
+ filePath = dialog.open();
+ if (filePath != null) {
+ fFileText.setText(filePath);
+ }
+ }
+ });
+ fVariables = createPushButton(standardGroup, LaunchConfigurationsMessages.CommonTab_9, null);
+ fVariables.addSelectionListener(new SelectionListener() {
+ public void widgetSelected(SelectionEvent e) {
+ StringVariableSelectionDialog dialog = new StringVariableSelectionDialog(getShell());
+ dialog.open();
+ String variable = dialog.getVariableExpression();
+ if (variable != null) {
+ fFileText.insert(variable);
+ }
+ }
+
+ public void widgetDefaultSelected(SelectionEvent e) {
+ }
+ });
+ fAppend = createCheckButton(standardGroup, LaunchConfigurationsMessages.CommonTab_11);
+ gd = new GridData(SWT.LEFT, SWT.TOP, true, false);
+ gd.horizontalSpan = 4;
+ fAppend.setLayoutData(gd);
+ fAppend.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ updateLaunchConfigurationDialog();
+ }
+ });
+ }
+
+ /**
+ * Enables or disables the output capture widgets based on the the specified enablement
+ *
+ * @param enable
+ * if the output capture widgets should be enabled or not
+ *
+ */
+ private void enableOuputCaptureWidgets(boolean enable) {
+ fFileText.setEnabled(enable);
+ fFileBrowse.setEnabled(enable);
+ fWorkspaceBrowse.setEnabled(enable);
+ fVariables.setEnabled(enable);
+ fAppend.setEnabled(enable);
+ }
+
+ /**
+ * Creates the encoding component
+ *
+ * @param parent
+ * the parent to add this composite to
+ */
+ private void createEncodingComponent(Composite parent) {
+ List allEncodings = IDEEncoding.getIDEEncodings();
+ String defaultEncoding = WorkbenchEncoding.getWorkbenchDefaultEncoding();
+ Group group = SWTUtil.createGroup(parent, LaunchConfigurationsMessages.CommonTab_1, 2, 1,
+ GridData.FILL_BOTH);
+
+ fDefaultEncodingButton = createRadioButton(group, MessageFormat.format(
+ LaunchConfigurationsMessages.CommonTab_2, new String[] { defaultEncoding }));
+ GridData gd = new GridData(SWT.BEGINNING, SWT.NORMAL, true, false);
+ gd.horizontalSpan = 2;
+ fDefaultEncodingButton.setLayoutData(gd);
+
+ fAltEncodingButton = createRadioButton(group, LaunchConfigurationsMessages.CommonTab_3);
+ fAltEncodingButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
+
+ fEncodingCombo = new Combo(group, SWT.READ_ONLY);
+ fEncodingCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ fEncodingCombo.setFont(parent.getFont());
+ String[] encodingArray = (String[]) allEncodings.toArray(new String[0]);
+ fEncodingCombo.setItems(encodingArray);
+ if (encodingArray.length > 0) {
+ fEncodingCombo.select(0);
+ }
+ SelectionListener listener = new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ updateLaunchConfigurationDialog();
+ fEncodingCombo.setEnabled(fAltEncodingButton.getSelection() == true);
+ }
+ };
+ fAltEncodingButton.addSelectionListener(listener);
+ fDefaultEncodingButton.addSelectionListener(listener);
+ fEncodingCombo.addSelectionListener(listener);
+ }
+
+ /**
+ * Creates the controls needed to edit the launch in background attribute of an external tool
+ *
+ * @param parent
+ * the composite to create the controls in
+ */
+ protected void createLaunchInBackgroundComponent(Composite parent) {
+ fLaunchInBackgroundButton = createCheckButton(parent, LaunchConfigurationsMessages.CommonTab_10);
+ GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
+ data.horizontalSpan = 2;
+ fLaunchInBackgroundButton.setLayoutData(data);
+ fLaunchInBackgroundButton.setFont(parent.getFont());
+ fLaunchInBackgroundButton.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ updateLaunchConfigurationDialog();
+ }
+ });
+ }
+
+ /**
+ * handles the shared radio button being selected
+ */
+ private void handleSharedRadioButtonSelected() {
+ setSharedEnabled(isShared());
+ updateLaunchConfigurationDialog();
+ }
+
+ /**
+ * Sets the widgets for specifying that a launch configuration is to be shared to the enable value
+ *
+ * @param enable
+ * the enabled value for
+ */
+ private void setSharedEnabled(boolean enable) {
+ fSharedLocationText.setEnabled(enable);
+ fSharedLocationButton.setEnabled(enable);
+ }
+
+ private String getDefaultSharedConfigLocation(ILaunchConfiguration config) {
+ String path = EMPTY_STRING;
+ try {
+ IResource[] res = config.getMappedResources();
+ if (res != null) {
+ IProject proj;
+ for (int i = 0; i < res.length; i++) {
+ proj = res[i].getProject();
+ if (proj.isAccessible()) {
+ return proj.getFullPath().toOSString();
+ }
+ }
+ }
+ } catch (CoreException e) {
+ DebugUIPlugin.log(e);
+ }
+ return path;
+ }
+
+ /**
+ * if the shared radio button is selected, indicating that the launch configuration is to be
+ * shared
+ *
+ * @return true if the radio button is selected, false otherwise
+ */
+ private boolean isShared() {
+ return fSharedRadioButton.getSelection();
+ }
+
+ /**
+ * Handles the shared location button being selected
+ */
+ private void handleSharedLocationButtonSelected() {
+ String currentContainerString = fSharedLocationText.getText();
+ IContainer currentContainer = getContainer(currentContainerString);
+ SharedLocationSelectionDialog dialog = new SharedLocationSelectionDialog(
+ getShell(),
+ currentContainer,
+ false,
+ LaunchConfigurationsMessages.CommonTab_Select_a_location_for_the_launch_configuration_13);
+ dialog.showClosedProjects(false);
+ dialog.open();
+ Object[] results = dialog.getResult();
+ if ((results != null) && (results.length > 0) && (results[0] instanceof IPath)) {
+ IPath path = (IPath) results[0];
+ String containerName = path.toOSString();
+ fSharedLocationText.setText(containerName);
+ }
+ }
+
+ /**
+ * gets the container form the specified path
+ *
+ * @param path
+ * the path to get the container from
+ * @return the container for the specified path or null if one cannot be determined
+ */
+ private IContainer getContainer(String path) {
+ Path containerPath = new Path(path);
+ return (IContainer) getWorkspaceRoot().findMember(containerPath);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @seeorg.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(org.eclipse.debug.core.
+ * ILaunchConfiguration)
+ */
+ public void initializeFrom(ILaunchConfiguration configuration) {
+ boolean isShared = !configuration.isLocal();
+ fSharedRadioButton.setSelection(isShared);
+ fLocalRadioButton.setSelection(!isShared);
+ setSharedEnabled(isShared);
+ fSharedLocationText.setText(getDefaultSharedConfigLocation(configuration));
+ if (isShared) {
+ String containerName = EMPTY_STRING;
+ IFile file = configuration.getFile();
+ if (file != null) {
+ IContainer parent = file.getParent();
+ if (parent != null) {
+ containerName = parent.getFullPath().toOSString();
+ }
+ }
+ fSharedLocationText.setText(containerName);
+ }
+ updateFavoritesFromConfig(configuration);
+ updateLaunchInBackground(configuration);
+ updateEncoding(configuration);
+ updateConsoleOutput(configuration);
+ }
+
+ /**
+ * Updates the console output form the local configuration
+ *
+ * @param configuration
+ * the local configuration
+ */
+ private void updateConsoleOutput(ILaunchConfiguration configuration) {
+ boolean outputToConsole = true;
+ String outputFile = null;
+ boolean append = false;
+
+ boolean dltkOutput = false;
+
+ try {
+ dltkOutput = configuration.getAttribute(
+ ScriptLaunchConfigurationConstants.ATTR_USE_INTERACTIVE_CONSOLE, false);
+
+ outputToConsole = configuration.getAttribute(IDebugUIConstants.ATTR_CAPTURE_IN_CONSOLE, true);
+ outputFile = configuration
+ .getAttribute(IDebugUIConstants.ATTR_CAPTURE_IN_FILE, (String) null);
+ append = configuration.getAttribute(IDebugUIConstants.ATTR_APPEND_TO_FILE, false);
+ } catch (CoreException e) {
+ }
+
+ fUseDltkRadio.setSelection(dltkOutput);
+ fNotUseDltkRatio.setSelection(!dltkOutput);
+
+ fConsoleOutput.setSelection(outputToConsole);
+ fAppend.setSelection(append);
+ boolean haveOutputFile = outputFile != null;
+ if (haveOutputFile) {
+ fFileText.setText(outputFile);
+ }
+ fFileOutput.setSelection(haveOutputFile);
+ enableOuputCaptureWidgets(haveOutputFile);
+ }
+
+ /**
+ * Updates the launch on background check button
+ *
+ * @param configuration
+ * the local launch configuration
+ */
+ protected void updateLaunchInBackground(ILaunchConfiguration configuration) {
+ fLaunchInBackgroundButton.setSelection(isLaunchInBackground(configuration));
+ }
+
+ /**
+ * Updates the encoding
+ *
+ * @param configuration
+ * the local configuration
+ */
+ private void updateEncoding(ILaunchConfiguration configuration) {
+ String encoding = null;
+ try {
+ encoding = configuration.getAttribute(IDebugUIConstants.ATTR_CONSOLE_ENCODING, (String) null);
+ } catch (CoreException e) {
+ }
+
+ if (encoding != null) {
+ fAltEncodingButton.setSelection(true);
+ fDefaultEncodingButton.setSelection(false);
+ fEncodingCombo.setText(encoding);
+ fEncodingCombo.setEnabled(true);
+ } else {
+ fDefaultEncodingButton.setSelection(true);
+ fAltEncodingButton.setSelection(false);
+ fEncodingCombo.setEnabled(false);
+ }
+ }
+
+ /**
+ * Returns whether the given configuration should be launched in the background.
+ *
+ * @param configuration
+ * the configuration
+ * @return whether the configuration is configured to launch in the background
+ */
+ public static boolean isLaunchInBackground(ILaunchConfiguration configuration) {
+ boolean launchInBackground = true;
+ try {
+ launchInBackground = configuration.getAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND,
+ true);
+ } catch (CoreException ce) {
+ DebugUIPlugin.log(ce);
+ }
+ return launchInBackground;
+ }
+
+ /**
+ * Updates the favorites selections from the local configuration
+ *
+ * @param config
+ * the local configuration
+ */
+ private void updateFavoritesFromConfig(ILaunchConfiguration config) {
+ fFavoritesTable.setInput(config);
+ fFavoritesTable.setCheckedElements(new Object[] {});
+ try {
+ List groups = config.getAttribute(IDebugUIConstants.ATTR_FAVORITE_GROUPS, new ArrayList());
+ if (groups.isEmpty()) {
+ // check old attributes for backwards compatible
+ if (config.getAttribute(IDebugUIConstants.ATTR_DEBUG_FAVORITE, false)) {
+ groups.add(IDebugUIConstants.ID_DEBUG_LAUNCH_GROUP);
+ }
+ if (config.getAttribute(IDebugUIConstants.ATTR_RUN_FAVORITE, false)) {
+ groups.add(IDebugUIConstants.ID_RUN_LAUNCH_GROUP);
+ }
+ }
+ if (!groups.isEmpty()) {
+ List list = new ArrayList();
+ Iterator iterator = groups.iterator();
+ while (iterator.hasNext()) {
+ String id = (String) iterator.next();
+ LaunchGroupExtension extension = getLaunchConfigurationManager().getLaunchGroup(id);
+ list.add(extension);
+ }
+ fFavoritesTable.setCheckedElements(list.toArray());
+ }
+ } catch (CoreException e) {
+ DebugUIPlugin.log(e);
+ }
+ }
+
+ /**
+ * Updates the configuration form the local shared config working copy
+ *
+ * @param config
+ * the local shared config working copy
+ */
+ private void updateConfigFromLocalShared(ILaunchConfigurationWorkingCopy config) {
+ if (isShared()) {
+ String containerPathString = fSharedLocationText.getText();
+ IContainer container = getContainer(containerPathString);
+ config.setContainer(container);
+ } else {
+ config.setContainer(null);
+ }
+ }
+
+ /**
+ * Convenience accessor
+ */
+ protected LaunchConfigurationManager getLaunchConfigurationManager() {
+ return DebugUIPlugin.getDefault().getLaunchConfigurationManager();
+ }
+
+ /**
+ * Update the favorite settings.
+ *
+ * NOTE: set to <code>null</code> instead of <code>false</code> for backwards compatibility when
+ * comparing if content is equal, since 'false' is default and will be missing for older
+ * configurations.
+ */
+ private void updateConfigFromFavorites(ILaunchConfigurationWorkingCopy config) {
+ try {
+ Object[] checked = fFavoritesTable.getCheckedElements();
+ boolean debug = config.getAttribute(IDebugUIConstants.ATTR_DEBUG_FAVORITE, false);
+ boolean run = config.getAttribute(IDebugUIConstants.ATTR_RUN_FAVORITE, false);
+ if (debug || run) {
+ // old attributes
+ List groups = new ArrayList();
+ int num = 0;
+ if (debug) {
+ groups.add(getLaunchConfigurationManager().getLaunchGroup(
+ IDebugUIConstants.ID_DEBUG_LAUNCH_GROUP));
+ num++;
+ }
+ if (run) {
+ num++;
+ groups.add(getLaunchConfigurationManager().getLaunchGroup(
+ IDebugUIConstants.ID_DEBUG_LAUNCH_GROUP));
+ }
+ // see if there are any changes
+ if (num == checked.length) {
+ boolean different = false;
+ for (int i = 0; i < checked.length; i++) {
+ if (!groups.contains(checked[i])) {
+ different = true;
+ break;
+ }
+ }
+ if (!different) {
+ return;
+ }
+ }
+ }
+ config.setAttribute(IDebugUIConstants.ATTR_DEBUG_FAVORITE, (String) null);
+ config.setAttribute(IDebugUIConstants.ATTR_RUN_FAVORITE, (String) null);
+ List groups = null;
+ for (int i = 0; i < checked.length; i++) {
+ LaunchGroupExtension group = (LaunchGroupExtension) checked[i];
+ if (groups == null) {
+ groups = new ArrayList();
+ }
+ groups.add(group.getIdentifier());
+ }
+ config.setAttribute(IDebugUIConstants.ATTR_FAVORITE_GROUPS, groups);
+ } catch (CoreException e) {
+ DebugUIPlugin.log(e);
+ }
+ }
+
+ /**
+ * Convenience method for getting the workspace root.
+ */
+ private IWorkspaceRoot getWorkspaceRoot() {
+ return ResourcesPlugin.getWorkspace().getRoot();
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.debug.ui.ILaunchConfigurationTab#isValid(org.eclipse.debug.core.ILaunchConfiguration
+ * )
+ */
+ @Override
+ public boolean isValid(ILaunchConfiguration config) {
+ setMessage(null);
+ setErrorMessage(null);
+
+ return validateLocalShared() && validateRedirectFile() && validateEncoding();
+ }
+
+ /**
+ * validates the encoding selection
+ *
+ * @return true if the validate encoding is allowable, false otherwise
+ */
+ private boolean validateEncoding() {
+ if (fAltEncodingButton.getSelection()) {
+ if (fEncodingCombo.getSelectionIndex() == -1) {
+ setErrorMessage(LaunchConfigurationsMessages.CommonTab_No_Encoding_Selected);
+ return false;
+ }
+ }
+ return true;
+ }
+
+ /**
+ * Validates if the redirect file is valid
+ *
+ * @return true if the filename is not zero, false otherwise
+ */
+ private boolean validateRedirectFile() {
+ if (fFileOutput.getSelection()) {
+ int len = fFileText.getText().trim().length();
+ if (len == 0) {
+ setErrorMessage(LaunchConfigurationsMessages.CommonTab_8);
+ return false;
+ }
+ }
+ return true;
+ }
+
+ /**
+ * validates the local shared config file location
+ *
+ * @return true if the local shared file exists, false otherwise
+ */
+ private boolean validateLocalShared() {
+ if (isShared()) {
+ String path = fSharedLocationText.getText().trim();
+ IContainer container = getContainer(path);
+ if (container == null || container.equals(ResourcesPlugin.getWorkspace().getRoot())) {
+ setErrorMessage(LaunchConfigurationsMessages.CommonTab_Invalid_shared_configuration_location_14);
+ return false;
+ } else if (!container.getProject().isOpen()) {
+ setErrorMessage(LaunchConfigurationsMessages.CommonTab_Cannot_save_launch_configuration_in_a_closed_project__1);
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @seeorg.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(org.eclipse.debug.core.
+ * ILaunchConfigurationWorkingCopy)
+ */
+ public void setDefaults(ILaunchConfigurationWorkingCopy config) {
+ config.setContainer(null);
+ config.setAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, true);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @seeorg.eclipse.debug.ui.ILaunchConfigurationTab#performApply(org.eclipse.debug.core.
+ * ILaunchConfigurationWorkingCopy)
+ */
+ public void performApply(ILaunchConfigurationWorkingCopy configuration) {
+ updateConfigFromLocalShared(configuration);
+ updateConfigFromFavorites(configuration);
+ setAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, configuration,
+ fLaunchInBackgroundButton.getSelection(), true);
+ String encoding = null;
+ if (fAltEncodingButton.getSelection()) {
+ encoding = fEncodingCombo.getText();
+ }
+ configuration.setAttribute(IDebugUIConstants.ATTR_CONSOLE_ENCODING, encoding);
+
+ boolean captureOutput = false;
+
+ if (fConsoleOutput.getSelection()) {
+ captureOutput = true;
+ configuration.setAttribute(IDebugUIConstants.ATTR_CAPTURE_IN_CONSOLE, (String) null);
+ } else {
+ configuration.setAttribute(IDebugUIConstants.ATTR_CAPTURE_IN_CONSOLE, false);
+ }
+
+ if (fFileOutput.getSelection()) {
+ captureOutput = true;
+ String file = fFileText.getText();
+ configuration.setAttribute(IDebugUIConstants.ATTR_CAPTURE_IN_FILE, file);
+ if (fAppend.getSelection()) {
+ configuration.setAttribute(IDebugUIConstants.ATTR_APPEND_TO_FILE, true);
+ } else {
+ configuration.setAttribute(IDebugUIConstants.ATTR_APPEND_TO_FILE, (String) null);
+ }
+ } else {
+ configuration.setAttribute(IDebugUIConstants.ATTR_CAPTURE_IN_FILE, (String) null);
+ }
+
+ boolean useDltk = false;
+ if (fUseDltkRadio.getSelection()) {
+ configuration.setAttribute(DebugPlugin.ATTR_CAPTURE_OUTPUT, (String) null);
+
+ configuration.setAttribute(ScriptLaunchConfigurationConstants.ATTR_DLTK_CONSOLE_ID, Long
+ .toString(System.currentTimeMillis()));
+ IFileHandle proxyFile;
+ try {
+ IExecutionEnvironment exeEnv = (IExecutionEnvironment) EnvironmentManager
+ .getLocalEnvironment().getAdapter(IExecutionEnvironment.class);
+ proxyFile = TextMarkerLaunchingPlugin.getDefault().getConsoleProxy(exeEnv);
+ configuration.setAttribute("environmentId", proxyFile.getEnvironment().getId());
+ configuration.setAttribute("proxy_path", proxyFile.toOSString());
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ captureOutput = false;
+ useDltk = true;
+ }
+
+ configuration.setAttribute(ScriptLaunchConfigurationConstants.ATTR_USE_INTERACTIVE_CONSOLE,
+ useDltk);
+
+ // Last option
+ if (captureOutput) {
+ configuration.setAttribute(DebugPlugin.ATTR_CAPTURE_OUTPUT, (String) null);
+ } else {
+ configuration.setAttribute(DebugPlugin.ATTR_CAPTURE_OUTPUT, false);
+ }
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
+ */
+ public String getName() {
+ return LaunchConfigurationsMessages.CommonTab__Common_15;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.debug.ui.ILaunchConfigurationTab#canSave()
+ */
+ @Override
+ public boolean canSave() {
+ return validateLocalShared();
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getImage()
+ */
+ @Override
+ public Image getImage() {
+ return DebugUITools.getImage(IInternalDebugUIConstants.IMG_OBJS_COMMON_TAB);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @seeorg.eclipse.debug.ui.ILaunchConfigurationTab#activated(org.eclipse.debug.core.
+ * ILaunchConfigurationWorkingCopy)
+ */
+ @Override
+ public void activated(ILaunchConfigurationWorkingCopy workingCopy) {
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @seeorg.eclipse.debug.ui.ILaunchConfigurationTab#deactivated(org.eclipse.debug.core.
+ * ILaunchConfigurationWorkingCopy)
+ */
+ @Override
+ public void deactivated(ILaunchConfigurationWorkingCopy workingCopy) {
+ }
+
+ /**
+ * Content provider for the favorites table
+ */
+ class FavoritesContentProvider implements IStructuredContentProvider {
+
+ public Object[] getElements(Object inputElement) {
+ ILaunchGroup[] groups = DebugUITools.getLaunchGroups();
+ List possibleGroups = new ArrayList();
+ ILaunchConfiguration configuration = (ILaunchConfiguration) inputElement;
+ for (int i = 0; i < groups.length; i++) {
+ ILaunchGroup extension = groups[i];
+ LaunchHistory history = getLaunchConfigurationManager().getLaunchHistory(
+ extension.getIdentifier());
+ if (history != null && history.accepts(configuration)) {
+ possibleGroups.add(extension);
+ }
+ }
+ return possibleGroups.toArray();
+ }
+
+ public void dispose() {
+ }
+
+ public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
+ }
+
+ }
+
+ /**
+ * Provides the labels for the favorites table
+ *
+ */
+ class FavoritesLabelProvider implements ITableLabelProvider {
+
+ private Map fImages = new HashMap();
+
+ public Image getColumnImage(Object element, int columnIndex) {
+ Image image = (Image) fImages.get(element);
+ if (image == null) {
+ ImageDescriptor descriptor = ((LaunchGroupExtension) element).getImageDescriptor();
+ if (descriptor != null) {
+ image = descriptor.createImage();
+ fImages.put(element, image);
+ }
+ }
+ return image;
+ }
+
+ public String getColumnText(Object element, int columnIndex) {
+ String label = ((LaunchGroupExtension) element).getLabel();
+ return DebugUIPlugin.removeAccelerators(label);
+ }
+
+ public void addListener(ILabelProviderListener listener) {
+ }
+
+ public void dispose() {
+ Iterator images = fImages.values().iterator();
+ while (images.hasNext()) {
+ Image image = (Image) images.next();
+ image.dispose();
+ }
+ }
+
+ public boolean isLabelProperty(Object element, String property) {
+ return false;
+ }
+
+ public void removeListener(ILabelProviderListener listener) {
+ }
+ }
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/launchConfigurations/TextMarkerCommonTab.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/launchConfigurations/TextMarkerCommonTab.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/launchConfigurations/TextMarkerMainLaunchConfigurationTab.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/launchConfigurations/TextMarkerMainLaunchConfigurationTab.java?rev=1152804&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/launchConfigurations/TextMarkerMainLaunchConfigurationTab.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/launchConfigurations/TextMarkerMainLaunchConfigurationTab.java Mon Aug 1 14:37:34 2011
@@ -0,0 +1,45 @@
+package org.apache.uima.tm.dltk.internal.debug.ui.launchConfigurations;
+
+import org.eclipse.dltk.core.PreferencesLookupDelegate;
+import org.eclipse.dltk.debug.core.DLTKDebugPreferenceConstants;
+import org.eclipse.dltk.debug.ui.launchConfigurations.MainLaunchConfigurationTab;
+
+import org.apache.uima.tm.dltk.core.TextMarkerNature;
+import org.apache.uima.tm.dltk.internal.debug.TextMarkerDebugPlugin;
+
+public class TextMarkerMainLaunchConfigurationTab extends MainLaunchConfigurationTab {
+
+ public TextMarkerMainLaunchConfigurationTab(String mode) {
+ super(mode);
+ }
+
+ /*
+ * @seeorg.eclipse.dltk.debug.ui.launchConfigurations.ScriptLaunchConfigurationTab#
+ * breakOnFirstLinePrefEnabled(org.eclipse.dltk.core.PreferencesLookupDelegate)
+ */
+ @Override
+ protected boolean breakOnFirstLinePrefEnabled(PreferencesLookupDelegate delegate) {
+ return delegate.getBoolean(TextMarkerDebugPlugin.PLUGIN_ID,
+ DLTKDebugPreferenceConstants.PREF_DBGP_BREAK_ON_FIRST_LINE);
+ }
+
+ /*
+ * @see
+ * org.eclipse.dltk.debug.ui.launchConfigurations.ScriptLaunchConfigurationTab#dbpgLoggingPrefEnabled
+ * (org.eclipse.dltk.core.PreferencesLookupDelegate)
+ */
+ @Override
+ protected boolean dbpgLoggingPrefEnabled(PreferencesLookupDelegate delegate) {
+ return delegate.getBoolean(TextMarkerDebugPlugin.PLUGIN_ID,
+ DLTKDebugPreferenceConstants.PREF_DBGP_ENABLE_LOGGING);
+ }
+
+ /*
+ * @see org.eclipse.dltk.debug.ui.launchConfigurations.ScriptLaunchConfigurationTab#getNatureID()
+ */
+ @Override
+ protected String getNatureID() {
+ return TextMarkerNature.NATURE_ID;
+ }
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/launchConfigurations/TextMarkerMainLaunchConfigurationTab.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/launchConfigurations/TextMarkerMainLaunchConfigurationTab.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/launchConfigurations/TextMarkerRemoteTab.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/launchConfigurations/TextMarkerRemoteTab.java?rev=1152804&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/launchConfigurations/TextMarkerRemoteTab.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/launchConfigurations/TextMarkerRemoteTab.java Mon Aug 1 14:37:34 2011
@@ -0,0 +1,186 @@
+package org.apache.uima.tm.dltk.internal.debug.ui.launchConfigurations;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.debug.core.ILaunchConfiguration;
+import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
+import org.eclipse.debug.ui.AbstractLaunchConfigurationTab;
+import org.eclipse.dltk.launching.ScriptLaunchConfigurationConstants;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Group;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Text;
+
+public class TextMarkerRemoteTab extends AbstractLaunchConfigurationTab {
+ private static final int DEFAULT_PORT = 9000;
+
+ private static final String DEFAULT_SESSION_ID = "textmarker_debug";
+
+ private static final int DEFAULT_TIMEOUT = 30 * 1000; // 30 min
+
+ private Text portText;
+
+ private Text sessionIdText;
+
+ private Text timeoutText;
+
+ private int getPort() {
+ return Integer.parseInt(portText.getText());
+ }
+
+ private void setPort(int port) {
+ portText.setText(Integer.toString(port));
+ }
+
+ private String getSessionId() {
+ return sessionIdText.getText();
+ }
+
+ private void setSessionId(String id) {
+ sessionIdText.setText(id);
+ }
+
+ private int getTimeout() {
+ return Integer.parseInt(timeoutText.getText());
+ }
+
+ private void setTimeout(int timeout) {
+ timeoutText.setText(Integer.toString(timeout));
+ }
+
+ protected void createInstruction(Composite parent, Object data) {
+ Label instruction = new Label(parent, SWT.NONE);
+ instruction.setLayoutData(data);
+ instruction.setText("To start TextMarker debugging engine use this command temlate:");
+ }
+
+ protected void createPathTemplate(Composite parent, Object data) {
+ Text text = new Text(parent, SWT.NONE);
+ text
+ .setText("${DEBUGGIN_ENGINE} -host-ide ${HOST} -port-ide ${PORT} -app-shell ${TM_INTERPRETER} -ide-key ${SESSION_ID} -app-file {TM_FILE}");
+ }
+
+ protected void createConnectionPropertiesGroup(Composite parent, Object data) {
+ Group group = new Group(parent, SWT.NONE);
+ group.setText("Connection Properties");
+ group.setLayoutData(data);
+
+ GridLayout layout = new GridLayout();
+ layout.numColumns = 2;
+ group.setLayout(layout);
+
+ // Local port
+ Label portLabel = new Label(group, SWT.NONE);
+ portLabel.setText("Local port:");
+
+ portText = new Text(group, SWT.BORDER);
+ portText.addModifyListener(new ModifyListener() {
+ public void modifyText(ModifyEvent e) {
+
+ updateLaunchConfigurationDialog();
+ }
+ });
+ portText.setLayoutData(new GridData(GridData.FILL, SWT.NONE, true, false));
+
+ // Id string
+ Label idLabel = new Label(group, SWT.NONE);
+ idLabel.setText("Connection id:");
+
+ sessionIdText = new Text(group, SWT.BORDER);
+ sessionIdText.addModifyListener(new ModifyListener() {
+ public void modifyText(ModifyEvent e) {
+ updateLaunchConfigurationDialog();
+ }
+ });
+
+ sessionIdText.setLayoutData(new GridData(GridData.FILL, SWT.NONE, true, false));
+
+ // Timeout
+ Label timeoutLabel = new Label(group, SWT.NONE);
+ timeoutLabel.setText("Waiting timeout:");
+
+ timeoutText = new Text(group, SWT.BORDER);
+ timeoutText.addModifyListener(new ModifyListener() {
+ public void modifyText(ModifyEvent e) {
+ updateLaunchConfigurationDialog();
+ }
+ });
+
+ timeoutText.setLayoutData(new GridData(GridData.FILL, SWT.NONE, true, false));
+ }
+
+ public void createControl(Composite parent) {
+ Composite composite = new Composite(parent, SWT.NONE);
+ setControl(composite);
+
+ GridLayout layout = new GridLayout();
+ layout.numColumns = 1;
+ composite.setLayout(layout);
+
+ createConnectionPropertiesGroup(composite, new GridData(GridData.FILL, SWT.NONE, true, false));
+
+ createInstruction(composite, new GridData(GridData.FILL, SWT.NONE, true, false));
+
+ createPathTemplate(composite, new GridData(GridData.FILL, SWT.NONE, true, false));
+ }
+
+ public String getName() {
+ return "TextMarker Remote Properties";
+ }
+
+ public void initializeFrom(ILaunchConfiguration configuration) {
+ try {
+ // Port
+ int port = configuration.getAttribute(ScriptLaunchConfigurationConstants.ATTR_DLTK_DBGP_PORT,
+ -1);
+
+ setPort(port != -1 ? port : DEFAULT_PORT);
+
+ // Session id
+ String sessionId = configuration.getAttribute(
+ ScriptLaunchConfigurationConstants.ATTR_DLTK_DBGP_SESSION_ID, (String) null);
+
+ setSessionId(sessionId != null ? sessionId : DEFAULT_SESSION_ID);
+
+ // Timeout
+ int timeout = configuration.getAttribute(
+ ScriptLaunchConfigurationConstants.ATTR_DLTK_DBGP_WAITING_TIMEOUT, -1);
+ setTimeout(timeout != -1 ? timeout : DEFAULT_TIMEOUT);
+ } catch (CoreException e) {
+ // TODO: Log this
+ }
+ }
+
+ public void performApply(ILaunchConfigurationWorkingCopy configuration) {
+ try {
+ setErrorMessage(null);
+
+ configuration.setAttribute(ScriptLaunchConfigurationConstants.ATTR_DLTK_DBGP_REMOTE, true);
+
+ configuration.setAttribute(ScriptLaunchConfigurationConstants.ATTR_DLTK_DBGP_PORT, getPort());
+
+ configuration.setAttribute(ScriptLaunchConfigurationConstants.ATTR_DLTK_DBGP_SESSION_ID,
+ getSessionId());
+
+ configuration.setAttribute(ScriptLaunchConfigurationConstants.ATTR_DLTK_DBGP_WAITING_TIMEOUT,
+ getTimeout());
+ } catch (NumberFormatException e) {
+ setErrorMessage("Should be a number instead of string");
+ }
+ }
+
+ public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
+ configuration
+ .setAttribute(ScriptLaunchConfigurationConstants.ATTR_DLTK_DBGP_PORT, DEFAULT_PORT);
+
+ configuration.setAttribute(ScriptLaunchConfigurationConstants.ATTR_DLTK_DBGP_SESSION_ID,
+ DEFAULT_SESSION_ID);
+
+ configuration.setAttribute(ScriptLaunchConfigurationConstants.ATTR_DLTK_DBGP_WAITING_TIMEOUT,
+ DEFAULT_TIMEOUT);
+ }
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/launchConfigurations/TextMarkerRemoteTab.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/launchConfigurations/TextMarkerRemoteTab.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/launchConfigurations/TextMarkerRemoteTabGroup.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/launchConfigurations/TextMarkerRemoteTabGroup.java?rev=1152804&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/launchConfigurations/TextMarkerRemoteTabGroup.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/launchConfigurations/TextMarkerRemoteTabGroup.java Mon Aug 1 14:37:34 2011
@@ -0,0 +1,17 @@
+package org.apache.uima.tm.dltk.internal.debug.ui.launchConfigurations;
+
+import org.eclipse.debug.ui.AbstractLaunchConfigurationTabGroup;
+import org.eclipse.debug.ui.ILaunchConfigurationDialog;
+import org.eclipse.debug.ui.ILaunchConfigurationTab;
+
+public class TextMarkerRemoteTabGroup extends AbstractLaunchConfigurationTabGroup {
+
+ public TextMarkerRemoteTabGroup() {
+ }
+
+ public void createTabs(ILaunchConfigurationDialog dialog, String mode) {
+ ILaunchConfigurationTab[] tabs = new ILaunchConfigurationTab[] { new TextMarkerRemoteTab() };
+ setTabs(tabs);
+ }
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/launchConfigurations/TextMarkerRemoteTabGroup.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/launchConfigurations/TextMarkerRemoteTabGroup.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/launchConfigurations/TextMarkerTabGroup.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/launchConfigurations/TextMarkerTabGroup.java?rev=1152804&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/launchConfigurations/TextMarkerTabGroup.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/launchConfigurations/TextMarkerTabGroup.java Mon Aug 1 14:37:34 2011
@@ -0,0 +1,19 @@
+package org.apache.uima.tm.dltk.internal.debug.ui.launchConfigurations;
+
+import org.eclipse.debug.ui.AbstractLaunchConfigurationTabGroup;
+import org.eclipse.debug.ui.EnvironmentTab;
+import org.eclipse.debug.ui.ILaunchConfigurationDialog;
+import org.eclipse.debug.ui.ILaunchConfigurationTab;
+import org.eclipse.dltk.debug.ui.launchConfigurations.ScriptCommonTab;
+
+import org.apache.uima.tm.dltk.internal.debug.ui.interpreters.TextMarkerInterpreterTab;
+
+public class TextMarkerTabGroup extends AbstractLaunchConfigurationTabGroup {
+ public void createTabs(ILaunchConfigurationDialog dialog, String mode) {
+ TextMarkerMainLaunchConfigurationTab main = new TextMarkerMainLaunchConfigurationTab(mode);
+ ILaunchConfigurationTab[] tabs = new ILaunchConfigurationTab[] { main,
+ new TextMarkerArgumentsTab(), new TextMarkerInterpreterTab(main), new EnvironmentTab(),
+ new ScriptCommonTab(main) };
+ setTabs(tabs);
+ }
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/launchConfigurations/TextMarkerTabGroup.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/launchConfigurations/TextMarkerTabGroup.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/launcher/TextMarkerLaunchShortcut.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/launcher/TextMarkerLaunchShortcut.java?rev=1152804&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/launcher/TextMarkerLaunchShortcut.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/launcher/TextMarkerLaunchShortcut.java Mon Aug 1 14:37:34 2011
@@ -0,0 +1,20 @@
+package org.apache.uima.tm.dltk.internal.debug.ui.launcher;
+
+import org.eclipse.debug.core.ILaunchConfigurationType;
+import org.eclipse.dltk.internal.debug.ui.launcher.AbstractScriptLaunchShortcut;
+
+import org.apache.uima.tm.dltk.core.TextMarkerNature;
+import org.apache.uima.tm.dltk.launching.TextMarkerLaunchConfigurationConstants;
+
+public class TextMarkerLaunchShortcut extends AbstractScriptLaunchShortcut {
+ @Override
+ protected ILaunchConfigurationType getConfigurationType() {
+ return getLaunchManager().getLaunchConfigurationType(
+ TextMarkerLaunchConfigurationConstants.ID_TM_SCRIPT);
+ }
+
+ @Override
+ protected String getNatureId() {
+ return TextMarkerNature.NATURE_ID;
+ }
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/launcher/TextMarkerLaunchShortcut.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/launcher/TextMarkerLaunchShortcut.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/messages.properties
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/messages.properties?rev=1152804&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/messages.properties (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/messages.properties Mon Aug 1 14:37:34 2011
@@ -0,0 +1,2 @@
+NoDebuggingEngine_title = Debugging engine not configured
+NoDebuggingEngine_message = Debugging engine not configured. Do you want to configure debugging engine now? You should start debug again after configuration.
\ No newline at end of file
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/messages.properties
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/messages.properties
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/preferences/TextMarkerDebugPreferenceMessages.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/preferences/TextMarkerDebugPreferenceMessages.java?rev=1152804&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/preferences/TextMarkerDebugPreferenceMessages.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/preferences/TextMarkerDebugPreferenceMessages.java Mon Aug 1 14:37:34 2011
@@ -0,0 +1,15 @@
+package org.apache.uima.tm.dltk.internal.debug.ui.preferences;
+
+import org.eclipse.osgi.util.NLS;
+
+public class TextMarkerDebugPreferenceMessages extends NLS {
+ private static String BUNDLE_NAME = "org.apache.uima.tm.dltk.internal.debug.ui.preferences.TextMarkerDebugPreferenceMessages";
+
+ static {
+ NLS.initializeMessages(BUNDLE_NAME, TextMarkerDebugPreferenceMessages.class);
+ }
+
+ public static String TextMarkerDebugPreferencePage_description;
+
+ public static String TextMarkerDebugEnginePreferencePage_description;
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/preferences/TextMarkerDebugPreferenceMessages.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/preferences/TextMarkerDebugPreferenceMessages.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/preferences/TextMarkerDebugPreferenceMessages.properties
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/preferences/TextMarkerDebugPreferenceMessages.properties?rev=1152804&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/preferences/TextMarkerDebugPreferenceMessages.properties (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/preferences/TextMarkerDebugPreferenceMessages.properties Mon Aug 1 14:37:34 2011
@@ -0,0 +1,2 @@
+TextMarkerDebugPreferencePage_description = General settings for TextMarker debugging
+TextMarkerDebugEnginePreferencePage_description = TextMarker Debugging Engine Selection
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/preferences/TextMarkerDebugPreferenceMessages.properties
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/preferences/TextMarkerDebugPreferenceMessages.properties
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/preferences/TextMarkerDebugPreferencePage.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/preferences/TextMarkerDebugPreferencePage.java?rev=1152804&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/preferences/TextMarkerDebugPreferencePage.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/preferences/TextMarkerDebugPreferencePage.java Mon Aug 1 14:37:34 2011
@@ -0,0 +1,105 @@
+package org.apache.uima.tm.dltk.internal.debug.ui.preferences;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.dltk.debug.core.DLTKDebugPreferenceConstants;
+import org.eclipse.dltk.debug.ui.preferences.AbstractDebuggingOptionsBlock;
+import org.eclipse.dltk.ui.PreferencesAdapter;
+import org.eclipse.dltk.ui.preferences.AbstractConfigurationBlockPropertyAndPreferencePage;
+import org.eclipse.dltk.ui.preferences.AbstractOptionsBlock;
+import org.eclipse.dltk.ui.preferences.PreferenceKey;
+import org.eclipse.dltk.ui.util.IStatusChangeListener;
+import org.eclipse.ui.preferences.IWorkbenchPreferenceContainer;
+
+import org.apache.uima.tm.dltk.internal.debug.TextMarkerDebugPlugin;
+
+public class TextMarkerDebugPreferencePage extends
+ AbstractConfigurationBlockPropertyAndPreferencePage {
+
+ private static PreferenceKey BREAK_ON_FIRST_LINE = new PreferenceKey(
+ TextMarkerDebugPlugin.PLUGIN_ID,
+ DLTKDebugPreferenceConstants.PREF_DBGP_BREAK_ON_FIRST_LINE);
+
+ private static PreferenceKey ENABLE_DBGP_LOGGING = new PreferenceKey(
+ TextMarkerDebugPlugin.PLUGIN_ID, DLTKDebugPreferenceConstants.PREF_DBGP_ENABLE_LOGGING);
+
+ private static String PREFERENCE_PAGE_ID = "org.apache.uima.tm.dltk.preferences.debug";
+
+ private static String PROPERTY_PAGE_ID = "org.apache.uima.tm.dltk.propertyPage.debug";
+
+ @Override
+ protected AbstractOptionsBlock createOptionsBlock(IStatusChangeListener newStatusChangedListener,
+ IProject project, IWorkbenchPreferenceContainer container) {
+ return new AbstractDebuggingOptionsBlock(newStatusChangedListener, project, getKeys(),
+ container) {
+
+ @Override
+ protected PreferenceKey getBreakOnFirstLineKey() {
+ return BREAK_ON_FIRST_LINE;
+ }
+
+ @Override
+ protected PreferenceKey getDbgpLoggingEnabledKey() {
+ return ENABLE_DBGP_LOGGING;
+ }
+ };
+ }
+
+ /*
+ * @see
+ * org.eclipse.dltk.ui.preferences.AbstractConfigurationBlockPropertyAndPreferencePage#getHelpId()
+ */
+ @Override
+ protected String getHelpId() {
+ return null;
+ }
+
+ /*
+ * @see org.eclipse.dltk.internal.ui.preferences.PropertyAndPreferencePage#getPreferencePageId()
+ */
+ @Override
+ protected String getPreferencePageId() {
+ return PREFERENCE_PAGE_ID;
+ }
+
+ /*
+ * @seeorg.eclipse.dltk.ui.preferences.AbstractConfigurationBlockPropertyAndPreferencePage#
+ * getProjectHelpId()
+ */
+ @Override
+ protected String getProjectHelpId() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /*
+ * @see org.eclipse.dltk.internal.ui.preferences.PropertyAndPreferencePage#getPropertyPageId()
+ */
+ @Override
+ protected String getPropertyPageId() {
+ return PROPERTY_PAGE_ID;
+ }
+
+ /*
+ * @see
+ * org.eclipse.dltk.ui.preferences.AbstractConfigurationBlockPropertyAndPreferencePage#setDescription
+ * ()
+ */
+ @Override
+ protected void setDescription() {
+ setDescription(TextMarkerDebugPreferenceMessages.TextMarkerDebugPreferencePage_description);
+ }
+
+ /*
+ * @seeorg.eclipse.dltk.ui.preferences.AbstractConfigurationBlockPropertyAndPreferencePage#
+ * setPreferenceStore()
+ */
+ @Override
+ protected void setPreferenceStore() {
+ setPreferenceStore(new PreferencesAdapter(TextMarkerDebugPlugin.getDefault()
+ .getPluginPreferences()));
+ }
+
+ private PreferenceKey[] getKeys() {
+ return new PreferenceKey[] { BREAK_ON_FIRST_LINE, ENABLE_DBGP_LOGGING };
+ }
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/preferences/TextMarkerDebugPreferencePage.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/preferences/TextMarkerDebugPreferencePage.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/preferences/TextMarkerDebuggingEnginePreferencePage.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/preferences/TextMarkerDebuggingEnginePreferencePage.java?rev=1152804&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/preferences/TextMarkerDebuggingEnginePreferencePage.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/preferences/TextMarkerDebuggingEnginePreferencePage.java Mon Aug 1 14:37:34 2011
@@ -0,0 +1,103 @@
+package org.apache.uima.tm.dltk.internal.debug.ui.preferences;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.dltk.debug.ui.preferences.AbstractDebuggingEngineOptionsBlock;
+import org.eclipse.dltk.ui.PreferencesAdapter;
+import org.eclipse.dltk.ui.preferences.AbstractConfigurationBlockPropertyAndPreferencePage;
+import org.eclipse.dltk.ui.preferences.AbstractOptionsBlock;
+import org.eclipse.dltk.ui.preferences.PreferenceKey;
+import org.eclipse.dltk.ui.util.IStatusChangeListener;
+import org.eclipse.ui.preferences.IWorkbenchPreferenceContainer;
+
+import org.apache.uima.tm.dltk.core.TextMarkerNature;
+import org.apache.uima.tm.dltk.internal.debug.TextMarkerDebugConstants;
+import org.apache.uima.tm.dltk.internal.debug.TextMarkerDebugPlugin;
+
+public class TextMarkerDebuggingEnginePreferencePage extends
+ AbstractConfigurationBlockPropertyAndPreferencePage {
+
+ private static PreferenceKey DEBUGGING_ENGINE = new PreferenceKey(
+ TextMarkerDebugPlugin.PLUGIN_ID, TextMarkerDebugConstants.DEBUGGING_ENGINE_ID_KEY);
+
+ private static final String PREFERENCE_PAGE_ID = "org.apache.uima.tm.dltk.preferences.debug.engines";
+
+ private static final String PROPERTY_PAGE_ID = "org.apache.uima.tm.dltk.propertyPage.debug.engines";
+
+ @Override
+ protected AbstractOptionsBlock createOptionsBlock(IStatusChangeListener newStatusChangedListener,
+ IProject project, IWorkbenchPreferenceContainer container) {
+ return new AbstractDebuggingEngineOptionsBlock(newStatusChangedListener, project, getKeys(),
+ container) {
+
+ @Override
+ protected String getNatureId() {
+ return TextMarkerNature.NATURE_ID;
+ }
+
+ @Override
+ protected PreferenceKey getSavedContributionKey() {
+ return DEBUGGING_ENGINE;
+ }
+ };
+ }
+
+ /*
+ * @see
+ * org.eclipse.dltk.ui.preferences.AbstractConfigurationBlockPropertyAndPreferencePage#getHelpId()
+ */
+ @Override
+ protected String getHelpId() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /*
+ * @see org.eclipse.dltk.internal.ui.preferences.PropertyAndPreferencePage#getPreferencePageId()
+ */
+ @Override
+ protected String getPreferencePageId() {
+ return PREFERENCE_PAGE_ID;
+ }
+
+ /*
+ * @seeorg.eclipse.dltk.ui.preferences.AbstractConfigurationBlockPropertyAndPreferencePage#
+ * getProjectHelpId()
+ */
+ @Override
+ protected String getProjectHelpId() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /*
+ * @see org.eclipse.dltk.internal.ui.preferences.PropertyAndPreferencePage#getPropertyPageId()
+ */
+ @Override
+ protected String getPropertyPageId() {
+ return PROPERTY_PAGE_ID;
+ }
+
+ /*
+ * @see
+ * org.eclipse.dltk.ui.preferences.AbstractConfigurationBlockPropertyAndPreferencePage#setDescription
+ * ()
+ */
+ @Override
+ protected void setDescription() {
+ setDescription(TextMarkerDebugPreferenceMessages.TextMarkerDebugEnginePreferencePage_description);
+ }
+
+ /*
+ * @seeorg.eclipse.dltk.ui.preferences.AbstractConfigurationBlockPropertyAndPreferencePage#
+ * setPreferenceStore()
+ */
+ @Override
+ protected void setPreferenceStore() {
+ setPreferenceStore(new PreferencesAdapter(TextMarkerDebugPlugin.getDefault()
+ .getPluginPreferences()));
+ }
+
+ private PreferenceKey[] getKeys() {
+ return new PreferenceKey[] { DEBUGGING_ENGINE };
+ }
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/preferences/TextMarkerDebuggingEnginePreferencePage.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/debug/ui/preferences/TextMarkerDebuggingEnginePreferencePage.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/ui/preferences/TextMarkerConsolePreferenceInitializer.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/ui/preferences/TextMarkerConsolePreferenceInitializer.java?rev=1152804&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/ui/preferences/TextMarkerConsolePreferenceInitializer.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/ui/preferences/TextMarkerConsolePreferenceInitializer.java Mon Aug 1 14:37:34 2011
@@ -0,0 +1,23 @@
+package org.apache.uima.tm.dltk.internal.ui.preferences;
+
+import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
+import org.eclipse.jface.preference.IPreferenceStore;
+
+import org.apache.uima.tm.dltk.console.TextMarkerConsoleConstants;
+import org.apache.uima.tm.dltk.internal.debug.ui.TextMarkerDebugUIPlugin;
+
+public class TextMarkerConsolePreferenceInitializer extends AbstractPreferenceInitializer {
+
+ public TextMarkerConsolePreferenceInitializer() {
+ }
+
+ @Override
+ public void initializeDefaultPreferences() {
+ IPreferenceStore store = TextMarkerDebugUIPlugin.getDefault().getPreferenceStore();
+ store.setDefault(TextMarkerConsoleConstants.PREF_NEW_PROMPT,
+ TextMarkerConsoleConstants.DEFAULT_NEW_PROMPT);
+ store.setDefault(TextMarkerConsoleConstants.PREF_CONTINUE_PROMPT,
+ TextMarkerConsoleConstants.DEFAULT_CONTINUE_PROMPT);
+ }
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/ui/preferences/TextMarkerConsolePreferenceInitializer.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.dltk.debug.ui/src/main/java/org/apache/uima/tm/dltk/internal/ui/preferences/TextMarkerConsolePreferenceInitializer.java
------------------------------------------------------------------------------
svn:mime-type = text/plain