Interface ThemableLayout

  • All Superinterfaces:
    com.vaadin.flow.component.HasElement, Serializable
    All Known Implementing Classes:
    HorizontalLayout, VerticalLayout

    public interface ThemableLayout
    extends com.vaadin.flow.component.HasElement
    Common logic for VerticalLayout and HorizontalLayout related to dynamic theme adjustment.

    Note: Dynamic adjustment have effect only if the corresponding component theme supports it.

    Author:
    Vaadin Ltd.
    • Method Summary

      All Methods Instance Methods Default Methods 
      Modifier and Type Method Description
      default BoxSizing getBoxSizing()
      Gets the box-sizing defined for the layout, or BoxSizing.UNDEFINED if none was defined on the server-side.
      default com.vaadin.flow.dom.ThemeList getThemeList()
      Gets the set of the theme names applied to the corresponding element in theme attribute.
      default boolean isMargin()
      Shows if margin theme setting is applied to the component.
      default boolean isPadding()
      Shows if padding theme setting is applied to the component.
      default boolean isSpacing()
      Shows if spacing theme setting is applied to the component.
      default void setBoxSizing​(BoxSizing boxSizing)
      Sets the box-sizing CSS property of the layout.
      default void setMargin​(boolean margin)
      Toggles margin theme setting for the element.
      default void setPadding​(boolean padding)
      Toggles padding theme setting for the element.
      default void setSpacing​(boolean spacing)
      Toggles spacing theme setting for the element.
      • Methods inherited from interface com.vaadin.flow.component.HasElement

        getElement
    • Method Detail

      • setMargin

        default void setMargin​(boolean margin)
        Toggles margin theme setting for the element. If a theme supports this attribute, it will apply or remove margin to the element.
        Parameters:
        margin - adds margin theme setting if true or removes it if false
      • isMargin

        default boolean isMargin()
        Shows if margin theme setting is applied to the component.
        Returns:
        true if theme setting is applied, false otherwise
      • setPadding

        default void setPadding​(boolean padding)
        Toggles padding theme setting for the element. If a theme supports this attribute, it will apply or remove padding to the element.
        Parameters:
        padding - adds padding theme setting if true or removes it if false
      • isPadding

        default boolean isPadding()
        Shows if padding theme setting is applied to the component.
        Returns:
        true if theme setting is applied, false otherwise
      • setSpacing

        default void setSpacing​(boolean spacing)
        Toggles spacing theme setting for the element. If a theme supports this attribute, it will apply or remove spacing to the element.

        This method adds medium spacing to the component theme, to set other options, use getThemeList(). List of options possible:

        • spacing-xs
        • spacing-s
        • spacing
        • spacing-l
        • spacing-xl
        Parameters:
        spacing - adds spacing theme setting if true or removes it if false
      • isSpacing

        default boolean isSpacing()
        Shows if spacing theme setting is applied to the component.
        Returns:
        true if theme setting is applied, false otherwise
      • getThemeList

        default com.vaadin.flow.dom.ThemeList getThemeList()
        Gets the set of the theme names applied to the corresponding element in theme attribute. The set returned can be modified to add or remove the theme names, changes to the set will be reflected in the attribute value.

        Despite the name implying a list being returned, the return type is actually a Set since the in-browser return value behaves like a Set in Java.

        Returns:
        a list of theme names, never null
      • setBoxSizing

        default void setBoxSizing​(BoxSizing boxSizing)
        Sets the box-sizing CSS property of the layout.
        Parameters:
        boxSizing - the box-sizing of the layout. null is interpreted as BoxSizing.UNDEFINED
        See Also:
        BoxSizing
      • getBoxSizing

        default BoxSizing getBoxSizing()
        Gets the box-sizing defined for the layout, or BoxSizing.UNDEFINED if none was defined on the server-side.
        Returns:
        the box-sizing, never null
        See Also:
        BoxSizing