Class CollapseButton

  • All Implemented Interfaces:
    Serializable, OptionDataListener, org.zkoss.json.JSONAware

    public class CollapseButton
    extends Optionable
    Options applied to collapse Button. The collapse button is the small button which indicates, that the node is collapsable.
    Since:
    10.3.3.0
    Author:
    jumperchen
    See Also:
    Serialized Form
    • Constructor Detail

      • CollapseButton

        public CollapseButton()
    • Method Detail

      • isEnabled

        public boolean isEnabled()
        Returns whether the button should be visible.

        Default: true

      • setEnabled

        public void setEnabled​(boolean enabled)
        Sets whether the button should be visible.

        Default: true

      • getHeight

        public Number getHeight()
        Returns pixel height of the button.

        Default: 10

      • setHeight

        public void setHeight​(Number height)
        Sets pixel height of the button.

        Default: 10

      • isOnlyOnHover

        public boolean isOnlyOnHover()
        Returns whether the button should be visible only when the node is hovered. When set to true, the button is hidden for nodes, which are not collapsed, and shown for the collapsed ones.

        Default: true

      • setOnlyOnHover

        public void setOnlyOnHover​(boolean onlyOnHover)
        Sets whether the button should be visible only when the node is hovered. When set to true, the button is hidden for nodes, which are not collapsed, and shown for the collapsed ones.

        Default: true

      • getWidth

        public Number getWidth()
        Returns pixel width of the button.

        Default: 10

      • setWidth

        public void setWidth​(Number width)
        Sets pixel width of the button.

        Default: 10

      • getX

        public Number getX()
        Returns the x position offset of the button.

        Default: 0

      • setX

        public void setX​(Number x)
        Sets the x position offset of the button.

        Default: 0

      • getY

        public Number getY()
        Returns the y position offset of the button.

        Default: 0

      • setY

        public void setY​(Number y)
        Sets the y position offset of the button.

        Default: 0

      • getStyle

        public <K,​V> Map<K,​V> getStyle()
        Returns CSS styles for the annotation's label.

        Default: empty

        Type Parameters:
        K - type for the key

        if style was set using setStyle(String), type will be String

        if style was set using setStyle(Map), type will be the same as the type from the key of the map

        if style was not set, default style will be applied, and type will be String

        V - type for the value

        if style was set using setStyle(String), type will be String

        if style was set using setStyle(Map), type will be the same as the type from the key of the map

        if style was not set, default style will be applied, and type will be String

      • setStyle

        public void setStyle​(String style)
        Sets CSS styles for the annotation's label.

        This method allows simple settings like

        
         label.setStyle("fontWeight: 'bold'; color: 'white'; textShadow: '0px 1px 2px black'");
         

        In the format of CSS key:value, and ";" separating multiple key:value pairs, if you have more a complex CSS styling, we recommend using setStyle(Map)

        Parameters:
        style - one or many CSS key:value pairs in a single line string format
      • setStyle

        public <K,​V> void setStyle​(Map<K,​V> style)
        Sets CSS styles for the annotation's label.

        This method allows complex styling like:

         
         Map<String, Object> styles = new HashMap<String, Object>();
         styles.put("fill", "#E8E8EA");
         styles.put("stroke", "#6E6E78");
         styles.put("stroke-width", "1");
         styles.put("r", "0");
         Map<String, Object> states = new HashMap<String, Object>();
         Map<String, String> hover = new HashMap<String, String>();
         hover.put("fill", "#F4F4F6");
         hover.put("stroke", "#6E6E78");
         hover.put("stroke-width", "1");
         hover.put("r", "0");
         states.put("hover", hover);
         styles.put("states", states);
         Map<String, String> style = new HashMap<String, String>();
         style.put("color", "#4D5663");
         style.put("fontSize", "12px");
         style.put("fontFamily", "'Arial'");
         style.put("fontWeight", "normal");
         style.put("padding", "10px");
         styles.put("style", style);
         
        which will generate the final results like:
        
         {
             "fill": "#E8E8EA",
             "stroke": "#6E6E78",
             "stroke-width": "1",
             "r": "0",
             "states":
             {
                 "hover":
                 {
                     "fill": "#F4F4F6",
                     "stroke": "#6E6E78",
                     "stroke-width": "1",
                     "r": "0"
                 }
             },
             "style":
             {
                 "color": "#4D5663",
                 "fontSize": "12px",
                 "fontFamily": "'Arial'",
                 "fontWeight": "normal",
                 "padding": "10px"
             }
         }
         
        Type Parameters:
        K - Type for the key, usually String
        V - Type for the value, usually String. For nested maps, use Object or any other type.
        Parameters:
        style - the style object