#include <Wt/WCompositeWidget>
Public Member Functions | |
WCompositeWidget (WContainerWidget *parent=0) | |
Create a WCompositeWidget. | |
virtual void | setPositionScheme (PositionScheme scheme) |
Set the widget position scheme. | |
virtual PositionScheme | positionScheme () const |
Returns the widget position scheme. | |
virtual void | setOffsets (const WLength &offset, int sides=All) |
Apply offsets to a widget. | |
virtual WLength | offset (Side s) const |
Retrieve the offset of the widget. | |
virtual void | resize (const WLength &width, const WLength &height) |
Resize the widget. | |
virtual WLength | width () const |
Returns the widget width. | |
virtual WLength | height () const |
Returns the widget height. | |
virtual void | setMinimumSize (const WLength &width, const WLength &height) |
Set a minimum size. | |
virtual WLength | minimumWidth () const |
Returns the minimum width. | |
virtual WLength | minimumHeight () const |
Returns the minimum height. | |
virtual void | setMaximumSize (const WLength &width, const WLength &height) |
Set a maximum size. | |
virtual WLength | maximumWidth () const |
Returns the maximum width. | |
virtual WLength | maximumHeight () const |
Returns the maximum height. | |
virtual void | setLineHeight (const WLength &height) |
Set the line height for contained text. | |
virtual WLength | lineHeight () const |
Return the line height for contained text. | |
virtual void | setFloatSide (Side s) |
Specify a side to which the WWidget must float. | |
virtual Side | floatSide () const |
Return the float side. | |
virtual void | setClearSides (int sides) |
Set the sides that should be cleared of floats. | |
virtual int | clearSides () const |
Returns the sides that should remain empty. | |
virtual void | setMargin (const WLength &margin, int sides=All) |
Set margins around the widget. | |
virtual WLength | margin (Side side) const |
Returns the margin set for that side. | |
virtual void | setHidden (bool) |
Set whether the widget must be hidden. | |
virtual bool | isHidden () const |
Return whether this widget is set hidden. | |
virtual void | setPopup (bool) |
Set whether this widget is overlayed on the parent widget. | |
virtual bool | isPopup () const |
Returns whether this widget is overlayed. | |
virtual void | setInline (bool) |
Set whether this widget is inline or stacked. | |
virtual bool | isInline () const |
Returns whether this widget is inline or stacked. | |
virtual WCssDecorationStyle & | decorationStyle () |
Returns the decoration style of this widget. | |
virtual void | setStyleClass (const WString &styleClass) |
Sets a style class. | |
virtual WString | styleClass () const |
Returns the style class. | |
virtual void | setVerticalAlignment (VerticalAlignment alignment, const WLength &length=WLength()) |
Set the vertical alignment of this (inline) widget. | |
virtual VerticalAlignment | verticalAlignment () const |
Returns the vertical alignment. | |
virtual WLength | verticalAlignmentLength () const |
Returns the fixed vertical alignment that was set. | |
virtual void | setToolTip (const WString &text) |
Sets a tooltip. | |
virtual WString | toolTip () const |
Returns the tooltip text. | |
virtual void | refresh () |
Refresh the widget. | |
virtual void | setAttributeValue (const std::string &name, const WString &value) |
Set an attribute value. | |
virtual void | load () |
Load content just before the widget's content is rendered. | |
virtual bool | loaded () const |
Return if this widget has been loaded. | |
virtual void | setId (const std::string &id) |
Set the CSS Id. | |
Protected Member Functions | |
void | setImplementation (WWidget *widget) |
Set the implementation widget. |
Composite widgets, built on top of the WebWidgets, should derive from this class, and use setImplementation() to set the widget that implements the composite widget (which is typically a WContainerWidget or a WTable, or another widget that allows composition, including perhaps another WCompositeWidget).
Using this class you can completely hide the implementation of your composite widget, and provide access to only the standard WWidget methods.
void Wt::WCompositeWidget::setPositionScheme | ( | PositionScheme | scheme | ) | [virtual] |
Set the widget position scheme.
Establishes how the widget must be layed-out relative to its siblings. The default position scheme is Static.
This applies to CSS-based layout.
Implements Wt::WWidget.
WWidget::PositionScheme Wt::WCompositeWidget::positionScheme | ( | ) | const [virtual] |
void Wt::WCompositeWidget::setOffsets | ( | const WLength & | offset, | |
int | sides = All | |||
) | [virtual] |
Apply offsets to a widget.
The argument sides may be a logical concatenation of Left, Right, Top, and Bottom.
This applies only to widgets that have a position scheme that is Relative, Absolute, or Fixed, and has a slightly different meaning for these three cases.
For a relatively positioned widget, an offset applies relative to the position the widget would have when layed-out using a Static position scheme. The widget may be shifted to the left or right by specifying an offset to the Left or Right). The widget may be shifted vertically, by specifying an offset for the Top or Bottom.
For an absolutely positioned widget, an offset specifies a distance of the corresponding side of the widget with respect to the corresponding side of the reference parent widget. Thus, setting all offsets to 0 result in a widget that spans the entire reference widget. The reference parent widget is the first ancestor widget that is a table cell, or a widget with a relative, absolute or fixed position scheme.
For an fixed positioned widget, an offset specifies a distance of the corresponding side of the widget with respect to the browser window, regardless of scrolling. Thus, setting all offsets to 0 result in a widget that spans the entire browser window.
This applies to CSS-based layout.
Implements Wt::WWidget.
Retrieve the offset of the widget.
This applies to CSS-based layout.
Implements Wt::WWidget.
Resize the widget.
Specify a new size for this widget, by specifying width and height. By default a widget has automatic width and height, see WLength::isAuto().
This applies to CSS-based layout.
Implements Wt::WWidget.
Reimplemented in Wt::WDialog, Wt::WSlider, and Wt::WTreeView.
WLength Wt::WCompositeWidget::width | ( | ) | const [virtual] |
Returns the widget width.
Return the width set for this widget. This is not a calculated width, based on layout, but the width as specified with resize(const WLength&, const WLength&).
This applies to CSS-based layout.
Implements Wt::WWidget.
WLength Wt::WCompositeWidget::height | ( | ) | const [virtual] |
Returns the widget height.
Return the height set for this widget. This is not a calculated height, based on layout, but the height as specified previously with resize(const WLength& width, const WLength& height).
This applies to CSS-based layout.
Implements Wt::WWidget.
Set a minimum size.
Specify a minimum size for this widget. When the widget is managed using a layout manager, these sizes are also taken into account.
Implements Wt::WWidget.
WLength Wt::WCompositeWidget::minimumWidth | ( | ) | const [virtual] |
Returns the minimum width.
Return the minimum width set for this widget with setMinimumSize().
Implements Wt::WWidget.
WLength Wt::WCompositeWidget::minimumHeight | ( | ) | const [virtual] |
Returns the minimum height.
Return the minmum height set for this widget with setMinimumSize().
Implements Wt::WWidget.
void Wt::WCompositeWidget::setMaximumSize | ( | const WLength & | width, | |
const WLength & | height | |||
) | [virtual] |
Set a maximum size.
Specify a minimum size for this widget.
Implements Wt::WWidget.
WLength Wt::WCompositeWidget::maximumWidth | ( | ) | const [virtual] |
Returns the maximum width.
Return the maximum width set for this widget with setMaximumSize().
Implements Wt::WWidget.
WLength Wt::WCompositeWidget::maximumHeight | ( | ) | const [virtual] |
Returns the maximum height.
Return the minmum height set for this widget with setMaximumSize().
Implements Wt::WWidget.
WLength Wt::WCompositeWidget::lineHeight | ( | ) | const [virtual] |
void Wt::WCompositeWidget::setFloatSide | ( | Side | s | ) | [virtual] |
Specify a side to which the WWidget must float.
This only applies to widgets with a Static positionScheme().
It specifies if the widget must be positioned on one of the sides of the parent widget, at the current line. A typical use is to position images within text. Valid values for Side or None , Left or Right .
This applies to CSS-based layout.
Implements Wt::WWidget.
WWidget::Side Wt::WCompositeWidget::floatSide | ( | ) | const [virtual] |
void Wt::WCompositeWidget::setClearSides | ( | int | sides | ) | [virtual] |
Set the sides that should be cleared of floats.
This pushes the widget down until it is not surrounded by floats at the sides (which may be a logical OR of Left and Right.
This applies to CSS-based layout.
Implements Wt::WWidget.
int Wt::WCompositeWidget::clearSides | ( | ) | const [virtual] |
void Wt::WCompositeWidget::setMargin | ( | const WLength & | margin, | |
int | sides = All | |||
) | [virtual] |
Set margins around the widget.
Setting margin has the effect of adding a distance between the widget and surrounding widgets. The default margin (with an automatic length) is zero.
Use any combination of Left , Right , Bottom , or Top .
This applies to CSS-based layout.
Implements Wt::WWidget.
Returns the margin set for that side.
This applies to CSS-based layout.
Implements Wt::WWidget.
void Wt::WCompositeWidget::setHidden | ( | bool | ) | [virtual] |
Set whether the widget must be hidden.
Hide or show the widget (including all its descendant widgets). setHidden(false) will show this widget and all child widgets that are not hidden.
Implements Wt::WWidget.
Reimplemented in Wt::WDialog, and Wt::WPopupMenu.
bool Wt::WCompositeWidget::isHidden | ( | ) | const [virtual] |
Return whether this widget is set hidden.
A widget that is not hidden may still be not visible when one of its ancestor widgets are hidden.
Implements Wt::WWidget.
void Wt::WCompositeWidget::setPopup | ( | bool | ) | [virtual] |
Set whether this widget is overlayed on the parent widget.
This option only applies to widgets with a Absolute or Fixed positionScheme().
This applies to CSS-based layout.
A widget that isPopup() will be rendered on top of the parent widget.
Implements Wt::WWidget.
bool Wt::WCompositeWidget::isPopup | ( | ) | const [virtual] |
Returns whether this widget is overlayed.
This applies to CSS-based layout.
Implements Wt::WWidget.
void Wt::WCompositeWidget::setInline | ( | bool | ) | [virtual] |
Set whether this widget is inline or stacked.
This option changes whether this widget must be rendered in-line with sibling widgets wrapping at the right edge of the parent container (like text), or whether this widget must be stacked vertically with sibling widgets. Depending on the widget type, the default value is inline (such as for example for WText, or WPushButton), or stacked (such as for example for WTable).
This applies to CSS-based layout.
Implements Wt::WWidget.
bool Wt::WCompositeWidget::isInline | ( | ) | const [virtual] |
WCssDecorationStyle & Wt::WCompositeWidget::decorationStyle | ( | ) | [virtual] |
Returns the decoration style of this widget.
This groups all decorative aspects of the widget, which do not affect the widget layout (except for the border properties which may behave like extra margin around the widget).
Implements Wt::WWidget.
void Wt::WCompositeWidget::setStyleClass | ( | const WString & | styleClass | ) | [virtual] |
Sets a style class.
The CSS style class works in conjunction with style sheet, and provides a flexible way to provide many widgets the same markup.
Setting an empty string removes the style class.
Implements Wt::WWidget.
WString Wt::WCompositeWidget::styleClass | ( | ) | const [virtual] |
void Wt::WCompositeWidget::setVerticalAlignment | ( | VerticalAlignment | alignment, | |
const WLength & | length = WLength() | |||
) | [virtual] |
Set the vertical alignment of this (inline) widget.
This only applies to inline widgets, and determines how to position itself on the current line, with respect to sibling inline widgets.
This applies to CSS-based layout.
Implements Wt::WWidget.
WWidget::VerticalAlignment Wt::WCompositeWidget::verticalAlignment | ( | ) | const [virtual] |
Returns the vertical alignment.
This applies to CSS-based layout.
Implements Wt::WWidget.
WLength Wt::WCompositeWidget::verticalAlignmentLength | ( | ) | const [virtual] |
Returns the fixed vertical alignment that was set.
This applies to CSS-based layout.
Implements Wt::WWidget.
void Wt::WCompositeWidget::setToolTip | ( | const WString & | text | ) | [virtual] |
Sets a tooltip.
The tooltip is displayed when the cursor hovers over the widget.
Implements Wt::WWidget.
void Wt::WCompositeWidget::refresh | ( | ) | [virtual] |
Refresh the widget.
The refresh method is invoked when the locale is changed using WApplication::setLocale() or when the user hit the refresh button.
The widget must actualize its contents in response.
Implements Wt::WWidget.
void Wt::WCompositeWidget::setAttributeValue | ( | const std::string & | name, | |
const WString & | value | |||
) | [virtual] |
Set an attribute value.
Associate an extra attribute with this widget, with the given value. This is only useful when processing dom nodes associated with widgets in custom JavaScript code.
Implements Wt::WWidget.
void Wt::WCompositeWidget::load | ( | ) | [virtual] |
Load content just before the widget's content is rendered.
As soon as a widget is inserted into the widget hierarchy, it is rendered. Visible widgets are rendered immediately, and invisible widgets in the back-ground. This method is called when the widget is directly or indirectly inserted into the widget tree.
The default implementation simply propagates the load signal to its children. You may want to override this method to load resource-intensive content only when the widget is loaded into the browser.
Implements Wt::WWidget.
Reimplemented in Wt::WPopupMenuItem, and Wt::WTreeView.
bool Wt::WCompositeWidget::loaded | ( | ) | const [virtual] |
void Wt::WCompositeWidget::setId | ( | const std::string & | id | ) | [virtual] |
Set the CSS Id.
Sets a custom Id. Note that the Id must be unique across the whole widget tree, can only be set right after construction and cannot be changed.
Implements Wt::WWidget.
void Wt::WCompositeWidget::setImplementation | ( | WWidget * | widget | ) | [protected] |
Set the implementation widget.
This sets the widget that implements this compositeWidget. Ownership of the widget is completely transferred (including deletion).