Interface ILinkCapable
- All Superinterfaces:
org.eclipse.core.runtime.IAdaptable
- All Known Subinterfaces:
IELayoutMgr<LAYOUT_PROP>
,IELayoutMgrDND<LAYOUT_PROP>
,IELayoutMgrSimpleDND<LAYOUT_PROP>
,IEUIComp
,IEUIContainer
,IEUIPanel
,IJavaClassLinkEnabler
,IJavaInterfaceLinkEnabler
,IJavaMethodLinkEnabler
,IUIBuilderFromVSLinkEnabler
,IUIComponentLinkEnabler
,IUICreationFromVS
,IVSActionLinkEnabler
,IVSFieldLinkEnabler
- All Known Implementing Classes:
EAbsoluteLayout
,EAccordionLayout
,EBorderLayout
,ECalendarEvent
,ECalendarLayout
,EContextMenuLayout
,EditorInputProps
,EditorOutputColumn
,EditorOutputProps
,EditorOutputTable
,EditorOutputVariable
,EditorRESTfulInputProps
,EditorResultProps
,EditorResultSetProps
,EditorScreenFieldProp
,EditorVirtualSpace
,EditorVSAction
,EditorVSField
,EditorVSGroup
,EditorVSTable
,EFlexLayout
,EGridLayout
,EHeadingLayout
,EListLayout
,EMapLayout
,EMapMarkerProp
,EMapMarkers
,EMenuBarLayout
,EMenuLayout
,EMLDefaultItemProp
,EMLGroup
,EMLGroupLayout
,EMList
,EMListLayout
,EMLItemProp
,EMUIHeading
,EMUISimpleDialog
,EMUISwitch
,EMUITabBar
,ESwapLayout
,ETabBarLayout
,ETabLayout
,EUIAccordion
,EUIButton
,EUICalendar
,EUICalendarList
,EUIChart
,EUICheckBox
,EUICheckedMenuItem
,EUIComboBox
,EUIComps
,EUIContainer
,EUIContextMenu
,EUIDateTime
,EUIDialog
,EUIEmpty
,EUIGauge
,EUIImage
,EUIImage2
,EUILabel
,EUIMap
,EUIMedia
,EUIMenu
,EUIMenuBar
,EUIMenuItem
,EUIMenuSeparator
,EUIOutput
,EUIPanel
,EUIPanelPart
,EUIPanelPartCnr
,EUIProgress
,EUIRadioButton
,EUIRadioMenuItem
,EUISlider
,EUISpinner
,EUISwapContainer
,EUITabContainer
,EUITable
,EUITableColumn
,EUITableLayout
,EUIText
,EUITextArea
,EUITitlePane
,JavaElementLinkAdapter
As linking can be done in both ways, e.g. drop a VirtualSpace element in a panel container or on component, or a panel container dropped in a VS group, this interface is versatile.
In order to be able to accommodate new linking partners that are not yet know, this interface allows for inverted actions, i.e. the target is tested for link capabilities. If it doesn't support it, the link operations are collected from the sources, but with the target as their source. If this produces link operations, then these will be used in the linking.
This interface is very powerful as it enables very complex operations, such as dropping an entire VirtualSpace in a panel to create all the UI for it. Of course, this required quite some wizard dialog pages to be presented to the user in order to enable creation of different UI elements for each sub-operation.
- Author:
- Christopher Mindus
Field Summary
Modifier and TypeFieldDescriptionstatic final org.eclipse.core.runtime.IStatus
Status for linking not supported.Method Summary
Modifier and TypeMethodDescriptiondefault String
Gets the link HTML string to display when drag-dropping into JavaScript Panel Editor.Gets the link text to display when drag-dropping into JavaScript Panel Editor.getLinkOperations
(LinkData data) Called when the drag-drop is to be performed (link or paste-link menu item).org.eclipse.core.runtime.IStatus
isLinkCapable
(LinkData data) Returns if this property container could potentially be link capable.Methods inherited from interface org.eclipse.core.runtime.IAdaptable
getAdapter
Field Details
STATUS_LINK_NOT_SUPPORTED
static final org.eclipse.core.runtime.IStatus STATUS_LINK_NOT_SUPPORTEDStatus for linking not supported.
Method Details
isLinkCapable
Returns if this property container could potentially be link capable.This call is done many times during drag-drop and must be very fast and not cause too much garbage collection.
- Parameters:
data
- The link data.- Returns:
- The status of capability of the operation.
getLinkOperations
Called when the drag-drop is to be performed (link or paste-link menu item). The link-capable instance fills in only what it handles.- Parameters:
data
- The link data.- Returns:
- The list of operations required.
getDragDropText
String getDragDropText()Gets the link text to display when drag-dropping into JavaScript Panel Editor.- Returns:
- The drag-drop text to use, or null if the method
is used instead.getDragDropHTML()
getDragDropHTML
Gets the link HTML string to display when drag-dropping into JavaScript Panel Editor.