Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.eclipse.debug.ui
Interface ILaunchConfigurationTab

All Known Implementing Classes:
  AbstractLaunchConfigurationTab

public interface ILaunchConfigurationTab

A launch configuration tab is used to edit/view attributes of a specific type of launch configuration. Launch configurations are presented in a dialog, with a tab folder. Each tab manipulates one ore more attributes of a launch configuration.

A tab has the following lifecycle methods:

- `setLaunchConfigurationDialog(ILaunchConfigurationDialog)` - this is the first method called on a tab after it is instantiated.
- `initializeFrom(ILaunchConfiguration)` - called when a launch configuration is selected to be displayed.
- `activated(ILaunchConfigurationWorkingCopy)` - called when a tab is entered.
- `deactivated(ILaunchConfigurationWorkingCopy)` - called when a tab is exited.
- `performApply(ILaunchConfigurationWorkingCopy)` - called when a tab is to write its values to a launch configuration.
- `dispose()` - the last method called on a tab, when it is to perform any required cleanup. Note that a tab can be disposed before its control has been created.

The method `setDefaults(ILaunchConfigurationWorkingCopy)` can be called before a tab's controls are created.

The launch tab framework was originially designed to handle inter tab communication by applying attributes from the active tab to a launch configuration being edited, when a tab is exited, and by initializing a tab when activated. In 3.0, the addition of the methods `activated` and `deactivated` allow tabs to determine the appropriate course of action. The default implementation in `AbstractLaunchConfigurationTab` is to call the old methods (`initializeFrom` and `performApply`). Tabs should overeride the new methods as required.

This interface is intended to be implemented by clients.

Since:
  2.0
See Also:
  `ILaunchConfigurationType`, `ILaunchConfiguration`

Method Summary
`void` | `activated(ILaunchConfigurationWorkingCopy workingCopy)` Notification that this tab has become the active tab in the launch configuration dialog.
`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.
`void` | `deactivated(ILaunchConfigurationWorkingCopy workingCopy)` Notification that this tab is no longer the active tab in the launch configuration dialog.
`void` | `dispose()` Notifies this launch configuration tab that it has been disposed.
`Control` | `getControl()` Returns the top level control for this tab.
`String` | `getErrorMessage()` Returns the current error message for this tab.
`Image` | `getImage()` Returns the image for this tab, or `null` if none
`String` | `getMessage()` Returns the current message for this tab.
`String` | `getName()` Returns the name of this tab.
`void` | `initializeFrom(ILaunchConfiguration configuration)` Initializes this tab's controls with values from the given launch configuration.
`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. Since tabs do not exist when launching is performed elsewhere than the launch dialog, this method cannot be relied upon for launching functionality.
`void` | `performApply(ILaunchConfigurationWorkingCopy configuration)` Copies values from this tab into the given launch configuration.
`void` | `setDefaults(ILaunchConfigurationWorkingCopy configuration)` Initializes the given launch configuration with default values for this tab.
`void` | `setLaunchConfigurationDialog(ILaunchConfigurationDialog dialog)` Sets the launch configuration dialog that hosts this tab.

Method Detail

### createControl

    public void createControl(Composite parent)

  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

### getControl

    public Control getControl()

  Returns the top level control for this tab.

  May return `null` if the control has not been created yet.

  Returns:
    the top level control or `null`

### setDefaults

    public void setDefaults(ILaunchConfigurationWorkingCopy configuration)

  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:
    `configuration` - launch configuration

### initializeFrom

    public void initializeFrom(ILaunchConfiguration configuration)

  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

### dispose

    public void dispose()

  Notifies this launch configuration tab that it has been disposed. Marks the end of this tab's lifecycle, allowing this tab to perform any cleanup required.

### performApply

    public void performApply(ILaunchConfigurationWorkingCopy configuration)

  Copies values from this tab into the given launch configuration.

  Parameters:
    `configuration` - launch configuration

### getErrorMessage

    public String getErrorMessage()

  Returns the current error message for this tab. May be `null` 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.

  Returns:
    the error message, or `null` if none

### getMessage

    public String getMessage()

  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.

  Returns:
    the message, or `null` if none

### isValid

    public boolean isValid(ILaunchConfiguration launchConfig)

  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.

  Parameters:
    `launchConfig` - launch configuration which provides context for validating this tab. This value must not be `null`.
  Returns:
    whether this tab is in a valid state

### canSave

    public boolean canSave()

  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.

  Returns:
    whether this tab is in a state that allows the current launch configuration to be saved

### setLaunchConfigurationDialog

    public void setLaunchConfigurationDialog(ILaunchConfigurationDialog dialog)

  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.

  Parameters:
    `dialog` - launch configuration dialog

### launched

    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.

  Notifies this tab that the specified configuration has been launched, resulting in the given launch. This method can be called when a tab's control does not exist, to support single-click launching.

  Parameters:
    `launch` - the result of launching the current launch configuration

### getName

    public String getName()

  Returns the name of this tab.

  Returns:
    the name of this tab

### getImage

    public Image getImage()

  Returns the image for this tab, or `null` if none

  Returns:
    the image for this tab, or `null` if none

### activated

    public void activated(ILaunchConfigurationWorkingCopy workingCopy)

  Notification that this tab has become the active tab in the launch configuration dialog.

  Parameters:
    `workingCopy` - the launch configuration being edited
  Since:
    3.0

### deactivated

    public void deactivated(ILaunchConfigurationWorkingCopy workingCopy)

  Notification that this tab is no longer the active tab in the launch configuration dialog.

  Parameters:
    `workingCopy` - the launch configuration being edited
  Since:
    3.0

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2004. All rights reserved.