private void updateTreeItem()

in kit/src/main/java/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/AbstractHierarchyPanelController.java [826:948]


    private void updateTreeItem(final TreeItem<HierarchyItem> treeItem) {

        final DesignHierarchyMask mask = treeItem.getValue().getMask();
        assert mask != null;

        // Graphic (displayed at first position)
        //---------------------------------
        if (mask.isAcceptingAccessory(Accessory.GRAPHIC)) {
            final FXOMObject value = mask.getAccessory(Accessory.GRAPHIC);
            if (value != null) {
                treeItem.getChildren().add(makeTreeItemGraphic(mask, value));
            }
        }

        // Tooltip (displayed at second position)
        //---------------------------------
        if (mask.isAcceptingAccessory(Accessory.TOOLTIP)) {
            final FXOMObject value = mask.getAccessory(Accessory.TOOLTIP);
            if (value != null) {
                treeItem.getChildren().add(makeTreeItem(value));
            }
        }

        // Context menu (displayed at third position)
        //---------------------------------
        if (mask.isAcceptingAccessory(Accessory.CONTEXT_MENU)) {
            final FXOMObject value = mask.getAccessory(Accessory.CONTEXT_MENU);
            if (value != null) {
                treeItem.getChildren().add(makeTreeItem(value));
            }
        }

        // Axis (chart)
        //---------------------------------
        if (mask.isAcceptingAccessory(Accessory.XAXIS)) {
            final FXOMObject value = mask.getAccessory(Accessory.XAXIS);
            if (value != null) {
                treeItem.getChildren().add(makeTreeItem(value));
            }
        }
        if (mask.isAcceptingAccessory(Accessory.YAXIS)) {
            final FXOMObject value = mask.getAccessory(Accessory.YAXIS);
            if (value != null) {
                treeItem.getChildren().add(makeTreeItem(value));
            }
        }

        // Gluon ExpansionPanel
        for (Accessory accessory: new Accessory[]{
                Accessory.EXPANDED_CONTENT,
                Accessory.COLLAPSED_CONTENT
        }) {
            if (mask.isAcceptingAccessory(accessory)) {
                final FXOMObject value = mask.getAccessory(accessory);
                treeItem.getChildren().add(makeTreeItemExpansionPanel(mask, value, accessory));
            }
        }

        // Gluon ExpandedPanel
        if (mask.isAcceptingAccessory(Accessory.EX_CONTENT)) {
            final FXOMObject value = mask.getAccessory(Accessory.EX_CONTENT);
            treeItem.getChildren().add(makeTreeItemExpandedPanel(mask, value));
        }

        // Content (ScrollPane, Tab...)
        //---------------------------------
        if (mask.isAcceptingAccessory(Accessory.CONTENT)) {
            final FXOMObject value = mask.getAccessory(Accessory.CONTENT);
            if (value != null) {
                treeItem.getChildren().add(makeTreeItem(value));
            }
        }

        if (mask.isAcceptingAccessory(Accessory.ROOT)) {
            final FXOMObject value = mask.getAccessory(Accessory.ROOT);
            if (value != null) {
                treeItem.getChildren().add(makeTreeItem(value));
            }
        }

        if (mask.isAcceptingAccessory(Accessory.SCENE)) {
            final FXOMObject value = mask.getAccessory(Accessory.SCENE);
            if (value != null) {
                treeItem.getChildren().add(makeTreeItem(value));
            }
        }

        // Positionning
        //---------------------------------
        for (Accessory accessory : new Accessory[]{
            Accessory.TOP,
            Accessory.LEFT,
            Accessory.CENTER,
            Accessory.RIGHT,
            Accessory.BOTTOM}) {
            if (mask.isAcceptingAccessory(accessory)) {
                final FXOMObject value = mask.getAccessory(accessory);
                treeItem.getChildren().add(makeTreeItemBorderPane(mask, value, accessory));
            }
        }

        // DialogPane
        //---------------------------------
        for (Accessory accessory : new Accessory[]{
            Accessory.HEADER,
            Accessory.DP_GRAPHIC,
            Accessory.DP_CONTENT,
            Accessory.EXPANDABLE_CONTENT}) {
            if (mask.isAcceptingAccessory(accessory)) {
                final FXOMObject value = mask.getAccessory(accessory);
                treeItem.getChildren().add(makeTreeItemDialogPane(mask, value, accessory));
            }
        }

        // Sub components
        //---------------------------------
        if (mask.isAcceptingSubComponent()) {
            for (int i = 0, count = mask.getSubComponentCount(); i < count; i++) {
                final FXOMObject value = mask.getSubComponentAtIndex(i);
                treeItem.getChildren().add(makeTreeItem(value));
            }
        }
    }