Interface DesignerBindings

All Known Implementing Classes:
DesignerBindings.DefaultDesignerBindings

public interface DesignerBindings
Gathers some services to customise how language implementations bind to the designer.
Author:
Clément Fournier
Since:
6.20.0
  • Method Details

    • getRelatedNodesSelector

      RelatedNodesSelector getRelatedNodesSelector()
      Returns an instance of RelatedNodesSelector, or null if it should be defaulted to using the old symbol table (ScopedNode). That default behaviour is implemented in the designer directly.
    • getAdditionalInfo

      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

      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.