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 void
activated(ILaunchConfigurationWorkingCopy workingCopy)
This method was added to theILaunchConfigurationTab
interface 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.boolean
canSave()
Returns whether this tab is in a state that allows the launch configuration whose values this tab is showing to be saved.protected Button
createCheckButton(Composite parent, String label)
Creates and returns a new check button with the given label.protected Button
createPushButton(Composite parent, String label, Image image)
Creates and returns a new push button with the given label and/or image.protected Button
createRadioButton(Composite parent, String label)
Creates and returns a new radio button with the given label and/or image.protected void
createSeparator(Composite comp, int colSpan)
Create a horizontal separator.protected Job
createUpdateJob()
Creates and returns a job used to update the launch configuration dialog for this tab.protected void
createVerticalSpacer(Composite comp, int colSpan)
Creates vertical space in the parentComposite
void
deactivated(ILaunchConfigurationWorkingCopy workingCopy)
This method was added to theILaunchConfigurationTab
interface in the 3.0 release to allow tabs to distinguish between a tab being deactivated and saving its attributes to a launch configuration.void
dispose()
By default, do nothing.String
getAttributeLabel(String attribute)
Get a human readable label to associate to this attribute.protected Map<String,String>
getAttributesLabelsForPrototype()
Get the attributes labels for prototype tab.Control
getControl()
Returns the top level control for this tab.String
getErrorMessage()
Returns the current error message for this tab.String
getHelpContextId()
Returns the help context id for this tab ornull
.String
getId()
Returns this tab's unique identifier ornull
if none.Image
getImage()
Returns the image for this tab, ornull
if noneprotected ILaunchConfigurationDialog
getLaunchConfigurationDialog()
Returns the dialog this tab is contained in, ornull
if not yet set.protected ILaunchManager
getLaunchManager()
Convenience method to return the launch manager.String
getMessage()
Returns the current message for this tab.protected Shell
getShell()
Returns the shell this tab is contained in, ornull
.protected long
getUpdateJobDelay()
Return the time delay that should be used when scheduling the update job.String
getWarningMessage()
Returns a warning message to be displayed to the user ornull
if none is present.protected void
initializeAttributes()
Initialize attributes labels.protected boolean
isDirty()
Returns if this tab has pending changes that need to be saved.boolean
isValid(ILaunchConfiguration launchConfig)
Returns whether this tab is in a valid state in the context of the specified launch configuration.void
launched(ILaunch launch)
Deprecated.As of R3.0, this method is no longer called by the launch framework.protected void
scheduleUpdateJob()
Schedules the update job to run for this tab based on this tab's delay.protected void
setAttribute(String attribute, ILaunchConfigurationWorkingCopy configuration, boolean value, boolean defaultValue)
Convenience method to set a boolean attribute of on a launch configuration.protected void
setControl(Control control)
Sets the control to be displayed in this tab.protected void
setDirty(boolean dirty)
Sets the dirty state of the tab.protected void
setErrorMessage(String errorMessage)
Sets this page's error message, possiblynull
.void
setHelpContextId(String id)
Sets the help context id for this tab.void
setLaunchConfigurationDialog(ILaunchConfigurationDialog dialog)
Sets the launch configuration dialog that hosts this tab.protected void
setMessage(String message)
Sets this page's message, possiblynull
.protected void
setWarningMessage(String warningMessage)
Sets this page's warning message, possiblynull
.protected void
updateLaunchConfigurationDialog()
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:IPrototypeAttributesLabelProvider
Get a human readable label to associate to this attribute.- Specified by:
getAttributeLabel
in 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, ornull
if 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:ILaunchConfigurationTab
Returns the top level control for this tab.May return
null
if the control has not been created yet.- Specified by:
getControl
in 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:ILaunchConfigurationTab
Returns the current error message for this tab. May benull
to 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:
getErrorMessage
in interfaceILaunchConfigurationTab
- Returns:
- the error message, or
null
if none - See Also:
ILaunchConfigurationTab.getErrorMessage()
-
getWarningMessage
public String getWarningMessage()
Description copied from interface:ILaunchConfigurationTab2
Returns a warning message to be displayed to the user ornull
if none is present.- Specified by:
getWarningMessage
in interfaceILaunchConfigurationTab2
- Returns:
- Returns a warning message to be displayed to the user
or
null
if none is present. - Since:
- 3.9
- See Also:
ILaunchConfigurationTab2.getWarningMessage()
-
getMessage
public String getMessage()
Description copied from interface:ILaunchConfigurationTab
Returns 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:
getMessage
in interfaceILaunchConfigurationTab
- Returns:
- the message, or
null
if 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:
launched
in 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:ILaunchConfigurationTab
Sets 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:
setLaunchConfigurationDialog
in 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:
dispose
in 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 ornull
image
- 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:ILaunchConfigurationTab
Returns 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:
canSave
in 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:ILaunchConfigurationTab
Returns 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:
isValid
in 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:ILaunchConfigurationTab
Returns the image for this tab, ornull
if none- Specified by:
getImage
in interfaceILaunchConfigurationTab
- Returns:
- the image for this tab, or
null
if none - See Also:
ILaunchConfigurationTab.getImage()
-
getId
public String getId()
Returns this tab's unique identifier ornull
if none. By default,null
is 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 theILaunchConfigurationTab
interface 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'sinitializeFrom
method. 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
activated
anddeactivated
allow tabs to determine the appropriate course of action.- Specified by:
activated
in 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 theILaunchConfigurationTab
interface 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'sperformApply
method. 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
activated
anddeactivated
allow tabs to determine the appropriate course of action.- Specified by:
deactivated
in 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
null
if unknown. - Since:
- 3.7
-
-