Class AbstractDataBindingLaunchConfigurationTab
- java.lang.Object
-
- org.eclipse.debug.ui.AbstractLaunchConfigurationTab
-
- org.palladiosimulator.commons.ui.launch.AbstractDataBindingLaunchConfigurationTab
-
- All Implemented Interfaces:
IPrototypeAttributesLabelProvider
,ILaunchConfigurationTab
,ILaunchConfigurationTab2
public abstract class AbstractDataBindingLaunchConfigurationTab extends AbstractLaunchConfigurationTab
This abstract super class integrates the observable launch configuration adapter with the launch configuration tab hierarchy. It simplifies creating launch configuration dialogs, as it relieves you from implementing the same validation logic multiple times. Instead of implementingILaunchConfigurationTab.initializeFrom(ILaunchConfiguration)
,ILaunchConfigurationTab.performApply(ILaunchConfigurationWorkingCopy)
andILaunchConfigurationTab.setDefaults(ILaunchConfigurationWorkingCopy)
, registry the required bindings, already providing sensible defaults through#registerDataBindings(ObservableLaunchConfigurationAttributeFactory)
. Please note, that due to the way, the launch configurations work, the data bindings need to be registered before the controls are created. To bind your UI elements to launch configuration properties, please store the observable value references as class attributes.
-
-
Constructor Summary
Constructors Constructor Description AbstractDataBindingLaunchConfigurationTab()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
activated(ILaunchConfigurationWorkingCopy workingCopy)
void
createControl(Composite parent)
protected abstract void
createControlInternal(Composite parent, DataBindingContext bindingContext)
void
deactivated(ILaunchConfigurationWorkingCopy workingCopy)
void
initializeFrom(ILaunchConfiguration configuration)
void
performApply(ILaunchConfigurationWorkingCopy configuration)
protected abstract void
registerDataBindings(ObservableLaunchConfigurationAttributeFactory attributeFactory, DataBindingContext bindingContext)
void
setDefaults(ILaunchConfigurationWorkingCopy configuration)
-
Methods inherited from class org.eclipse.debug.ui.AbstractLaunchConfigurationTab
canSave, createCheckButton, createPushButton, createRadioButton, createSeparator, createUpdateJob, createVerticalSpacer, dispose, getAttributeLabel, getAttributesLabelsForPrototype, getControl, getErrorMessage, getHelpContextId, getId, getImage, getLaunchConfigurationDialog, getLaunchManager, getMessage, getShell, getUpdateJobDelay, getWarningMessage, initializeAttributes, isDirty, isValid, 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
getName, OkToLeaveTab, postApply
-
-
-
-
Method Detail
-
registerDataBindings
protected abstract void registerDataBindings(ObservableLaunchConfigurationAttributeFactory attributeFactory, DataBindingContext bindingContext)
-
createControlInternal
protected abstract void createControlInternal(Composite parent, DataBindingContext bindingContext)
-
createControl
public final void createControl(Composite parent)
-
initializeFrom
public void initializeFrom(ILaunchConfiguration configuration)
-
performApply
public void performApply(ILaunchConfigurationWorkingCopy configuration)
-
setDefaults
public void setDefaults(ILaunchConfigurationWorkingCopy configuration)
-
activated
public void activated(ILaunchConfigurationWorkingCopy workingCopy)
- Specified by:
activated
in interfaceILaunchConfigurationTab
- Overrides:
activated
in classAbstractLaunchConfigurationTab
-
deactivated
public void deactivated(ILaunchConfigurationWorkingCopy workingCopy)
- Specified by:
deactivated
in interfaceILaunchConfigurationTab
- Overrides:
deactivated
in classAbstractLaunchConfigurationTab
-
-