Package org.zkoss.stateless.sul

## Interface ICombobutton

- All Superinterfaces:
    `IAnyGroup<ICombobutton>`, `IButtonBase<ICombobutton>`, `IChildrenOfInputgroup<ICombobutton>`, `IComponent<ICombobutton>`, `IHtmlBasedComponent<ICombobutton>`, `ILabelElement<ICombobutton>`, `ILabelImageElement<ICombobutton>`, `ISingleChildable<ICombobutton,​IPopupBase>`, `IXulElement<ICombobutton>`

      public interface ICombobutton
      extends IButtonBase<ICombobutton>, ISingleChildable<ICombobutton,​IPopupBase>, IAnyGroup<ICombobutton>

  Immutable `Combobutton` component

  A Combobutton is a special Button that embeds a popup or menupopup child.

  ### Support @Action

  Name | Action Type
  --- | ---
  onOpen | ActionData: `OpenData` Denotes when the child popup is opened or closed.

  Author:
    katherine
  See Also:
    `Combobutton`

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface | Description
    --- | --- | ---
    `static class` | `ICombobutton.Builder` | Builds instances of type `ICombobutton`.
    `static class` | `ICombobutton.Updater` | Builds an updater of type `ICombobutton` for `UiAgent.smartUpdate(Locator, SmartUpdater)`.

    - ### Nested classes/interfaces inherited from interface org.zkoss.stateless.sul.IButtonBase

      `IButtonBase.Direction, IButtonBase.Orient, IButtonBase.Type`

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static ICombobutton` | `DEFAULT` | Constant for default attributes of this immutable component.

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `default java.lang.String` | `getWidgetClass()` | Returns the client widget class.
    `default boolean` | `isAutodrop()` | Returns whether to automatically drop the popup if user hovers on this Combobutton.
    `static <I extends IPopupBase> ICombobutton` | `of​(I iPopup)` | Returns the instance with the given popup * @param popup The popup of the component
    `static ICombobutton` | `of​(java.lang.String label)` | Returns the instance with the given label.
    `static <I extends IPopupBase> ICombobutton` | `of​(java.lang.String label, I popup)` | Returns the instance with the given label and popup.
    `static ICombobutton` | `of​(java.lang.String label, java.lang.String image)` | Returns the instance with the given label and image.
    `static ICombobutton` | `ofDir​(IButtonBase.Direction dir)` | Returns the instance with the given dir.
    `static ICombobutton` | `ofId​(java.lang.String id)` | Returns the instance with the given id.
    `static ICombobutton` | `ofImage​(java.lang.String image)` | Returns the instance with the given image.
    `static ICombobutton` | `ofOrient​(IButtonBase.Orient orient)` | Returns the instance with the given orient.
    `static ICombobutton` | `ofType​(IButtonBase.Type type)` | Returns the instance with the given type.
    `ICombobutton` | `withAutodrop​(boolean autodrop)` | Returns a copy of `this` immutable component with the specified `autodrop`.

    - ### Methods inherited from interface org.zkoss.stateless.sul.IButtonBase

      `checkOrient, getAutodisable, getDir, getHref, getOrient, getTarget, getType, getUpload, isDisabled, withAutodisable, withDir, withDir, withDisabled, withHref, withOrient, withOrient, withTarget, withType, withType, withUpload`

    - ### Methods inherited from interface org.zkoss.stateless.sul.IComponent

      `getAction, getActions, getClientAttributes, getId, getMold, getWidgetListeners, getWidgetOverrides, isVisible, withAction, withAction, withAction, withAction, withAction, withAction, withAction, withAction, withAction, withAction, withAction, withActions, withActions, withClientAttribute, withClientAttributes, withId, withMold, withVisible, withWidgetClass, withWidgetListener, withWidgetListeners, withWidgetOverride, withWidgetOverrides`

    - ### Methods inherited from interface org.zkoss.stateless.sul.IHtmlBasedComponent

      `getClientAction, getDraggable, getDroppable, getHeight, getHflex, getLeft, getRenderdefer, getSclass, getStyle, getTabindex, getTooltiptext, getTop, getVflex, getWidth, getZclass, getZIndex, isFocus, withClientAction, withDraggable, withDroppable, withFocus, withHeight, withHflex, withLeft, withRenderdefer, withSclass, withStyle, withTabindex, withTabindex, withTooltiptext, withTop, withVflex, withWidth, withZclass, withZIndex`

    - ### Methods inherited from interface org.zkoss.stateless.sul.ILabelElement

      `getLabel, withLabel`

    - ### Methods inherited from interface org.zkoss.stateless.sul.ILabelImageElement

      `getHoverImage, getIconSclass, getIconSclasses, getIconTooltip, getIconTooltips, getImage, isPreloadImage, withHoverImage, withIconSclass, withIconSclasses, withIconTooltip, withIconTooltips, withImage, withPreloadImage`

    - ### Methods inherited from interface org.zkoss.stateless.sul.ISingleChildable

      `getChild, withChild`

    - ### Methods inherited from interface org.zkoss.stateless.sul.IXulElement

      `getContext, getCtrlKeys, getPopup, getTooltip, withContext, withCtrlKeys, withPopup, withTooltip`

- - ### Field Detail

    - #### DEFAULT

          static final ICombobutton DEFAULT

      Constant for default attributes of this immutable component.

  - ### Method Detail

    - #### getWidgetClass

          default java.lang.String getWidgetClass()

      Returns the client widget class.

      Default: `"zul.wgt.Combobutton"`

      Specified by:
        `getWidgetClass` in interface `IComponent<ICombobutton>`

    - #### isAutodrop

          default boolean isAutodrop()

      Returns whether to automatically drop the popup if user hovers on this Combobutton.

      Default: `false`.

    - #### withAutodrop

          ICombobutton withAutodrop​(boolean autodrop)

      Returns a copy of `this` immutable component with the specified `autodrop`.

      Sets whether to automatically drop the popup if user hovers on this Combobutton.

      Parameters:
        `autodrop` - Whether to automatically drop the popup if user hovers on this Combobutton.

        Default: `false`.

      Returns:
        A modified copy of the `this` object

    - #### of

          static <I extends IPopupBase> ICombobutton of​(java.lang.String label,
                                                        I popup)

      Returns the instance with the given label and popup.
      Parameters:
        `label` - The label that the component
        `popup` - The popup of the component

    - #### of

          static <I extends IPopupBase> ICombobutton of​(I iPopup)

      Returns the instance with the given popup * @param popup The popup of the component

    - #### of

          static ICombobutton of​(java.lang.String label)

      Returns the instance with the given label.
      Parameters:
        `label` - The label that the component

    - #### of

          static ICombobutton of​(java.lang.String label,
                                 java.lang.String image)

      Returns the instance with the given label and image.
      Parameters:
        `label` - The label that the button holds.
        `image` - The image that the button holds.

    - #### ofImage

          static ICombobutton ofImage​(java.lang.String image)

      Returns the instance with the given image.
      Parameters:
        `image` - The image that the button holds.

    - #### ofOrient

          static ICombobutton ofOrient​(IButtonBase.Orient orient)

      Returns the instance with the given orient.
      Parameters:
        `orient` - The button orient

    - #### ofType

          static ICombobutton ofType​(IButtonBase.Type type)

      Returns the instance with the given type.
      Parameters:
        `type` - The button type

    - #### ofDir

          static ICombobutton ofDir​(IButtonBase.Direction dir)

      Returns the instance with the given dir.
      Parameters:
        `dir` - The button dir

    - #### ofId

          static ICombobutton ofId​(java.lang.String id)

      Returns the instance with the given id.
      Parameters:
        `id` - The id to identify this component