Class EnvironmentTab

All Implemented Interfaces:
IPrototypeAttributesLabelProvider, ILaunchConfigurationTab, ILaunchConfigurationTab2

public class EnvironmentTab extends AbstractLaunchConfigurationTab
Launch configuration tab for configuring the environment passed into Runtime.exec(...) when a config is launched.

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

This class may be instantiated.

Since:
3.0
Restriction:
This class is not intended to be sub-classed by clients.
  • Field Details

    • environmentTable

      protected TableViewer environmentTable
    • envTableColumnHeaders

      protected String[] envTableColumnHeaders
    • P_VARIABLE

      protected static final String P_VARIABLE
      See Also:
    • P_VALUE

      protected static final String P_VALUE
      See Also:
    • envAddButton

      protected Button envAddButton
    • envEditButton

      protected Button envEditButton
    • envRemoveButton

      protected Button envRemoveButton
    • envCopyButton

      protected Button envCopyButton
      Since:
      3.14
    • envPasteButton

      protected Button envPasteButton
      Since:
      3.14
    • appendEnvironment

      protected Button appendEnvironment
    • replaceEnvironment

      protected Button replaceEnvironment
    • envSelectButton

      protected Button envSelectButton
  • Constructor Details

    • EnvironmentTab

      public EnvironmentTab()
      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
    • createAppendReplace

      protected void createAppendReplace(Composite parent)
      Creates and configures the widgets which allow the user to choose whether the specified environment should be appended to the native environment or if it should completely replace it.
      Parameters:
      parent - the composite in which the widgets should be created
    • updateAppendReplace

      protected void updateAppendReplace()
      Updates the enablement of the append/replace widgets. The widgets should disable when there are no environment variables specified.
    • createEnvironmentTable

      protected void createEnvironmentTable(Composite parent)
      Creates and configures the table that displayed the key/value pairs that comprise the environment.
      Parameters:
      parent - the composite in which the table should be created
    • handleTableSelectionChanged

      protected void handleTableSelectionChanged(SelectionChangedEvent event)
      Responds to a selection changed event in the environment table
      Parameters:
      event - the selection change event
    • createTableButtons

      protected void createTableButtons(Composite parent)
      Creates the add/edit/remove buttons for the environment table
      Parameters:
      parent - the composite in which the buttons should be created
    • handleEnvAddButtonSelected

      protected void handleEnvAddButtonSelected()
      Adds a new environment variable to the table.
    • addVariable

      protected boolean addVariable(org.eclipse.debug.internal.ui.launchConfigurations.EnvironmentVariable variable)
      Attempts to add the given variable. Returns whether the variable was added or not (as when the user answers not to overwrite an existing variable).
      Parameters:
      variable - the variable to add
      Returns:
      whether the variable was added
    • addVariables

      protected int addVariables(List<org.eclipse.debug.internal.ui.launchConfigurations.EnvironmentVariable> variables)
      Attempts to add the given variables. Returns the number of variables added (as when the user answers not to overwrite an existing variable).
      Parameters:
      variables - the variables to add
      Returns:
      the number of variables added
      Since:
      3.14
    • updateEnvironment

      protected void updateEnvironment(ILaunchConfiguration configuration)
      Updates the environment table for the given launch configuration
      Parameters:
      configuration - the configuration to use as input for the backing table
    • setDefaults

      public void setDefaults(ILaunchConfigurationWorkingCopy configuration)
      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:
      configuration - launch configuration
    • 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
    • performApply

      public void performApply(ILaunchConfigurationWorkingCopy configuration)
      Stores the environment in the given configuration
      Parameters:
      configuration - launch configuration
      See Also:
    • 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
      See Also:
    • 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:
    • 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:
    • 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:
    • initializeAttributes

      protected void initializeAttributes()
      Description copied from class: AbstractLaunchConfigurationTab
      Initialize attributes labels.
      Overrides:
      initializeAttributes in class AbstractLaunchConfigurationTab
      Since:
      3.13