Wt: Wt::WTheme Class Reference

Wt 4.10.4

Loading...
Searching...
No Matches
Public Member Functions | List of all members
Wt::WTheme Class Referenceabstract

`#include <Wt/WTheme.h>`

Inheritance diagram for Wt::WTheme:
[legend]

## Public Member Functions
| WTheme ()
| Constructor.
virtual | ~WTheme ()
| Destructor.
virtual std::string | name () const =0
| Returns a theme name.
virtual std::string | resourcesUrl () const
| Returns the URL where theme-related resources are stored.
virtual void | serveCss (WStringStream &out) const
| Serves the CSS for the theme.
virtual std::vector< WLinkedCssStyleSheet > | styleSheets () const =0
| Returns a vector with stylesheets for the theme.
virtual void | init (WApplication *app) const
| Called when the theme is assigned to a WApplication.
virtual void | apply (WWidget *widget, WWidget *child, int widgetRole) const =0
| Applies the theme to a child of a composite widget.
virtual void | apply (WWidget *widget, DomElement &element, int elementRole) const =0
| Applies the theme to a DOM element that renders a widget.
virtual std::string | disabledClass () const =0
| Returns a generic CSS class name for a disabled element.
virtual std::string | activeClass () const =0
| Returns a generic CSS class name for an active element.
virtual std::string | utilityCssClass (int utilityCssClassRole) const =0
| Returns a generic CSS class name for the chosen role.
virtual bool | canStyleAnchorAsButton () const =0
| Returns whether the theme allows for an anchor to be styled as a button.
virtual void | applyValidationStyle (WWidget *widget, const Wt::WValidator::Result &validation, WFlags< ValidationStyleFlag > flags) const =0
| Applies a style that indicates the result of validation.
virtual Side | panelCollapseIconSide () const
| Returns which side the WPanel collapse icon should be added on.
Public Member Functions inherited from Wt::WObject
void | addChild (std::unique_ptr< WObject > child)
| Add a child WObject whose lifetime is determined by this WObject.
template<typename Child >
Child * | addChild (std::unique_ptr< Child > child)
| Add a child WObject, returning a raw pointer.
std::unique_ptr< WObject > | removeChild (WObject *child)
| Remove a child WObject, so its lifetime is no longer determined by this WObject.
template<typename Child >
std::unique_ptr< Child > | removeChild (Child *child)
| Remove a child WObject, so its lifetime is no longer determined by this WObject.
virtual const std::string | id () const
| Returns the (unique) identifier for this object.
virtual void | setObjectName (const std::string &name)
| Sets an object name.
virtual std::string | objectName () const
| Returns the object name.
void | resetLearnedSlots ()
| Resets learned stateless slot implementations.
template<class T >
void | resetLearnedSlot (void(T::*method)())
| Resets a learned stateless slot implementation.
template<class T >
WStatelessSlot * | implementStateless (void(T::*method)())
| Declares a slot to be stateless and learn client-side behaviour on first invocation.
template<class T >
WStatelessSlot * | implementStateless (void(T::*method)(), void(T::*undoMethod)())
| Declares a slot to be stateless and learn client-side behaviour in advance.
void | isNotStateless ()
| Marks the current function as not stateless.
template<class T >
WStatelessSlot * | implementJavaScript (void(T::*method)(), const std::string &jsCode)
| Provides a JavaScript implementation for a method.
Public Member Functions inherited from Wt::Core::observable
| observable () noexcept
| Default constructor.
virtual | ~observable ()
| Destructor.
template<typename... Args, typename C >
auto | bindSafe (void(C::*method)(Args...)) noexcept
| Protects a method call against object destruction.
template<typename... Args, typename C >
auto | bindSafe (void(C::*method)(Args...) const) const noexcept
| Protects a const method call against object destruction.
template<typename Function >
auto | bindSafe (const Function &function) noexcept
| Protects a function against object destruction.

## Additional Inherited Members
Public Types inherited from Wt::WObject
typedef void(WObject::*) | Method()
| Typedef for a WObject method without arguments.
Static Public Member Functions inherited from Wt::WObject
Protected Member Functions inherited from Wt::WObject
virtual WStatelessSlot * | getStateless (Method method)
| On-demand stateless slot implementation.

## Detailed Description

Abstract base class for themes in Wt.

See also
  WApplication::setTheme()

## Member Function Documentation

## ◆ apply() [1/2]

virtual void Wt::WTheme::apply | ( | WWidget * | widget,
|  | DomElement & | element,
|  | int | elementRole ) const
| pure virtual

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.

Implemented in Wt::WBootstrap2Theme, Wt::WBootstrap3Theme, Wt::WBootstrap5Theme, Wt::WBootstrapTheme, and Wt::WCssTheme.

## ◆ apply() [2/2]

virtual void Wt::WTheme::apply | ( | WWidget * | widget,
|  | WWidget * | child,
|  | int | widgetRole ) const
| pure virtual

Applies the theme to a child of a composite widget.

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

Implemented in Wt::WBootstrap2Theme, Wt::WBootstrap3Theme, Wt::WBootstrap5Theme, Wt::WBootstrapTheme, and Wt::WCssTheme.

## ◆ init()

virtual void Wt::WTheme::init | ( | WApplication * | app | ) | const
| virtual

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.

Reimplemented in Wt::WBootstrap2Theme, Wt::WBootstrap3Theme, Wt::WBootstrap5Theme, and Wt::WBootstrapTheme.

## ◆ name()

virtual std::string Wt::WTheme::name | ( |  | ) | const
| pure virtual

Returns a theme name.

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

Implemented in Wt::WBootstrap2Theme, Wt::WBootstrap3Theme, Wt::WBootstrap5Theme, Wt::WBootstrapTheme, and Wt::WCssTheme.

## ◆ panelCollapseIconSide()

virtual Side Wt::WTheme::panelCollapseIconSide | ( |  | ) | const
| virtual

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.

Reimplemented in Wt::WBootstrap5Theme.

## ◆ resourcesUrl()

virtual std::string Wt::WTheme::resourcesUrl | ( |  | ) | const
| virtual

Returns the URL where theme-related resources are stored.

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

Reimplemented in Wt::WBootstrap2Theme, Wt::WBootstrap3Theme, Wt::WBootstrap5Theme, and Wt::WBootstrapTheme.

## ◆ serveCss()

virtual void Wt::WTheme::serveCss | ( | WStringStream & | out | ) | const
| virtual

Serves the CSS for the theme.

This must serve CSS declarations for the theme.

The default implementation serves all the styleSheets().

## ◆ styleSheets()

virtual std::vector< WLinkedCssStyleSheet > Wt::WTheme::styleSheets | ( |  | ) | const
| pure virtual

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.

Implemented in Wt::WBootstrap2Theme, Wt::WBootstrap3Theme, Wt::WBootstrap5Theme, Wt::WBootstrapTheme, and Wt::WCssTheme.

## ◆ utilityCssClass()

virtual std::string Wt::WTheme::utilityCssClass | ( | int | utilityCssClassRole | ) | const
| pure virtual

Returns a generic CSS class name for the chosen role.

See also
  WTheme::utilityCssClassRole

Implemented in Wt::WBootstrap2Theme, Wt::WBootstrap3Theme, Wt::WBootstrap5Theme, Wt::WBootstrapTheme, and Wt::WCssTheme.