Class AbstractLaunchConfigurationTab
- java.lang.Object
-
- org.eclipse.debug.ui.AbstractLaunchConfigurationTab
-
- All Implemented Interfaces:
IPrototypeAttributesLabelProvider,ILaunchConfigurationTab,ILaunchConfigurationTab2
- Direct Known Subclasses:
CommonTab,EnvironmentTab,PrototypeTab,RefreshTab,SourceLookupTab,WorkingDirectoryBlock
public abstract class AbstractLaunchConfigurationTab extends Object implements ILaunchConfigurationTab2, IPrototypeAttributesLabelProvider
Common function for launch configuration tabs.Clients may subclass this class.
- Since:
- 2.0
- See Also:
ILaunchConfigurationTab
-
-
Constructor Summary
Constructors Constructor Description AbstractLaunchConfigurationTab()Default constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidactivated(ILaunchConfigurationWorkingCopy workingCopy)This method was added to theILaunchConfigurationTabinterface in the 3.0 release to allow tabs to distinguish between a tab being activated and a tab group be initialized for the first time, from a selected launch configuration.booleancanSave()Returns whether this tab is in a state that allows the launch configuration whose values this tab is showing to be saved.protected ButtoncreateCheckButton(Composite parent, String label)Creates and returns a new check button with the given label.protected ButtoncreatePushButton(Composite parent, String label, Image image)Creates and returns a new push button with the given label and/or image.protected ButtoncreateRadioButton(Composite parent, String label)Creates and returns a new radio button with the given label and/or image.protected voidcreateSeparator(Composite comp, int colSpan)Create a horizontal separator.protected JobcreateUpdateJob()Creates and returns a job used to update the launch configuration dialog for this tab.protected voidcreateVerticalSpacer(Composite comp, int colSpan)Creates vertical space in the parentCompositevoiddeactivated(ILaunchConfigurationWorkingCopy workingCopy)This method was added to theILaunchConfigurationTabinterface in the 3.0 release to allow tabs to distinguish between a tab being deactivated and saving its attributes to a launch configuration.voiddispose()By default, do nothing.StringgetAttributeLabel(String attribute)Get a human readable label to associate to this attribute.protected Map<String,String>getAttributesLabelsForPrototype()Get the attributes labels for prototype tab.ControlgetControl()Returns the top level control for this tab.StringgetErrorMessage()Returns the current error message for this tab.StringgetHelpContextId()Returns the help context id for this tab ornull.StringgetId()Returns this tab's unique identifier ornullif none.ImagegetImage()Returns the image for this tab, ornullif noneprotected ILaunchConfigurationDialoggetLaunchConfigurationDialog()Returns the dialog this tab is contained in, ornullif not yet set.protected ILaunchManagergetLaunchManager()Convenience method to return the launch manager.StringgetMessage()Returns the current message for this tab.protected ShellgetShell()Returns the shell this tab is contained in, ornull.protected longgetUpdateJobDelay()Return the time delay that should be used when scheduling the update job.StringgetWarningMessage()Returns a warning message to be displayed to the user ornullif none is present.protected voidinitializeAttributes()Initialize attributes labels.protected booleanisDirty()Returns if this tab has pending changes that need to be saved.booleanisValid(ILaunchConfiguration launchConfig)Returns whether this tab is in a valid state in the context of the specified launch configuration.voidlaunched(ILaunch launch)Deprecated.As of R3.0, this method is no longer called by the launch framework.protected voidscheduleUpdateJob()Schedules the update job to run for this tab based on this tab's delay.protected voidsetAttribute(String attribute, ILaunchConfigurationWorkingCopy configuration, boolean value, boolean defaultValue)Convenience method to set a boolean attribute of on a launch configuration.protected voidsetControl(Control control)Sets the control to be displayed in this tab.protected voidsetDirty(boolean dirty)Sets the dirty state of the tab.protected voidsetErrorMessage(String errorMessage)Sets this page's error message, possiblynull.voidsetHelpContextId(String id)Sets the help context id for this tab.voidsetLaunchConfigurationDialog(ILaunchConfigurationDialog dialog)Sets the launch configuration dialog that hosts this tab.protected voidsetMessage(String message)Sets this page's message, possiblynull.protected voidsetWarningMessage(String warningMessage)Sets this page's warning message, possiblynull.protected voidupdateLaunchConfigurationDialog()Updates the buttons and message in this page's launch configuration dialog.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.eclipse.debug.ui.ILaunchConfigurationTab
createControl, getName, initializeFrom, OkToLeaveTab, performApply, postApply, setDefaults
-
-
-
-
Method Detail
-
initializeAttributes
protected void initializeAttributes()
Initialize attributes labels.- Since:
- 3.13
-
getAttributeLabel
public String getAttributeLabel(String attribute)
Description copied from interface:IPrototypeAttributesLabelProviderGet a human readable label to associate to this attribute.- Specified by:
getAttributeLabelin interfaceIPrototypeAttributesLabelProvider- Parameters:
attribute- the given attribute.- Returns:
- a human readable label of this attribute.
-
getLaunchConfigurationDialog
protected ILaunchConfigurationDialog getLaunchConfigurationDialog()
Returns the dialog this tab is contained in, ornullif not yet set.- Returns:
- launch configuration dialog, or
null
-
updateLaunchConfigurationDialog
protected void updateLaunchConfigurationDialog()
Updates the buttons and message in this page's launch configuration dialog.
-
getControl
public Control getControl()
Description copied from interface:ILaunchConfigurationTabReturns the top level control for this tab.May return
nullif the control has not been created yet.- Specified by:
getControlin interfaceILaunchConfigurationTab- Returns:
- the top level control or
null - See Also:
ILaunchConfigurationTab.getControl()
-
setControl
protected void setControl(Control control)
Sets the control to be displayed in this tab.- Parameters:
control- the control for this tab
-
getErrorMessage
public String getErrorMessage()
Description copied from interface:ILaunchConfigurationTabReturns the current error message for this tab. May benullto indicate no error message.An error message should describe some error state, as opposed to a message which may simply provide instruction or information to the user.
- Specified by:
getErrorMessagein interfaceILaunchConfigurationTab- Returns:
- the error message, or
nullif none - See Also:
ILaunchConfigurationTab.getErrorMessage()
-
getWarningMessage
public String getWarningMessage()
Description copied from interface:ILaunchConfigurationTab2Returns a warning message to be displayed to the user ornullif none is present.- Specified by:
getWarningMessagein interfaceILaunchConfigurationTab2- Returns:
- Returns a warning message to be displayed to the user
or
nullif none is present. - Since:
- 3.9
- See Also:
ILaunchConfigurationTab2.getWarningMessage()
-
getMessage
public String getMessage()
Description copied from interface:ILaunchConfigurationTabReturns the current message for this tab.A message provides instruction or information to the user, as opposed to an error message which should describe some error state.
- Specified by:
getMessagein interfaceILaunchConfigurationTab- Returns:
- the message, or
nullif none - See Also:
ILaunchConfigurationTab.getMessage()
-
launched
@Deprecated public void launched(ILaunch launch)
Deprecated.As of R3.0, this method is no longer called by the launch framework. Since tabs do not exist when launching is performed elsewhere than the launch dialog, this method cannot be relied upon for launching functionality.By default, do nothing.- Specified by:
launchedin interfaceILaunchConfigurationTab- Parameters:
launch- the result of launching the current launch configuration- See Also:
ILaunchConfigurationTab.launched(ILaunch)
-
setLaunchConfigurationDialog
public void setLaunchConfigurationDialog(ILaunchConfigurationDialog dialog)
Description copied from interface:ILaunchConfigurationTabSets the launch configuration dialog that hosts this tab. This is the first method called on a launch configuration tab, and marks the beginning of this tab's lifecycle.- Specified by:
setLaunchConfigurationDialogin interfaceILaunchConfigurationTab- Parameters:
dialog- launch configuration dialog- See Also:
ILaunchConfigurationTab.setLaunchConfigurationDialog(ILaunchConfigurationDialog)
-
setErrorMessage
protected void setErrorMessage(String errorMessage)
Sets this page's error message, possiblynull.- Parameters:
errorMessage- the error message ornull
-
setWarningMessage
protected void setWarningMessage(String warningMessage)
Sets this page's warning message, possiblynull.- Parameters:
warningMessage- the warning message ornull- Since:
- 3.9
-
setMessage
protected void setMessage(String message)
Sets this page's message, possiblynull.- Parameters:
message- the message ornull
-
getLaunchManager
protected ILaunchManager getLaunchManager()
Convenience method to return the launch manager.- Returns:
- the launch manager
-
dispose
public void dispose()
By default, do nothing.- Specified by:
disposein interfaceILaunchConfigurationTab- See Also:
ILaunchConfigurationTab.dispose()
-
getShell
protected Shell getShell()
Returns the shell this tab is contained in, ornull.- Returns:
- the shell this tab is contained in, or
null
-
createPushButton
protected Button createPushButton(Composite parent, String label, Image image)
Creates and returns a new push button with the given label and/or image.- Parameters:
parent- parent controllabel- button label ornullimage- image ofnull- Returns:
- a new push button
-
createRadioButton
protected Button createRadioButton(Composite parent, String label)
Creates and returns a new radio button with the given label and/or image.- Parameters:
parent- parent controllabel- button label ornull- Returns:
- a new radio button
-
createCheckButton
protected Button createCheckButton(Composite parent, String label)
Creates and returns a new check button with the given label.- Parameters:
parent- the parent compositelabel- the button label- Returns:
- a new check button
- Since:
- 3.0
-
canSave
public boolean canSave()
Description copied from interface:ILaunchConfigurationTabReturns whether this tab is in a state that allows the launch configuration whose values this tab is showing to be saved. This differs fromisValid()in thatcanSave()determines if this tab prevents the current launch configuration from being saved, whereasisValid()determines if this tab prevents the current launch configuration from being launched.This information is typically used by the launch configuration dialog to decide when it is okay to save a launch configuration.
- Specified by:
canSavein interfaceILaunchConfigurationTab- Returns:
- whether this tab is in a state that allows the current launch configuration to be saved
- See Also:
ILaunchConfigurationTab.canSave()
-
isValid
public boolean isValid(ILaunchConfiguration launchConfig)
Description copied from interface:ILaunchConfigurationTabReturns whether this tab is in a valid state in the context of the specified launch configuration.This information is typically used by the launch configuration dialog to decide when it is okay to launch.
- Specified by:
isValidin interfaceILaunchConfigurationTab- Parameters:
launchConfig- launch configuration which provides context for validating this tab. This value must not benull.- Returns:
- whether this tab is in a valid state
- See Also:
ILaunchConfigurationTab.isValid(ILaunchConfiguration)
-
createVerticalSpacer
protected void createVerticalSpacer(Composite comp, int colSpan)
Creates vertical space in the parentComposite- Parameters:
comp- the parent to add the vertical space tocolSpan- the number of line of vertical space to add
-
createSeparator
protected void createSeparator(Composite comp, int colSpan)
Create a horizontal separator.- Parameters:
comp- parent widgetcolSpan- number of columns to span- Since:
- 3.0
-
getImage
public Image getImage()
Description copied from interface:ILaunchConfigurationTabReturns the image for this tab, ornullif none- Specified by:
getImagein interfaceILaunchConfigurationTab- Returns:
- the image for this tab, or
nullif none - See Also:
ILaunchConfigurationTab.getImage()
-
getId
public String getId()
Returns this tab's unique identifier ornullif none. By default,nullis returned. Subclasses should override as necessary.Tab identifiers allow contributed tabs to be ordered relative to one another.
- Returns:
- tab id or
null - Since:
- 3.3
-
setAttribute
protected void setAttribute(String attribute, ILaunchConfigurationWorkingCopy configuration, boolean value, boolean defaultValue)
Convenience method to set a boolean attribute of on a launch configuration. If the value being set is the default, the attribute's value is set tonull.- Parameters:
attribute- attribute identifierconfiguration- the configuration on which to set the attributevalue- the value of the attributedefaultValue- the default value of the attribute- Since:
- 2.1
-
isDirty
protected boolean isDirty()
Returns if this tab has pending changes that need to be saved. It is up to clients to set/reset and consult this attribute as required. By default, a tab is initialized to dirty for backwards compatibility.- Returns:
- whether this tab is dirty
- Since:
- 2.1
-
setDirty
protected void setDirty(boolean dirty)
Sets the dirty state of the tab. Setting this flag allows clients to explicitly say whether this tab has pending changes or not. It is up to clients to set/reset and consult this attribute as required. By default, a tab is initialized to dirty for backwards compatibility.- Parameters:
dirty- what to set the dirty flag to- Since:
- 2.1
-
activated
public void activated(ILaunchConfigurationWorkingCopy workingCopy)
This method was added to theILaunchConfigurationTabinterface in the 3.0 release to allow tabs to distinguish between a tab being activated and a tab group be initialized for the first time, from a selected launch configuration. To maintain backwards compatible behavior, the default implementation provided, calls this tab'sinitializeFrommethod. Tabs should override this method as required.The launch tab framework was originally designed to take care of inter tab communication by applying attributes from the active tab to the launch configuration being edited, when a tab is exited, and by initializing a tab when activated. The addition of the methods
activatedanddeactivatedallow tabs to determine the appropriate course of action.- Specified by:
activatedin interfaceILaunchConfigurationTab- Parameters:
workingCopy- the launch configuration being edited- Since:
- 3.0
- See Also:
ILaunchConfigurationTab.activated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-
deactivated
public void deactivated(ILaunchConfigurationWorkingCopy workingCopy)
This method was added to theILaunchConfigurationTabinterface in the 3.0 release to allow tabs to distinguish between a tab being deactivated and saving its attributes to a launch configuration. To maintain backwards compatible behavior, the default implementation provided, calls this tab'sperformApplymethod. Tabs should override this method as required.The launch tab framework was originally designed to take care of inter tab communication by applying attributes from the active tab to the launch configuration being edited, when a tab is exited, and by initializing a tab when activated. The addition of the methods
activatedanddeactivatedallow tabs to determine the appropriate course of action.- Specified by:
deactivatedin interfaceILaunchConfigurationTab- Parameters:
workingCopy- the launch configuration being edited- Since:
- 3.0
- See Also:
ILaunchConfigurationTab.deactivated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-
scheduleUpdateJob
protected void scheduleUpdateJob()
Schedules the update job to run for this tab based on this tab's delay.- Since:
- 3.6
-
createUpdateJob
protected Job createUpdateJob()
Creates and returns a job used to update the launch configuration dialog for this tab. Subclasses may override.- Returns:
- job to update the launch dialog for this tab
- Since:
- 3.6
-
getUpdateJobDelay
protected long getUpdateJobDelay()
Return the time delay that should be used when scheduling the update job. Subclasses may override.- Returns:
- a time delay in milliseconds before the job should run
- Since:
- 3.6
-
setHelpContextId
public void setHelpContextId(String id)
Sets the help context id for this tab.Not all tabs honor this setting, but if this method is called prior to
ILaunchConfigurationTab.createControl(Composite), a tab implementation may use this to set the context help associated with this tab.- Parameters:
id- help context id- Since:
- 3.7
-
getHelpContextId
public String getHelpContextId()
Returns the help context id for this tab ornull.- Returns:
- the help context for this tab or
nullif unknown. - Since:
- 3.7
-
-