Package org.eclipse.debug.ui

# Class CommonTab

java.lang.Object
org.eclipse.debug.ui.AbstractLaunchConfigurationTab
org.eclipse.debug.ui.CommonTab

All Implemented Interfaces:
  `IPrototypeAttributesLabelProvider`, `ILaunchConfigurationTab`, `ILaunchConfigurationTab2`

public class CommonTab extends AbstractLaunchConfigurationTab
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.

Clients may call `AbstractLaunchConfigurationTab.setHelpContextId(String)` on this tab prior to control creation to alter the default context help associated with this tab.

Clients may instantiate this class.

Since:
  2.0
Restriction:
  This class is not intended to be subclassed by clients.

## Constructor Summary

Constructors
Constructor
Description
`CommonTab()`
Constructs a new tab with default context help.

## Method Summary

Modifier and Type
Method
Description
`void`
`activated(ILaunchConfigurationWorkingCopy workingCopy)`
This method was added to the `ILaunchConfigurationTab` 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.
`void`
`createControl(Composite parent)`
Creates the top level control for this launch configuration tab under the given parent composite.
`protected void`
`createLaunchInBackgroundComponent(Composite parent)`
Creates the controls needed to edit the launch in background attribute of an external tool
`void`
`deactivated(ILaunchConfigurationWorkingCopy workingCopy)`
This method was added to the `ILaunchConfigurationTab` interface in the 3.0 release to allow tabs to distinguish between a tab being deactivated and saving its attributes to a launch configuration.
`String`
`getId()`
Returns this tab's unique identifier or `null` if none.
`Image`
`getImage()`
Returns the image for this tab, or `null` if none
`protected org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationManager`
`getLaunchConfigurationManager()`
Convenience accessor
`String`
`getName()`
Returns the name of this tab.
`protected void`
`initializeAttributes()`
Initialize attributes labels.
`void`
`initializeFrom(ILaunchConfiguration configuration)`
Initializes this tab's controls with values from the given launch configuration.
`static boolean`
`isLaunchInBackground(ILaunchConfiguration configuration)`
Returns whether the given configuration should be launched in the background.
`boolean`
`isValid(ILaunchConfiguration config)`
Returns whether this tab is in a valid state in the context of the specified launch configuration.
`void`
`performApply(ILaunchConfigurationWorkingCopy configuration)`
Copies values from this tab into the given launch configuration.
`void`
`setDefaults(ILaunchConfigurationWorkingCopy config)`
Initializes the given launch configuration with default values for this tab.
`protected void`
`updateLaunchInBackground(ILaunchConfiguration configuration)`
Updates the launch on background check button

### Methods inherited from class org.eclipse.debug.ui.AbstractLaunchConfigurationTab

`createCheckButton, createPushButton, createRadioButton, createSeparator, createUpdateJob, createVerticalSpacer, dispose, getAttributeLabel, getAttributesLabelsForPrototype, getControl, getErrorMessage, getHelpContextId, getLaunchConfigurationDialog, getLaunchManager, getMessage, getShell, getUpdateJobDelay, getWarningMessage, isDirty, launched, scheduleUpdateJob, setAttribute, setControl, setDirty, setErrorMessage, setHelpContextId, setLaunchConfigurationDialog, setMessage, setWarningMessage, updateLaunchConfigurationDialog`

### 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

`OkToLeaveTab, postApply`

## Constructor Details

### CommonTab

public CommonTab()
Constructs a new tab with default context help.

## Method Details

### createControl

public void createControl(Composite parent)
Description copied from interface: `ILaunchConfigurationTab`
Creates the top level control for this launch configuration tab under the given parent composite. This method is called once on tab creation, after `setLaunchConfigurationDialog` is called.

Implementors are responsible for ensuring that the created control can be accessed via `getControl`

Parameters:
  `parent` - the parent composite

### createLaunchInBackgroundComponent

protected void createLaunchInBackgroundComponent(Composite parent)
Creates the controls needed to edit the launch in background attribute of an external tool

Parameters:
  `parent` - the composite to create the controls in

### initializeFrom

public void initializeFrom(ILaunchConfiguration configuration)
Description copied from interface: `ILaunchConfigurationTab`
Initializes this tab's controls with values from the given launch configuration. This method is called when a configuration is selected to view or edit, after this tab's control has been created.

Parameters:
  `configuration` - launch configuration

### updateLaunchInBackground

protected void updateLaunchInBackground(ILaunchConfiguration configuration)
Updates the launch on background check button

Parameters:
  `configuration` - the local launch configuration

### isLaunchInBackground

public static boolean isLaunchInBackground(ILaunchConfiguration configuration)
Returns whether the given configuration should be launched in the background.

Parameters:
  `configuration` - the configuration
Returns:
  whether the configuration is configured to launch in the background

### getLaunchConfigurationManager

protected org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationManager getLaunchConfigurationManager()
Convenience accessor

Returns:
  the singleton `LaunchConfigurationManager`

### isValid

public boolean isValid(ILaunchConfiguration config)
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 interface `ILaunchConfigurationTab`
Overrides:
  `isValid` in class `AbstractLaunchConfigurationTab`
Parameters:
  `config` - launch configuration which provides context for validating this tab. This value must not be `null`.
Returns:
  whether this tab is in a valid state
See Also:
  - `ILaunchConfigurationTab.isValid(ILaunchConfiguration)`

### setDefaults

public void setDefaults(ILaunchConfigurationWorkingCopy config)
Description copied from interface: `ILaunchConfigurationTab`
Initializes the given launch configuration with default values for this tab. This method is called when a new launch configuration is created such that the configuration can be initialized with meaningful values. This method may be called before this tab's control is created.

Parameters:
  `config` - launch configuration

### performApply

public void performApply(ILaunchConfigurationWorkingCopy configuration)
Description copied from interface: `ILaunchConfigurationTab`
Copies values from this tab into the given launch configuration.

Parameters:
  `configuration` - launch configuration

### getName

public String getName()
Description copied from interface: `ILaunchConfigurationTab`
Returns the name of this tab.

Returns:
  the name of this tab

### getId

public String getId()
Description copied from class: `AbstractLaunchConfigurationTab`
Returns this tab's unique identifier or `null` if none. By default, `null` is returned. Subclasses should override as necessary.

Tab identifiers allow contributed tabs to be ordered relative to one another.

Overrides:
  `getId` in class `AbstractLaunchConfigurationTab`
Returns:
  tab id or `null`
Since:
  3.3

### 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 from `isValid()` in that `canSave()` determines if this tab prevents the current launch configuration from being saved, whereas `isValid()` 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 interface `ILaunchConfigurationTab`
Overrides:
  `canSave` in class `AbstractLaunchConfigurationTab`
Returns:
  whether this tab is in a state that allows the current launch configuration to be saved
See Also:
  - `ILaunchConfigurationTab.canSave()`

### getImage

public Image getImage()
Description copied from interface: `ILaunchConfigurationTab`
Returns the image for this tab, or `null` if none

Specified by:
  `getImage` in interface `ILaunchConfigurationTab`
Overrides:
  `getImage` in class `AbstractLaunchConfigurationTab`
Returns:
  the image for this tab, or `null` if none
See Also:
  - `ILaunchConfigurationTab.getImage()`

### activated

public void activated(ILaunchConfigurationWorkingCopy workingCopy)
Description copied from class: `AbstractLaunchConfigurationTab`
This method was added to the `ILaunchConfigurationTab` 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's `initializeFrom` 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` and `deactivated` allow tabs to determine the appropriate course of action.

Specified by:
  `activated` in interface `ILaunchConfigurationTab`
Overrides:
  `activated` in class `AbstractLaunchConfigurationTab`
Parameters:
  `workingCopy` - the launch configuration being edited
See Also:
  - `ILaunchConfigurationTab.activated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)`

### deactivated

public void deactivated(ILaunchConfigurationWorkingCopy workingCopy)
Description copied from class: `AbstractLaunchConfigurationTab`
This method was added to the `ILaunchConfigurationTab` 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's `performApply` 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` and `deactivated` allow tabs to determine the appropriate course of action.

Specified by:
  `deactivated` in interface `ILaunchConfigurationTab`
Overrides:
  `deactivated` in class `AbstractLaunchConfigurationTab`
Parameters:
  `workingCopy` - the launch configuration being edited
See Also:
  - `ILaunchConfigurationTab.deactivated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)`

### initializeAttributes

protected void initializeAttributes()
Description copied from class: `AbstractLaunchConfigurationTab`
Initialize attributes labels.

Overrides:
  `initializeAttributes` in class `AbstractLaunchConfigurationTab`
Since:
  3.13