Wt  3.3.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator
Public Types | Public Member Functions
Wt::WBootstrapTheme Class Reference

Theme based on the Twitter Bootstrap CSS framework. More...

#include <Wt/WBootstrapTheme>

Inheritance diagram for Wt::WBootstrapTheme:
Inheritance graph
[legend]

List of all members.

Public Types

enum  Version { Version2 = 2, Version3 = 3 }
 Enumeration to select a bootstrap version. More...

Public Member Functions

 WBootstrapTheme (WObject *parent=0)
 Constructor.
void setResponsive (bool responsive)
bool responsive () const
 Returns whether responsive features are enabled.
void setVersion (Version version)
 Sets the bootstrap version.
Version version () const
 Returns the bootstrap version.
void setFormControlStyleEnabled (bool enabled)
 Enables form-control on all applicable form widgets.
virtual std::string name () const
 Returns a theme name.
virtual std::vector
< WCssStyleSheet
styleSheets () const
 Returns a vector with stylesheets for the theme.
virtual void apply (WWidget *widget, WWidget *child, int widgetRole) const
 Applies the theme to a child of a composite widget.
virtual void apply (WWidget *widget, DomElement &element, int elementRole) const
 Applies the theme to a DOM element that renders a widget.
virtual std::string disabledClass () const
 Returns a generic CSS class name for a disabled element.
virtual std::string activeClass () const
 Returns a generic CSS class name for an active element.
virtual std::string utilityCssClass (int utilityCssClassRole) const
 Returns a generic CSS class name for the chosen role.
virtual bool canStyleAnchorAsButton () const
 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 > styles) const
 Applies a style that indicates the result of validation.

Detailed Description

Theme based on the Twitter Bootstrap CSS framework.

This theme implements support for building a Wt web application that uses Twitter Bootstrap as a theme for its (layout and) styling. The theme comes with CSS from Bootstrap version 2.2.2 or version 3.1. Only the CSS components of twitter bootstrap are used, but not the JavaScript (i.e. the functional parts), since the functionality is already built-in to the widgets from the library.

Using this theme, various widgets provided by the library are rendered using markup that is compatible with Twitter Bootstrap. The bootstrap theme is also extended with a proper (compatible) styling of widgets for which bootstrap does not provide styling (table views, tree views, sliders, etc...).

By default, the theme will use CSS resources that are shipped together with the Wt distribution, but since the Twitter Bootstrap CSS API is a popular API for custom themes, you can easily replace the CSS with custom-built CSS (by reimplementing styleSheets()).

Although this theme facilitates the use of Twitter Bootstrap with Wt, it is still important to understand how Bootstrap expects markup to be, especially related to layout using its grid system, for which we refer to the official bootstrap documentation, see http://getbootstrap.com

See also:
WApplication::setTheme()

Member Enumeration Documentation

Enumeration to select a bootstrap version.

See also:
setVersion()
Enumerator:
Version2 

Bootstrap 2.

Version3 

Bootstrap 3.


Member Function Documentation

void Wt::WBootstrapTheme::apply ( WWidget widget,
WWidget child,
int  widgetRole 
) const [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.

Implements Wt::WTheme.

void Wt::WBootstrapTheme::apply ( WWidget widget,
DomElement element,
int  elementRole 
) const [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.

Implements Wt::WTheme.

std::string Wt::WBootstrapTheme::name ( ) const [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.

Implements Wt::WTheme.

Returns whether responsive features are enabled.

See also:
setResponsive()

Enables form-control on all applicable form widgets.

This is relevant only for bootstrap 3.

By applying "form-control" on form widgets, they will become block level elements that take the size of the parent (which is in bootstrap's philosphy a grid layout).

The default value is true.

void Wt::WBootstrapTheme::setResponsive ( bool  responsive)

Enables responsive features.

Responsive features can be enabled only at application startup. For bootstrap 3, you need to use the progressive bootstrap feature of Wt (see see 10.2 General application settings (wt_config.xml)) as it requires setting HTML meta flags.

Responsive features are disabled by default.

Sets the bootstrap version.

The default bootstrap version is 2 (but this may change in the future and thus we recommend setting the version).

Since Twitter Bootstrap breaks its API with a major version change, the version has a big impact on how how the markup is done for various widgets.

Note that the two Bootstrap versions have a different license: Apache 2.0 for Bootstrap version 2.2.2, and MIT for version 3.1. See these licenses for details.

std::vector< WCssStyleSheet > Wt::WBootstrapTheme::styleSheets ( ) const [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.

Implements Wt::WTheme.

std::string Wt::WBootstrapTheme::utilityCssClass ( int  utilityCssClassRole) const [virtual]

Returns a generic CSS class name for the chosen role.

See also:
WTheme::utilityCssClassRole

Implements Wt::WTheme.

Returns the bootstrap version.

See also:
setVersion()
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator

Generated on Tue Mar 22 2016 for the C++ Web Toolkit (Wt) by doxygen 1.7.6.1