Eclipse Platform
2.0

org.eclipse.debug.ui
Interface ILaunchConfigurationTabGroup

All Known Implementing Classes:
AbstractLaunchConfigurationTabGroup

public interface ILaunchConfigurationTabGroup

A launch configuration tab group 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 or more attributes of a launch configuration. The tab group controls which tabs are displayed for a specific type of launch configuration, and provides a mechanism for overriding configuration initialization performed by tabs.

The tab group's lifecycle begins when createTabs(ILaunchConfigurationDialog, String) is called. A tab group may then be asked repeatedly to initialize its tabs to display values for a launch configuration (see initializeFrom(ILaunchConfiguration)), and to apply its current settings to a launch configuration (see performApply(ILaunchConfigurationWorkingCopy)). While a user manipulates a tab's controls, the tab is not intended to update a launch configuration. Updating a launch configuration should only be performed when performApply is called. To end a tab group's lifecyle, dispose() will be called. Note that a tab group can be disposed before its controls have been created.

When a user leaves a tab, a tab is asked to apply its current settings to a launch configuration working copy. When a tab is entered, it is asked to initialize itself from a working copy. This mechanism is used to support inter-tab dependencies.

To support single-click launching, a tab group is required to initialize default values into launch configurations (possibly when controls have not been created). See setDefaults(ILaunchConfigurationWorkingCopy). As well, the method launched can be called when the tab's control does not exist.

A launch configuration group extension is defined in plugin.xml. Following is an example definition of a launch configuration group extension.

 <extension point="org.eclipse.debug.ui.launchConfigurationTabGroups">
   <launchConfigurationTabGroup 
      id="com.example.ExampleTabGroup"
      type="com.example.ExampleLaunchConfigurationTypeIdentifier"
      class="com.example.ExampleLaunchConfigurationTabGroupClass">
   </launchConfigurationTabGroup>
 </extension>
 
The attributes are specified as follows:

This interface is intended to be implemented by clients.

Since:
2.0
See Also:
ILaunchConfigurationType, ILaunchConfiguration, ILaunchConfigurationTab

Method Summary
 void createTabs(ILaunchConfigurationDialog dialog, String mode)
          Creates the tabs contained in this tab group for the specified launch mode.
 void dispose()
          Notifies this launch configuration tab group that it has been disposed, and disposes this group's tabs.
 ILaunchConfigurationTab[] getTabs()
          Returns the tabs contained in this tab group.
 void initializeFrom(ILaunchConfiguration configuration)
          Initializes this group's tab controls with values from the given launch configuration.
 void launched(ILaunch launch)
          Notifies this tab that a configuration has been launched, resulting in the given launch.
 void performApply(ILaunchConfigurationWorkingCopy configuration)
          Copies values from this group's tabs into the given launch configuration.
 void setDefaults(ILaunchConfigurationWorkingCopy configuration)
          Initializes the given launch configuration with default values for this tab group.
 

Method Detail

createTabs

public void createTabs(ILaunchConfigurationDialog dialog,
                       String mode)
Creates the tabs contained in this tab group for the specified launch mode. The tabs control's are not created. This is the fist method called in the lifecycle of a tab group.

Parameters:
dialog - the launch configuration dialog this tab group is contained in
mode - the mode the launch configuration dialog was opened in

getTabs

public ILaunchConfigurationTab[] getTabs()
Returns the tabs contained in this tab group.

Returns:
the tabs contained in this tab group

dispose

public void dispose()
Notifies this launch configuration tab group that it has been disposed, and disposes this group's tabs. Marks the end of this tab group's lifecycle, allowing this tab group to perform any cleanup required.


setDefaults

public void setDefaults(ILaunchConfigurationWorkingCopy configuration)
Initializes the given launch configuration with default values for this tab group. 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 tab controls are created, to support single-click launching.

Parameters:
configuration - launch configuration

initializeFrom

public void initializeFrom(ILaunchConfiguration configuration)
Initializes this group's tab controls with values from the given launch configuration. This method is called when a configuration is selected to view or edit.

Parameters:
configuration - launch configuration

performApply

public void performApply(ILaunchConfigurationWorkingCopy configuration)
Copies values from this group's tabs into the given launch configuration.

Parameters:
configuration - launch configuration

launched

public void launched(ILaunch launch)
Notifies this tab that a 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

Eclipse Platform
2.0

Copyright (c) IBM Corp. and others 2000, 2002. All Rights Reserved.