Interface DesignerBindings
-
- All Known Implementing Classes:
DesignerBindings.DefaultDesignerBindings
@Experimental public interface DesignerBindings
Gathers some services to customise how language implementations bind to the designer.- Since:
- 6.20.0
- Author:
- Clément Fournier
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
DesignerBindings.AdditionalInfo
An entry for the "additional info" panel.static class
DesignerBindings.DefaultDesignerBindings
A base implementation forDesignerBindings
.static class
DesignerBindings.TreeIconId
SeegetIcon(Node)
.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Collection<DesignerBindings.AdditionalInfo>
getAdditionalInfo(Node node)
Returns a collection of "additional information" entries pertaining to the given node.DesignerBindings.TreeIconId
getIcon(Node node)
Returns a constant describing an icon that the node should bear in the treeview and other relevant places.Attribute
getMainAttribute(Node node)
Returns the "main" attribute of the given node.RelatedNodesSelector
getRelatedNodesSelector()
Returns an instance ofRelatedNodesSelector
, or null if it should be defaulted to using the old symbol table (ScopedNode
).boolean
isExpandedByDefaultInTree(Node node)
Returns true if the children of this node should be displayed in the treeview by default.
-
-
-
Method Detail
-
getRelatedNodesSelector
RelatedNodesSelector getRelatedNodesSelector()
Returns an instance ofRelatedNodesSelector
, or null if it should be defaulted to using the old symbol table (ScopedNode
). That default behaviour is implemented in the designer directly.
-
getAdditionalInfo
Collection<DesignerBindings.AdditionalInfo> getAdditionalInfo(Node node)
Returns a collection of "additional information" entries pertaining to the given node. An entry may look like("Type = List<String>", 0)
, or show the result of an XPath function. The information is shown when the node is displayed.Order of the collection is unimportant, it's sorted using
DesignerBindings.AdditionalInfo.getSortKey()
.
-
getMainAttribute
Attribute getMainAttribute(Node node)
Returns the "main" attribute of the given node. The string representation of this attribute (Attribute.getStringValue()
) will be displayed next to the node type in the treeview. For example, for a numeric literal, this could return the attribute(@IntValue, 1)
, for a class declaration, it could return the name of the class (eg(@SimpleName, String)
.If there's no obvious "main" attribute, or if the node is not supported, returns null. If the returned attribute is non-null, but its string value is, the return value is ignored.
Note: the attribute doesn't need to originate from
Node.getXPathAttributesIterator()
, it can be constructed ad-hoc. The name of the attribute should be a valid name for the XPath attribute though.This method is meant to break the designer's dependency on
Node.getImage()
.
-
isExpandedByDefaultInTree
boolean isExpandedByDefaultInTree(Node node)
Returns true if the children of this node should be displayed in the treeview by default. Returning "true" is the safe default value.
-
getIcon
DesignerBindings.TreeIconId getIcon(Node node)
Returns a constant describing an icon that the node should bear in the treeview and other relevant places. Returns null if no icon is applicable.
-
-