Class WTheme

Direct Known Subclasses:
WBootstrap2Theme, WBootstrap3Theme, WBootstrap5Theme, WBootstrapTheme, WCssTheme

public abstract class WTheme extends WObject
Abstract base class for themes in JWt.

See Also:
  • Constructor Details

    • WTheme

      public WTheme()
  • Method Details

    • getName

      public abstract String getName()
      Returns a theme name.

      Returns a unique name for the theme. This name is used by the default implementation of getResourcesUrl() to compute a location for the theme's resources.

    • getResourcesUrl

      public String getResourcesUrl()
      Returns the URL where theme-related resources are stored.

      The default implementation considers a folder within JWt's resource directory, based on the theme getName().

    • serveCss

      public void serveCss(StringBuilder out)
      Serves the CSS for the theme.

      This must serve CSS declarations for the theme.

      The default implementation serves all the getStyleSheets().

    • getStyleSheets

      public abstract List<WLinkedCssStyleSheet> getStyleSheets()
      Returns a vector with stylesheets for the theme.

      This should return a vector with stylesheets that implement the theme. This list may be tailored to the current user agent, which is read from the application environment.

    • init

      public void init(WApplication app)
      Called when the theme is assigned to a WApplication.

      This allows the theme to do things like load resource bundles when it is added to an application using WApplication#setTheme().

      The default implementation does nothing.

    • apply

      public abstract void apply(WWidget widget, WWidget child, int widgetRole)
      Applies the theme to a child of a composite widget.

      The widgetRole indicates the role that child has within the implementation of the widget.

    • apply

      public abstract void apply(WWidget widget, DomElement element, int elementRole)
      Applies the theme to a DOM element that renders a widget.

      The element is a rendered representation of the widget, and may be further customized to reflect the theme.

    • getDisabledClass

      public abstract String getDisabledClass()
      Returns a generic CSS class name for a disabled element.
    • getActiveClass

      public abstract String getActiveClass()
      Returns a generic CSS class name for an active element.
    • utilityCssClass

      public abstract String utilityCssClass(int utilityCssClassRole)
      Returns a generic CSS class name for the chosen role.
    • isCanStyleAnchorAsButton

      public abstract boolean isCanStyleAnchorAsButton()
      Returns whether the theme allows for an anchor to be styled as a button.
    • applyValidationStyle

      public abstract void applyValidationStyle(WWidget widget, WValidator.Result validation, EnumSet<ValidationStyleFlag> flags)
      Applies a style that indicates the result of validation.
    • applyValidationStyle

      public final void applyValidationStyle(WWidget widget, WValidator.Result validation, ValidationStyleFlag flag, ValidationStyleFlag... flags)
      Applies a style that indicates the result of validation.

      Calls applyValidationStyle(widget, validation, EnumSet.of(flag, flags))

    • canBorderBoxElement

      public abstract boolean canBorderBoxElement(DomElement element)
    • getPanelCollapseIconSide

      public Side getPanelCollapseIconSide()
      Returns which side the WPanel collapse icon should be added on.

      Side is assumed to be Side.Left or Side.Right, other sides are not supported.