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.

    A tab group has the following lifecycle methods:

    • createTabs(ILaunchConfigurationDialog, String) - this is the first method called on a tab group after it is instantiated.
    • initializeFrom(ILaunchConfiguration) - called when a launch configuration is selected to be displayed.
    • performApply(ILaunchConfigurationWorkingCopy) - called when a tab group's values are to be written to a launch configuration.
    • dispose() - the last method called on a tab group, 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 originally 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 override the new methods as required.

    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:
    • id specifies a unique identifier for this launch configuration tab group.
    • type specifies launch configuration type that this tab group is applicable to (corresponds to the id of a launch configuration type extension).
    • class specifies a fully qualified name of a Java class that implements ILaunchConfigurationTabGroup.

    This interface is intended to be implemented by clients.

    Since:
    2.0
    See Also:
    ILaunchConfigurationType, ILaunchConfiguration, ILaunchConfigurationTab
    • Method Detail

      • createTabs

        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

        ILaunchConfigurationTab[] getTabs()
        Returns the tabs contained in this tab group.
        Returns:
        the tabs contained in this tab group
      • dispose

        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

        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.
        Parameters:
        configuration - launch configuration
      • initializeFrom

        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

        void performApply​(ILaunchConfigurationWorkingCopy configuration)
        Copies values from this group's tabs into the given launch configuration.
        Parameters:
        configuration - launch configuration
      • launched

        @Deprecated
        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 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