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
public interface ILinkCapable extends org.eclipse.core.runtime.IAdaptable
Interface that property container can implement indicating that they are capable of interacting with the drag-drop link system, Link or Paste-link menu items.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
Fields Modifier and Type Field Description static org.eclipse.core.runtime.IStatus
STATUS_LINK_NOT_SUPPORTED
Status for linking not supported.
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default java.lang.String
getDragDropHTML()
Gets the link HTML string to display when drag-dropping into JavaScript Panel Editor.java.lang.String
getDragDropText()
Gets the link text to display when drag-dropping into JavaScript Panel Editor.java.util.Collection<ILinkOperation>
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.
Method Detail
isLinkCapable
org.eclipse.core.runtime.IStatus isLinkCapable(LinkData data)
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
java.util.Collection<ILinkOperation> getLinkOperations(LinkData data)
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
java.lang.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
default java.lang.String getDragDropHTML()
Gets the link HTML string to display when drag-dropping into JavaScript Panel Editor.