From: Jan P. <jp...@us...> - 2006-06-03 14:34:46
|
Update of /cvsroot/e-p-i-c/org.epic.debug/src/org/epic/debug/ui In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv13586/src/org/epic/debug/ui Modified Files: LaunchConfigurationMainTab.java LaunchConfigurationDialog.java PerlDebugImages.java Added Files: PerlArgumentsBlock.java LaunchConfigurationArgumentsTab.java Log Message: Added a new launch configuration tab for specifying arguments passed directly to the Perl interpreter (not to the executed program). Modified the look and feel of the Perl Local launch configuration tab set to match the one from JDT more closely. Index: LaunchConfigurationMainTab.java =================================================================== RCS file: /cvsroot/e-p-i-c/org.epic.debug/src/org/epic/debug/ui/LaunchConfigurationMainTab.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- LaunchConfigurationMainTab.java 1 Jun 2006 08:02:19 -0000 1.2 +++ LaunchConfigurationMainTab.java 3 Jun 2006 14:34:34 -0000 1.3 @@ -18,69 +18,30 @@ package org.epic.debug.ui; -//import java.lang.reflect.InvocationTargetException; - -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; - -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.IWorkspaceRoot; -import org.eclipse.core.resources.ResourcesPlugin; -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.debug.ui.ILaunchConfigurationDialog; import org.eclipse.swt.SWT; -import org.eclipse.swt.events.ModifyEvent; -import org.eclipse.swt.events.ModifyListener; import org.eclipse.swt.graphics.Font; import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Text; import org.epic.debug.PerlDebugPlugin; -import org.epic.debug.PerlLaunchConfigurationConstants; import org.epic.debug.ProjectAndFileBlock; -import org.epic.debug.WorkingDirectoryBlock; -public class LaunchConfigurationMainTab extends AbstractLaunchConfigurationTab implements ActionListener +public class LaunchConfigurationMainTab + extends AbstractLaunchConfigurationTab { + protected static final String EMPTY_STRING = ""; //$NON-NLS-1$ - /** - * A launch configuration tab that displays and edits project and - * main type name launch configuration attributes. - * <p> - * This class may be instantiated. This class is not intended to be subclassed. - * </p> - * @since 2.0 - */ - - // Project UI widgets - protected Label fParamLabel; - protected Text fParamText; - - // Main class UI widgets - protected WorkingDirectoryBlock fWorkingDirectoryBlock; - protected ProjectAndFileBlock fFileToExecuteBlock; - // protected Button fSearchButton; - // protected Button fSearchExternalJarsCheckButton; - // protected Button fStopInMainCheckButton; - - protected static final String EMPTY_STRING = ""; //$NON-NLS-1$ - + protected ProjectAndFileBlock fFileToExecuteBlock; public LaunchConfigurationMainTab() { - fWorkingDirectoryBlock = new WorkingDirectoryBlock(); fFileToExecuteBlock = new ProjectAndFileBlock(); } - /** - * @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(Composite) - */ public void createControl(Composite parent) { Font font = parent.getFont(); @@ -89,318 +50,67 @@ setControl(comp); GridLayout topLayout = new GridLayout(); + topLayout.verticalSpacing = 0; comp.setLayout(topLayout); - GridData gd; - - createVerticalSpacer(comp, 1); - + comp.setFont(font); + fFileToExecuteBlock.createControl(comp); - - createVerticalSpacer(comp, 2); - Composite paramComp = new Composite(comp, SWT.NONE); - GridLayout paramLayout = new GridLayout(); - paramLayout.numColumns = 2; - paramLayout.marginHeight = 0; - paramLayout.marginWidth = 0; - paramComp.setLayout(paramLayout); - gd = new GridData(GridData.FILL_HORIZONTAL); - paramComp.setLayoutData(gd); - paramComp.setFont(font); - - fParamLabel = new Label(paramComp, SWT.NONE); - fParamLabel.setText("Command-line parameters:"); //$NON-NLS-1$ - gd = new GridData(); - gd.horizontalSpan = 2; - fParamLabel.setLayoutData(gd); - fParamLabel.setFont(font); - - fParamText = new Text(paramComp, SWT.SINGLE | SWT.BORDER); - - gd = new GridData(GridData.FILL_HORIZONTAL); - fParamText.setLayoutData(gd); - fParamText.setFont(font); - fParamText.addModifyListener(new ModifyListener() - { - public void modifyText(ModifyEvent evt) - { - updateLaunchConfigurationDialog(); - } - }); - - createVerticalSpacer(comp, 2); - fWorkingDirectoryBlock.createControl(comp); } - /** - * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(ILaunchConfiguration) - */ public void initializeFrom(ILaunchConfiguration config) { - fFileToExecuteBlock.initializeFrom(config); - //updateMainTypeFromConfig(config); - // String file = fMainText.getText(); - // fMainText.setItems(getPerlFiles()); - //fMainText.setText(file); - updateParamsFromConfig(config); - fWorkingDirectoryBlock.initializeFrom(config); } - - protected void updateParamsFromConfig(ILaunchConfiguration config) - { - String params = ""; //$NON-NLS-1$ - try - { - params = - config.getAttribute( - PerlLaunchConfigurationConstants.ATTR_PROGRAM_PARAMETERS, - EMPTY_STRING); - } catch (CoreException ce) - { - PerlDebugPlugin.log(ce); - } - fParamText.setText(params); - } - - - /** - * @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(ILaunchConfigurationWorkingCopy) - */ public void performApply(ILaunchConfigurationWorkingCopy config) { fFileToExecuteBlock.performApply(config); - - config.setAttribute( - PerlLaunchConfigurationConstants.ATTR_PROGRAM_PARAMETERS, - (String) fParamText.getText()); - - fWorkingDirectoryBlock.performApply(config); } public String getErrorMessage() { String m = super.getErrorMessage(); - m = (m == null) ? fFileToExecuteBlock.getErrorMessage() : m; - return m == null ? fWorkingDirectoryBlock.getErrorMessage() : m; + return m == null ? fFileToExecuteBlock.getErrorMessage() : m; } public String getMessage() { String m = super.getMessage(); - m = m == null ? fWorkingDirectoryBlock.getMessage() : m; return m == null ? fFileToExecuteBlock.getMessage() : m; } public void setLaunchConfigurationDialog(ILaunchConfigurationDialog dialog) { super.setLaunchConfigurationDialog(dialog); - fWorkingDirectoryBlock.setLaunchConfigurationDialog(dialog); fFileToExecuteBlock.setLaunchConfigurationDialog(dialog); } - /** - * @see org.eclipse.debug.ui.ILaunchConfigurationTab#dispose() - */ public void dispose() { } - /** - * Show a dialog that lists all main types - */ - protected void handleSearchButtonSelected() - { - - /* IJavaProject javaProject = getJavaProject(); - IJavaSearchScope searchScope = null; - if ((javaProject == null) || !javaProject.exists()) { - searchScope = SearchEngine.createWorkspaceScope(); - } else { - searchScope = SearchEngine.createJavaSearchScope(new IJavaElement[] {javaProject}, false); - } - - int constraints = IJavaElementSearchConstants.CONSIDER_BINARIES; - if (fSearchExternalJarsCheckButton.getSelection()) { - constraints |= IJavaElementSearchConstants.CONSIDER_EXTERNAL_JARS; - } - - Shell shell = getShell(); - SelectionDialog dialog = JavaUI.createMainTypeDialog(shell, - getLaunchConfigurationDialog(), - searchScope, - constraints, - false, - fMainText.getText()); - dialog.setTitle(LauncherMessages.getString("JavaMainTab.Choose_Main_Type_11")); //$NON-NLS-1$ - dialog.setMessage(LauncherMessages.getString("JavaMainTab.Choose_a_main_&type_to_launch__12")); //$NON-NLS-1$ - if (dialog.open() == SelectionDialog.CANCEL) { - return; - } - - Object[] results = dialog.getResult(); - if ((results == null) || (results.length < 1)) { - return; - } - IType type = (IType)results[0]; - if (type != null) { - fMainText.setText(type.getFullyQualifiedName()); - javaProject = type.getJavaProject(); - fProjText.setText(javaProject.getElementName()); - }*/ - } - - /** - * Show a dialog that lets the user select a project. This in turn provides - * context for the main type, allowing the user to key a main type name, or - * constraining the search for main types to the specified project. - */ - protected void handleProjectButtonSelected() - { - /* IJavaProject project = chooseJavaProject(); - if (project == null) { - return; - } - - String projectName = project.getElementName(); - fProjText.setText(projectName);*/ - } - - /** - * Realize a Java Project selection dialog and return the first selected project, - * or null if there was none. - */ - protected IProject choosePerlProject() - { - IProject[] projects; - try - { - // projects= JavaCore.create(getWorkspaceRoot()).getJavaProjects(); - } catch (Exception e) - { - PerlDebugPlugin.log(e); - // projects= new IJavaProject[0]; - } - /* - ILabelProvider labelProvider= new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT); - ElementListSelectionDialog dialog= new ElementListSelectionDialog(getShell(), labelProvider); - dialog.setTitle(LauncherMessages.getString("JavaMainTab.Project_Selection_13")); //$NON-NLS-1$ - dialog.setMessage(LauncherMessages.getString("JavaMainTab.Choose_a_&project_to_constrain_the_search_for_main_types__14")); //$NON-NLS-1$ - dialog.setElements(projects); - - IJavaProject javaProject = getJavaProject(); - if (javaProject != null) { - dialog.setInitialSelections(new Object[] { javaProject }); - } - if (dialog.open() == ElementListSelectionDialog.OK) { - return (IJavaProject) dialog.getFirstResult(); - }*/ - return null; - } - - - /** - * @see org.eclipse.debug.ui.ILaunchConfigurationTab#isValid(ILaunchConfiguration) - */ public boolean isValid(ILaunchConfiguration config) { - setErrorMessage(null); setMessage(null); - - if (!fFileToExecuteBlock.isValid(config)){ - return false; - } - - return fWorkingDirectoryBlock.isValid(config); + return fFileToExecuteBlock.isValid(config); } - /** - * @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(ILaunchConfigurationWorkingCopy) - */ public void setDefaults(ILaunchConfigurationWorkingCopy config) { - /* IJavaElement javaElement = getContext(); - if (javaElement != null) { - initializeJavaProject(javaElement, config); - } else {*/ - // We set empty attributes for project & main type so that when one config is - // compared to another, the existence of empty attributes doesn't cause an - // incorrect result (the performApply() method can result in empty values - // for these attributes being set on a config if there is nothing in the - // corresponding text boxes) - // } - // initializeMainTypeAndName(javaElement, config); - fFileToExecuteBlock.setDefaults(config); - - config.setAttribute( - PerlLaunchConfigurationConstants.ATTR_PROGRAM_PARAMETERS, - ""); - - fWorkingDirectoryBlock.setDefaults(config); } - /** - * Set the main type & name attributes on the working copy based on the IJavaElement - */ - /* protected void initializeMainTypeAndName(IJavaElement javaElement, ILaunchConfigurationWorkingCopy config) { - String name= null; - if (javaElement instanceof IMember) { - IMember member = (IMember)javaElement; - if (member.isBinary()) { - javaElement = member.getClassFile(); - } else { - javaElement = member.getCompilationUnit(); - } - } - if (javaElement instanceof ICompilationUnit || javaElement instanceof IClassFile) { - try { - IType[] types = MainMethodFinder.findTargets(new BusyIndicatorRunnableContext(), new Object[] {javaElement}); - if (types != null && (types.length > 0)) { - // Simply grab the first main type found in the searched element - name = types[0].getFullyQualifiedName(); - } - } catch (InterruptedException ie) { - } catch (InvocationTargetException ite) { - } - } - if (name == null) { - name= ""; //$NON-NLS-1$ - } - config.setAttribute(PerlLaunchConfigurationConstants.ATTR_STARTUP_FILE, name); - if (name.length() > 0) { - int index = name.lastIndexOf('.'); - if (index > 0) { - name = name.substring(index + 1); - } - name = getLaunchConfigurationDialog().generateName(name); - config.rename(name); - } - } - */ - /** - * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName() - */ public String getName() { - return "Configuration"; //$NON-NLS-1$ + return "Main"; } - /** - * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getImage() - */ public Image getImage() { - return ( + return PerlDebugPlugin.getDefaultDesciptorImageRegistry().get( - PerlDebugImages.DESC_OBJS_LaunchTabMain)); - } - - - public void actionPerformed(ActionEvent arg0) { - // TODO Auto-generated method stub - + PerlDebugImages.DESC_OBJS_LaunchTabMain); } } \ No newline at end of file --- NEW FILE: LaunchConfigurationArgumentsTab.java --- /******************************************************************************* * Copyright (c) 2000, 2005 IBM Corporation 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: * IBM Corporation - initial API and implementation *******************************************************************************/ package org.epic.debug.ui; import org.eclipse.core.runtime.CoreException; import org.eclipse.debug.core.ILaunchConfiguration; import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy; import org.eclipse.debug.ui.*; import org.eclipse.swt.SWT; import org.eclipse.swt.events.*; import org.eclipse.swt.graphics.Font; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.*; import org.epic.debug.PerlDebugPlugin; import org.epic.debug.PerlLaunchConfigurationConstants; /** * A launch configuration tab that displays and edits program arguments, Perl * interpreter arguments, and working directory launch configuration attributes. * <p> * This class may be instantiated. This class is not intended to be subclassed. * </p> */ public class LaunchConfigurationArgumentsTab extends AbstractLaunchConfigurationTab { private Text fPrgmArgumentsText; private PerlArgumentsBlock fVMArgumentsBlock; private WorkingDirectoryBlock fWorkingDirectoryBlock; public LaunchConfigurationArgumentsTab() { fVMArgumentsBlock = createVMArgsBlock(); fWorkingDirectoryBlock = createWorkingDirBlock(); } protected PerlArgumentsBlock createVMArgsBlock() { return new PerlArgumentsBlock(); } protected WorkingDirectoryBlock createWorkingDirBlock() { return new WorkingDirectoryBlock(); } /** * @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(Composite) */ public void createControl(Composite parent) { Font font = parent.getFont(); Composite comp = new Composite(parent, parent.getStyle()); GridLayout layout = new GridLayout(1, true); comp.setLayout(layout); comp.setFont(font); GridData gd = new GridData(GridData.FILL_BOTH); comp.setLayoutData(gd); setControl(comp); Group group = new Group(comp, SWT.NONE); group.setFont(font); layout = new GridLayout(); group.setLayout(layout); group.setLayoutData(new GridData(GridData.FILL_BOTH)); String controlName = "Program &arguments:"; group.setText(controlName); fPrgmArgumentsText = new Text(group, SWT.MULTI | SWT.WRAP | SWT.BORDER | SWT.V_SCROLL); gd = new GridData(GridData.FILL_BOTH); gd.heightHint = 40; gd.widthHint = 100; fPrgmArgumentsText.setLayoutData(gd); fPrgmArgumentsText.setFont(font); fPrgmArgumentsText.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent evt) { updateLaunchConfigurationDialog(); } }); String buttonLabel = "Var&iables..."; //$NON-NLS-1$ Button pgrmArgVariableButton = createPushButton(group, buttonLabel, null); pgrmArgVariableButton.setLayoutData(new GridData( GridData.HORIZONTAL_ALIGN_END)); pgrmArgVariableButton.addSelectionListener(new SelectionListener() { public void widgetSelected(SelectionEvent e) { StringVariableSelectionDialog dialog = new StringVariableSelectionDialog( getShell()); dialog.open(); String variable = dialog.getVariableExpression(); if (variable != null) { fPrgmArgumentsText.insert(variable); } } public void widgetDefaultSelected(SelectionEvent e) { } }); fVMArgumentsBlock.createControl(comp); fWorkingDirectoryBlock.createControl(comp); } public void dispose() { } public boolean isValid(ILaunchConfiguration config) { return fWorkingDirectoryBlock.isValid(config); } /** * Defaults are empty. */ public void setDefaults(ILaunchConfigurationWorkingCopy config) { config.setAttribute( PerlLaunchConfigurationConstants.ATTR_PROGRAM_PARAMETERS, (String) null); fVMArgumentsBlock.setDefaults(config); fWorkingDirectoryBlock.setDefaults(config); } public void initializeFrom(ILaunchConfiguration configuration) { try { fPrgmArgumentsText.setText(configuration.getAttribute( PerlLaunchConfigurationConstants.ATTR_PROGRAM_PARAMETERS, "")); //$NON-NLS-1$ fVMArgumentsBlock.initializeFrom(configuration); fWorkingDirectoryBlock.initializeFrom(configuration); } catch (CoreException e) { setErrorMessage( "Exception occurred reading configuration:" + e.getStatus().getMessage()); PerlDebugPlugin.log(e); } } public void performApply(ILaunchConfigurationWorkingCopy configuration) { configuration.setAttribute( PerlLaunchConfigurationConstants.ATTR_PROGRAM_PARAMETERS, getAttributeValueFrom(fPrgmArgumentsText)); fVMArgumentsBlock.performApply(configuration); fWorkingDirectoryBlock.performApply(configuration); } /** * Returns the string in the text widget, or <code>null</code> if empty. * * @return text or <code>null</code> */ protected String getAttributeValueFrom(Text text) { String content = text.getText().trim(); return content.length() > 0 ? content : null; } public String getName() { return "Arguments"; } public void setLaunchConfigurationDialog(ILaunchConfigurationDialog dialog) { super.setLaunchConfigurationDialog(dialog); fWorkingDirectoryBlock.setLaunchConfigurationDialog(dialog); fVMArgumentsBlock.setLaunchConfigurationDialog(dialog); } public String getErrorMessage() { String m = super.getErrorMessage(); if (m == null) { return fWorkingDirectoryBlock.getErrorMessage(); } return m; } public String getMessage() { String m = super.getMessage(); if (m == null) { return fWorkingDirectoryBlock.getMessage(); } return m; } public Image getImage() { return PerlDebugPlugin.getDefaultDesciptorImageRegistry().get( PerlDebugImages.DESC_OBJS_LaunchTabArguments); } public void activated(ILaunchConfigurationWorkingCopy workingCopy) { // do nothing when activated } public void deactivated(ILaunchConfigurationWorkingCopy workingCopy) { // do nothing when deactivated } } Index: PerlDebugImages.java =================================================================== RCS file: /cvsroot/e-p-i-c/org.epic.debug/src/org/epic/debug/ui/PerlDebugImages.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- PerlDebugImages.java 7 Mar 2006 19:41:29 -0000 1.1 +++ PerlDebugImages.java 3 Jun 2006 14:34:34 -0000 1.2 @@ -59,6 +59,7 @@ /* Launchconfig*/ public static final ImageDescriptor DESC_OBJS_LaunchTabMain= createImageDescriptor(iconPath + "epic.gif"); + public static final ImageDescriptor DESC_OBJS_LaunchTabArguments= createImageDescriptor(iconPath + "arguments_tab.gif"); public static final ImageDescriptor DESC_OBJS_LaunchTabRemote= createImageDescriptor(iconPath + "epic_remote.gif"); public static final ImageDescriptor DESC_OBJS_LaunchTabCGI= createImageDescriptor(iconPath + "epic_cgi.gif"); --- NEW FILE: PerlArgumentsBlock.java --- /******************************************************************************* * Copyright (c) 2000, 2005 IBM Corporation 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: * IBM Corporation - initial API and implementation *******************************************************************************/ package org.epic.debug.ui; 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.debug.ui.StringVariableSelectionDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.events.*; import org.eclipse.swt.graphics.Font; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.*; import org.epic.debug.PerlDebugPlugin; import org.epic.debug.PerlLaunchConfigurationConstants; /** * Editor for Perl arguments of a Perl launch configuration. * * Adapted from {@link org.eclipse.jdt.internal.debug.ui.launcher.VMArgumentsBlock}. * * @author jploski */ public class PerlArgumentsBlock extends AbstractLaunchConfigurationTab { private Text fPerlArgumentsText; private Button fPerlArgVariableButton; public void createControl(Composite parent) { Font font = parent.getFont(); Group group = new Group(parent, SWT.NONE); setControl(group); GridLayout topLayout = new GridLayout(); group.setLayout(topLayout); GridData gd = new GridData(GridData.FILL_BOTH); group.setLayoutData(gd); group.setFont(font); group.setText("Perl ar&guments:"); fPerlArgumentsText = new Text( group, SWT.MULTI | SWT.WRAP | SWT.BORDER | SWT.V_SCROLL); gd = new GridData(GridData.FILL_BOTH); gd.heightHint = 40; gd.widthHint = 100; fPerlArgumentsText.setLayoutData(gd); fPerlArgumentsText.setFont(font); fPerlArgumentsText.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent evt) { updateLaunchConfigurationDialog(); } }); fPerlArgVariableButton = createPushButton(group, "Varia&bles...", null); fPerlArgVariableButton.setFont(font); fPerlArgVariableButton.setLayoutData( new GridData(GridData.HORIZONTAL_ALIGN_END)); fPerlArgVariableButton.addSelectionListener(new SelectionListener() { public void widgetSelected(SelectionEvent e) { StringVariableSelectionDialog dialog = new StringVariableSelectionDialog(getShell()); dialog.open(); String variable = dialog.getVariableExpression(); if (variable != null) { fPerlArgumentsText.insert(variable); } } public void widgetDefaultSelected(SelectionEvent e) { } }); } public void setDefaults(ILaunchConfigurationWorkingCopy configuration) { configuration.setAttribute( PerlLaunchConfigurationConstants.ATTR_PERL_PARAMETERS, (String) null); } public void initializeFrom(ILaunchConfiguration configuration) { try { fPerlArgumentsText.setText(configuration.getAttribute( PerlLaunchConfigurationConstants.ATTR_PERL_PARAMETERS, "")); //$NON-NLS-1$ } catch (CoreException e) { setErrorMessage( "Exception occurred reading configuration:" + e.getStatus().getMessage()); PerlDebugPlugin.log(e); } } public void performApply(ILaunchConfigurationWorkingCopy configuration) { configuration.setAttribute( PerlLaunchConfigurationConstants.ATTR_PERL_PARAMETERS, getAttributeValueFrom(fPerlArgumentsText)); } public String getName() { return "Perl Arguments"; } /** * Returns the string in the text widget, or <code>null</code> if empty. * * @return text or <code>null</code> */ protected String getAttributeValueFrom(Text text) { String content = text.getText().trim(); return content.length() > 0 ? content : null; } public void setEnabled(boolean enabled) { fPerlArgumentsText.setEnabled(enabled); fPerlArgVariableButton.setEnabled(enabled); } } Index: LaunchConfigurationDialog.java =================================================================== RCS file: /cvsroot/e-p-i-c/org.epic.debug/src/org/epic/debug/ui/LaunchConfigurationDialog.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- LaunchConfigurationDialog.java 7 Mar 2006 19:41:29 -0000 1.1 +++ LaunchConfigurationDialog.java 3 Jun 2006 14:34:34 -0000 1.2 @@ -26,11 +26,11 @@ * @see org.eclipse.debug.ui.ILaunchConfigurationTabGroup#createTabs(ILaunchConfigurationDialog, String) */ -public void createTabs(ILaunchConfigurationDialog dialog, String mode) { + public void createTabs(ILaunchConfigurationDialog dialog, String mode) { ILaunchConfigurationTab[] tabs = new ILaunchConfigurationTab[] { - - - new LaunchConfigurationMainTab(),new org.eclipse.debug.ui.CommonTab() + new LaunchConfigurationMainTab(), + new LaunchConfigurationArgumentsTab(), + new org.eclipse.debug.ui.CommonTab() }; setTabs(tabs); } |