Class RefreshTab
- java.lang.Object
-
- org.eclipse.debug.ui.AbstractLaunchConfigurationTab
-
- org.eclipse.debug.ui.RefreshTab
-
- All Implemented Interfaces:
IPrototypeAttributesLabelProvider,ILaunchConfigurationTab,ILaunchConfigurationTab2
public class RefreshTab extends AbstractLaunchConfigurationTab
A launch configuration tab which allows the user to specify which resources should be refreshed when the launch terminates.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 instantiate.
- Since:
- 3.0
- Restriction:
- This class is not intended to be sub-classed by clients.
-
-
Field Summary
Fields Modifier and Type Field Description static StringATTR_REFRESH_RECURSIVEBoolean attribute indicating if a refresh scope is recursive.static StringATTR_REFRESH_SCOPEString attribute identifying the scope of resources that should be refreshed after an external tool is run.
-
Constructor Summary
Constructors Constructor Description RefreshTab()Constructor
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidactivated(ILaunchConfigurationWorkingCopy workingCopy)This method was added to theILaunchConfigurationTabinterface 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.voidcreateControl(Composite parent)Creates the top level control for this launch configuration tab under the given parent composite.voiddeactivated(ILaunchConfigurationWorkingCopy workingCopy)This method was added to theILaunchConfigurationTabinterface in the 3.0 release to allow tabs to distinguish between a tab being deactivated and saving its attributes to a launch configuration.StringgetId()Returns this tab's unique identifier ornullif none.ImagegetImage()Returns the image for this tab, ornullif noneStringgetName()Returns the name of this tab.static StringgetRefreshAttribute(IWorkingSet workingSet)Creates and returns a memento for the given working set, to be used as a refresh attribute.static IResource[]getRefreshResources(String scope)Returns a collection of resources referred to by a refresh scope attribute.static StringgetRefreshScope(ILaunchConfiguration configuration)Returns the refresh scope attribute specified by the given launch configuration ornullif none.static IWorkingSetgetWorkingSet(String refreshAttribute)Creates and returns a working set from the given refresh attribute created by the methodgetRefreshAttribute(IWorkingSet), ornullif none.voidinitializeFrom(ILaunchConfiguration configuration)Initializes this tab's controls with values from the given launch configuration.static booleanisRefreshRecursive(ILaunchConfiguration configuration)Returns whether the refresh scope specified by the given launch configuration is recursive.booleanisValid(ILaunchConfiguration launchConfig)Returns whether this tab is in a valid state in the context of the specified launch configuration.voidperformApply(ILaunchConfigurationWorkingCopy configuration)Copies values from this tab into the given launch configuration.static voidrefreshResources(ILaunchConfiguration configuration, IProgressMonitor monitor)Refreshes the resources as specified by the given launch configuration.voidsetDefaults(ILaunchConfigurationWorkingCopy configuration)Initializes the given launch configuration with default values for this tab.-
Methods inherited from class org.eclipse.debug.ui.AbstractLaunchConfigurationTab
canSave, createCheckButton, createPushButton, createRadioButton, createSeparator, createUpdateJob, createVerticalSpacer, dispose, getAttributeLabel, getAttributesLabelsForPrototype, getControl, getErrorMessage, getHelpContextId, getLaunchConfigurationDialog, getLaunchManager, getMessage, getShell, getUpdateJobDelay, getWarningMessage, initializeAttributes, 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
-
-
-
-
Field Detail
-
ATTR_REFRESH_RECURSIVE
public static final String ATTR_REFRESH_RECURSIVE
Boolean attribute indicating if a refresh scope is recursive. Default value istrue.
-
ATTR_REFRESH_SCOPE
public static final String ATTR_REFRESH_SCOPE
String attribute identifying the scope of resources that should be refreshed after an external tool is run. The value is either a refresh variable or the default value,null, indicating no refresh.
-
-
Method Detail
-
createControl
public void createControl(Composite parent)
Description copied from interface:ILaunchConfigurationTabCreates the top level control for this launch configuration tab under the given parent composite. This method is called once on tab creation, aftersetLaunchConfigurationDialogis called.Implementors are responsible for ensuring that the created control can be accessed via
getControl- Parameters:
parent- the parent composite- See Also:
ILaunchConfigurationTab.createControl(org.eclipse.swt.widgets.Composite)
-
setDefaults
public void setDefaults(ILaunchConfigurationWorkingCopy configuration)
Description copied from interface:ILaunchConfigurationTabInitializes 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- See Also:
ILaunchConfigurationTab.setDefaults(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-
initializeFrom
public void initializeFrom(ILaunchConfiguration configuration)
Description copied from interface:ILaunchConfigurationTabInitializes 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- See Also:
ILaunchConfigurationTab.initializeFrom(org.eclipse.debug.core.ILaunchConfiguration)
-
performApply
public void performApply(ILaunchConfigurationWorkingCopy configuration)
Description copied from interface:ILaunchConfigurationTabCopies values from this tab into the given launch configuration.- Parameters:
configuration- launch configuration- See Also:
ILaunchConfigurationTab.performApply(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-
getName
public String getName()
Description copied from interface:ILaunchConfigurationTabReturns the name of this tab.- Returns:
- the name of this tab
- See Also:
ILaunchConfigurationTab.getName()
-
getImage
public Image getImage()
Description copied from interface:ILaunchConfigurationTabReturns the image for this tab, ornullif none- Specified by:
getImagein interfaceILaunchConfigurationTab- Overrides:
getImagein classAbstractLaunchConfigurationTab- Returns:
- the image for this tab, or
nullif none - See Also:
ILaunchConfigurationTab.getImage()
-
isValid
public boolean isValid(ILaunchConfiguration launchConfig)
Description copied from interface:ILaunchConfigurationTabReturns 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:
isValidin interfaceILaunchConfigurationTab- Overrides:
isValidin classAbstractLaunchConfigurationTab- Parameters:
launchConfig- launch configuration which provides context for validating this tab. This value must not benull.- Returns:
- whether this tab is in a valid state
- See Also:
ILaunchConfigurationTab.isValid(ILaunchConfiguration)
-
refreshResources
public static void refreshResources(ILaunchConfiguration configuration, IProgressMonitor monitor) throws CoreException
Refreshes the resources as specified by the given launch configuration.- Parameters:
configuration- launch configurationmonitor- progress monitor which may benull- Throws:
CoreException- if an exception occurs while refreshing resources
-
getRefreshResources
public static IResource[] getRefreshResources(String scope) throws CoreException
Returns a collection of resources referred to by a refresh scope attribute.- Parameters:
scope- refresh scope attribute (ATTR_REFRESH_SCOPE)- Returns:
- collection of resources referred to by the refresh scope attribute
- Throws:
CoreException- if unable to resolve a set of resources
-
getRefreshScope
public static String getRefreshScope(ILaunchConfiguration configuration) throws CoreException
Returns the refresh scope attribute specified by the given launch configuration ornullif none.- Parameters:
configuration- launch configuration- Returns:
- refresh scope attribute (
ATTR_REFRESH_SCOPE) - Throws:
CoreException- if unable to access the associated attribute
-
isRefreshRecursive
public static boolean isRefreshRecursive(ILaunchConfiguration configuration) throws CoreException
Returns whether the refresh scope specified by the given launch configuration is recursive.- Parameters:
configuration- the configuration to check for recursive refresh being set- Returns:
- whether the refresh scope is recursive
- Throws:
CoreException- if unable to access the associated attribute
-
getRefreshAttribute
public static String getRefreshAttribute(IWorkingSet workingSet)
Creates and returns a memento for the given working set, to be used as a refresh attribute.- Parameters:
workingSet- a working set, ornull- Returns:
- an equivalent refresh attribute
-
getWorkingSet
public static IWorkingSet getWorkingSet(String refreshAttribute)
Creates and returns a working set from the given refresh attribute created by the methodgetRefreshAttribute(IWorkingSet), ornullif none.- Parameters:
refreshAttribute- a refresh attribute that represents a working set- Returns:
- equivalent working set, or
null
-
activated
public void activated(ILaunchConfigurationWorkingCopy workingCopy)
Description copied from class:AbstractLaunchConfigurationTabThis method was added to theILaunchConfigurationTabinterface 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'sinitializeFrommethod. 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
activatedanddeactivatedallow tabs to determine the appropriate course of action.- Specified by:
activatedin interfaceILaunchConfigurationTab- Overrides:
activatedin classAbstractLaunchConfigurationTab- 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:AbstractLaunchConfigurationTabThis method was added to theILaunchConfigurationTabinterface 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'sperformApplymethod. 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
activatedanddeactivatedallow tabs to determine the appropriate course of action.- Specified by:
deactivatedin interfaceILaunchConfigurationTab- Overrides:
deactivatedin classAbstractLaunchConfigurationTab- Parameters:
workingCopy- the launch configuration being edited- See Also:
ILaunchConfigurationTab.deactivated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-
getId
public String getId()
Description copied from class:AbstractLaunchConfigurationTabReturns this tab's unique identifier ornullif none. By default,nullis returned. Subclasses should override as necessary.Tab identifiers allow contributed tabs to be ordered relative to one another.
- Overrides:
getIdin classAbstractLaunchConfigurationTab- Returns:
- tab id or
null - Since:
- 3.5
- See Also:
AbstractLaunchConfigurationTab.getId()
-
-