Wt
4.11.1
|
The abstract base class for a user-interface component. More...
#include <Wt/WWidget.h>
Public Member Functions | |
virtual | ~WWidget () |
Destructor. More... | |
WWidget * | parent () const |
Returns the parent widget. | |
virtual std::vector< WWidget * > | children () const =0 |
Returns child widgets. More... | |
virtual std::unique_ptr< WWidget > | removeWidget (WWidget *widget) |
Removes a child widget. | |
template<typename Widget > | |
std::unique_ptr< Widget > | removeWidget (Widget *widget) |
Removes a child widget. More... | |
std::unique_ptr< WWidget > | removeFromParent () |
Removes the widget from its parent. More... | |
virtual void | setPositionScheme (PositionScheme scheme)=0 |
Sets the CSS position scheme. More... | |
virtual PositionScheme | positionScheme () const =0 |
Returns the CSS position scheme. More... | |
virtual void | setOffsets (const WLength &offset, WFlags< Side > sides=AllSides)=0 |
Sets CSS offsets for a non-statically positioned widget. More... | |
virtual WLength | offset (Side side) const =0 |
Returns a CSS offset. More... | |
virtual void | resize (const WLength &width, const WLength &height) |
Resizes the widget. More... | |
virtual WLength | width () const =0 |
Returns the width. More... | |
void | setWidth (const WLength &width) |
Sets the width. More... | |
virtual WLength | height () const =0 |
Returns the height. More... | |
void | setHeight (const WLength &height) |
Sets the height. More... | |
virtual void | setMinimumSize (const WLength &width, const WLength &height)=0 |
Sets a minimum size. More... | |
virtual WLength | minimumWidth () const =0 |
Returns the minimum width. More... | |
virtual WLength | minimumHeight () const =0 |
Returns the minimum height. More... | |
virtual void | setMaximumSize (const WLength &width, const WLength &height)=0 |
Sets a maximum size. More... | |
virtual WLength | maximumWidth () const =0 |
Returns the maximum width. More... | |
virtual WLength | maximumHeight () const =0 |
Returns the maximum height. More... | |
virtual void | positionAt (const WWidget *widget, Orientation orientation=Orientation::Vertical) |
Positions a widget next to another widget. More... | |
virtual void | setLineHeight (const WLength &height)=0 |
Sets the CSS line height for contained text. | |
virtual WLength | lineHeight () const =0 |
Returns the CSS line height for contained text. More... | |
virtual void | setFloatSide (Side s)=0 |
Specifies a CSS float side. More... | |
virtual Side | floatSide () const =0 |
Returns the CSS float side. More... | |
virtual void | setClearSides (WFlags< Side > sides)=0 |
Sets the sides that should be cleared of floats. More... | |
virtual WFlags< Side > | clearSides () const =0 |
Returns the sides that should remain empty. More... | |
virtual void | setMargin (const WLength &margin, WFlags< Side > sides=AllSides)=0 |
Sets CSS margins around the widget. More... | |
virtual WLength | margin (Side side) const =0 |
Returns a CSS margin set. More... | |
virtual void | setHiddenKeepsGeometry (bool enabled)=0 |
Sets whether the widget keeps its geometry when hidden. More... | |
virtual bool | hiddenKeepsGeometry () const =0 |
Returns whether the widget keeps its geometry when hidden. More... | |
virtual void | setHidden (bool hidden, const WAnimation &animation=WAnimation())=0 |
Hides or shows the widget. More... | |
virtual bool | isHidden () const =0 |
Returns whether the widget is set hidden. More... | |
virtual bool | isVisible () const =0 |
Returns whether the widget is visible. More... | |
virtual void | setDisabled (bool disabled)=0 |
Sets whether the widget is disabled. More... | |
virtual bool | isDisabled () const =0 |
Returns whether the widget is set disabled. More... | |
virtual bool | isEnabled () const =0 |
Returns whether the widget is enabled. More... | |
virtual void | setPopup (bool popup)=0 |
Lets the widget overlay over other sibling widgets. More... | |
virtual bool | isPopup () const =0 |
Returns whether the widget is overlayed. More... | |
virtual void | setInline (bool inlined)=0 |
Sets whether the widget is displayed inline or as a block. More... | |
virtual bool | isInline () const =0 |
Returns whether the widget is displayed inline or as block. More... | |
virtual void | setDecorationStyle (const WCssDecorationStyle &style)=0 |
Sets a CSS decoration style. More... | |
virtual WCssDecorationStyle & | decorationStyle ()=0 |
Returns the decoration style of this widget. More... | |
virtual void | setStyleClass (const WString &styleClass)=0 |
Sets (one or more) CSS style classes. More... | |
virtual WString | styleClass () const =0 |
Returns the CSS style class. More... | |
virtual void | addStyleClass (const WString &styleClass, bool force=false)=0 |
Adds a CSS style class. More... | |
virtual void | removeStyleClass (const WString &styleClass, bool force=false)=0 |
Removes a CSS style class. More... | |
virtual void | toggleStyleClass (const WString &styleClass, bool add, bool force=false) |
Toggles a CSS style class. | |
virtual bool | hasStyleClass (const WString &styleClass) const =0 |
Returns whether the widget has a style class. | |
virtual void | setVerticalAlignment (AlignmentFlag alignment, const WLength &length=WLength::Auto)=0 |
Sets the vertical alignment. More... | |
virtual AlignmentFlag | verticalAlignment () const =0 |
Returns the vertical alignment. More... | |
virtual WLength | verticalAlignmentLength () const =0 |
Returns the fixed vertical alignment that was set. More... | |
virtual void | setToolTip (const WString &text, TextFormat textFormat=TextFormat::Plain)=0 |
Sets a tooltip. More... | |
virtual WString | toolTip () const =0 |
Returns the tooltip. | |
virtual void | setDeferredToolTip (bool enable, TextFormat textFormat=TextFormat::Plain)=0 |
Enable deferred tooltip. More... | |
virtual void | refresh () |
Refresh the widget. More... | |
std::string | jsRef () const |
Returns a JavaScript expression to the corresponding DOM node. More... | |
virtual void | setAttributeValue (const std::string &name, const WString &value)=0 |
Sets an attribute value. More... | |
virtual WString | attributeValue (const std::string &name) const =0 |
Returns an attribute value. More... | |
virtual void | setJavaScriptMember (const std::string &name, const std::string &value)=0 |
Sets a JavaScript member. More... | |
virtual std::string | javaScriptMember (const std::string &name) const =0 |
Returns the value of a JavaScript member. More... | |
virtual void | callJavaScriptMember (const std::string &name, const std::string &args)=0 |
Calls a JavaScript member. More... | |
virtual void | load ()=0 |
Loads content just before the widget is used. More... | |
virtual bool | loaded () const =0 |
Returns whether this widget has been loaded. More... | |
virtual void | setCanReceiveFocus (bool enabled)=0 |
Sets whether the widget can receive focus. More... | |
virtual bool | canReceiveFocus () const =0 |
Returns whether the widget can receive focus. More... | |
void | setFocus () |
Sets focus. More... | |
virtual void | setFocus (bool focus)=0 |
Sets focus. More... | |
virtual bool | setFirstFocus ()=0 |
Set focus on the widget's first descendant. More... | |
virtual bool | hasFocus () const =0 |
Returns whether the widget currently has the focus. | |
virtual void | setTabIndex (int index)=0 |
Sets the tab index. More... | |
virtual int | tabIndex () const =0 |
Returns the tab index. More... | |
virtual void | acceptDrops (const std::string &mimeType, const WString &hoverStyleClass=WString()) |
Sets a mime type to be accepted for dropping. More... | |
virtual void | stopAcceptDrops (const std::string &mimeType) |
Indicates that a mime type is no longer accepted for dropping. More... | |
virtual void | setId (const std::string &id)=0 |
Sets the CSS Id. More... | |
virtual WWidget * | find (const std::string &name)=0 |
Finds a descendent widget by name. More... | |
virtual WWidget * | findById (const std::string &id)=0 |
Finds a descendent widget by id. | |
virtual void | htmlText (std::ostream &out) |
Streams the (X)HTML representation. More... | |
virtual void | setSelectable (bool selectable)=0 |
Sets as selectable. More... | |
virtual void | doJavaScript (const std::string &js)=0 |
Executes the given JavaScript statements when the widget is rendered or updated. More... | |
bool | isRendered () const |
Returns whether the widget is rendered. More... | |
void | hide () |
Hides the widget. More... | |
void | animateHide (const WAnimation &animation) |
Hides the widget using an animation. More... | |
void | show () |
Shows the widget. More... | |
void | animateShow (const WAnimation &animation) |
Shows the widget using an animation. More... | |
void | enable () |
Enables the widget. More... | |
void | disable () |
Disable thes widget. More... | |
bool | layoutSizeAware () const |
Returns whether the widget is layout size aware. More... | |
virtual bool | scrollVisibilityEnabled () const =0 |
Returns whether scroll visibility detection is enabled for this widget. More... | |
virtual void | setScrollVisibilityEnabled (bool enabled)=0 |
Sets whether scroll visibility detection is enabled for this widget. More... | |
virtual int | scrollVisibilityMargin () const =0 |
Returns the margin around the viewport within which the widget is considered visible. More... | |
virtual void | setScrollVisibilityMargin (int margin)=0 |
Sets the margin around the viewport within which the widget is considered visible. More... | |
virtual Signal< bool > & | scrollVisibilityChanged ()=0 |
Signal triggered when the scroll visibility of this widget changes. More... | |
virtual bool | isScrollVisible () const =0 |
Returns whether this widget is currently considered scroll visible. More... | |
virtual void | setThemeStyleEnabled (bool enabled)=0 |
Sets whether theme styling for a widget is enabled or disabled. More... | |
virtual bool | isThemeStyleEnabled () const =0 |
Returns whether this widget is currently styled by the chosen theme. More... | |
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. More... | |
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. More... | |
virtual const std::string | id () const |
Returns the (unique) identifier for this object. More... | |
virtual void | setObjectName (const std::string &name) |
Sets an object name. More... | |
virtual std::string | objectName () const |
Returns the object name. More... | |
void | resetLearnedSlots () |
Resets learned stateless slot implementations. More... | |
template<class T > | |
void | resetLearnedSlot (void(T::*method)()) |
Resets a learned stateless slot implementation. More... | |
template<class T > | |
WStatelessSlot * | implementStateless (void(T::*method)()) |
Declares a slot to be stateless and learn client-side behaviour on first invocation. More... | |
template<class T > | |
WStatelessSlot * | implementStateless (void(T::*method)(), void(T::*undoMethod)()) |
Declares a slot to be stateless and learn client-side behaviour in advance. More... | |
void | isNotStateless () |
Marks the current function as not stateless. More... | |
template<class T > | |
WStatelessSlot * | implementJavaScript (void(T::*method)(), const std::string &jsCode) |
Provides a JavaScript implementation for a method. More... | |
Public Member Functions inherited from Wt::Core::observable | |
observable () noexcept | |
Default constructor. | |
virtual | ~observable () |
Destructor. More... | |
template<typename... Args, typename C > | |
auto | bindSafe (void(C::*method)(Args...)) noexcept |
Protects a method call against object destruction. More... | |
template<typename... Args, typename C > | |
auto | bindSafe (void(C::*method)(Args...) const) const noexcept |
Protects a const method call against object destruction. More... | |
template<typename Function > | |
auto | bindSafe (const Function &function) noexcept |
Protects a function against object destruction. More... | |
Static Public Member Functions | |
static WString | tr (const char *key) |
Short hand for WString::tr() More... | |
Protected Member Functions | |
void | setLayoutSizeAware (bool sizeAware) |
Sets the widget to be aware of its size set by a layout manager. More... | |
virtual void | layoutSizeChanged (int width, int height) |
Virtual method that indicates a size change. More... | |
WWidget () | |
Creates a widget. | |
virtual void | dropEvent (WDropEvent dropEvent) |
Handles a drop event. More... | |
virtual void | enableAjax ()=0 |
Progresses to an Ajax-enabled widget. More... | |
virtual int | boxPadding (Orientation orientation) const |
Returns the widget's built-in padding. More... | |
virtual int | boxBorder (Orientation orientation) const |
Returns the widget's built-in border width. More... | |
virtual void | propagateSetEnabled (bool enabled)=0 |
Propagates that a widget was enabled or disabled through children. More... | |
void | scheduleRender (WFlags< RepaintFlag > flags=None) |
Schedules rerendering of the widget. More... | |
virtual void | render (WFlags< RenderFlag > flags) |
Renders the widget. More... | |
virtual WStatelessSlot * | getStateless (Method method) override |
On-demand stateless slot implementation. More... | |
Additional Inherited Members | |
Public Types inherited from Wt::WObject | |
typedef void(WObject::* | Method) () |
Typedef for a WObject method without arguments. | |
The abstract base class for a user-interface component.
The user-interface is organized in a tree structure, in which each node is a widget. All widgets, except for the application's root widget and dialogs, have a parent which is usually a WContainerWidget.
This is an abstract base class. Implementations derive either from the abstract WWebWidget (for basic widgets with a direct HTML counter-part) or from the abstract WCompositeWidget (for anything else). To add a WWidget to a parent container add the widget to the parent using WContainerWidget::addWidget(). Alternatively, you may add the widget to a layout manager set for a WContainerWidget.
A widget provides methods to manage its decorative style base on CSS. It also provides access to CSS-based layout, which you may not use when the widget is not inserted into a layout manager.
|
virtual |
|
virtual |
Sets a mime type to be accepted for dropping.
You may specify a style class that is applied to the widget when the specified mimetype hovers on top of it.
|
pure virtual |
Adds a CSS style class.
When force
= true
, a JavaScript call will be used to add the style class to the DOM element (if JavaScript is available). This may be necessary when client-side JavaScript manipulates the same style class.
The styleClass
should be a single class (although multiple classes will work for the common case that the additional style classes are all not yet present on the element.
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
void Wt::WWidget::animateHide | ( | const WAnimation & | animation | ) |
Hides the widget using an animation.
To hide the widget, the animation is replayed in reverse.
void Wt::WWidget::animateShow | ( | const WAnimation & | animation | ) |
Shows the widget using an animation.
|
pure virtual |
Returns an attribute value.
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
|
protectedvirtual |
Returns the widget's built-in border width.
This is used by the layout managers to correct for a built-in border which interferes with setting a widget's width (or height) to 100%.
A layout manager needs to set the width to 100% only for form widgets (WTextArea, WLineEdit, WComboBox, etc...). Therefore, only for those widgets this needs to return the border width (the default implementation returns 0).
For form widgets, the border width depends on the specific browser/platform combination, unless an explicit border is set for the widget.
When setting an explicit border for the widget using a style class, you will want to reimplement this method to return this border width, in case you want to set the widget inside a layout manager.
Reimplemented in Wt::WTextEdit, Wt::WTextArea, Wt::WLineEdit, and Wt::WCompositeWidget.
|
protectedvirtual |
Returns the widget's built-in padding.
This is used by the layout managers to correct for a built-in padding which interferes with setting a widget's width (or height) to 100%.
A layout manager needs to set the width to 100% only for form widgets (WTextArea, WLineEdit, WComboBox, etc...). Therefore, only for those widgets this needs to return the padding (the default implementation returns 0).
For form widgets, the padding depends on the specific browser/platform combination, unless an explicit padding is set for the widget.
When setting an explicit padding for the widget using a style class, you will want to reimplement this method to return this padding in case you want to set the widget inside a layout manager.
Reimplemented in Wt::WTextEdit, Wt::WTextArea, Wt::WLineEdit, Wt::WCompositeWidget, and Wt::WAbstractSpinBox.
|
pure virtual |
Calls a JavaScript member.
This calls a JavaScript member.
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
|
pure virtual |
Returns whether the widget can receive focus.
Implemented in Wt::WWebWidget, Wt::WFormWidget, Wt::WCompositeWidget, and Wt::WAnchor.
|
pure virtual |
Returns child widgets.
This returns widgets for which widget->parent() == this.
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
Returns the sides that should remain empty.
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
|
pure 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).
When a decoration style has not been previously set, it returns a default decoration style object.
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
void Wt::WWidget::disable | ( | ) |
Disable thes widget.
This calls setDisabled(true).
|
pure virtual |
Executes the given JavaScript statements when the widget is rendered or updated.
Calling WApplication::doJavaScript() with JavaScript code that refers to a widget using jsRef(), that is still to be rendered may cause JavaScript errors because the corresponding DOM node does not exist. This happens for example when a widget is created, but not yet inserted in the widget tree.
This method guarantees that the JavaScript code is only run when the corresponding DOM node (using jsRef()) resolves to a valid DOM object.
Implemented in Wt::WCompositeWidget, and Wt::WWebWidget.
|
protectedvirtual |
Handles a drop event.
Reimplement this method to handle a drop events for mime types you declared to accept using acceptDrops.
The default implementation simply completes the drag and drop operation as if nothing happened.
void Wt::WWidget::enable | ( | ) |
Enables the widget.
This calls setDisabled(false).
|
protectedpure virtual |
Progresses to an Ajax-enabled widget.
This method is called when the progressive bootstrap method is used, and support for AJAX has been detected. The default behavior will upgrade the widget's event handling to use AJAX instead of full page reloads, and propagate the call to its children.
You may want to reimplement this method if you want to make changes to widget when AJAX is enabled. You should always call the base implementation.
Implemented in Wt::WWebWidget, Wt::WTreeView, Wt::WTemplate, Wt::WTableView, Wt::WSlider, Wt::WPushButton, Wt::WPanel, Wt::WPaintedWidget, Wt::WMenuItem, Wt::WFormWidget, Wt::WFileUpload, Wt::WFileDropWidget, Wt::WCompositeWidget, Wt::WCalendar, Wt::WAnchor, Wt::WAbstractMedia, and Wt::WAbstractItemView.
|
pure virtual |
Finds a descendent widget by name.
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
|
pure virtual |
Returns the CSS float side.
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
|
overrideprotectedvirtual |
On-demand stateless slot implementation.
This method returns a stateless slot implementation for the given method
. To avoid the cost of declaring methods to be stateless when they are not used, you may reimplement this method to provide a stateless implementation for a method only when the method is involved in a slot connection.
Use implementStateless() to provide a stateless implementation of the given method
, or return the base class implementation otherwise.
Reimplemented from Wt::WObject.
Reimplemented in Wt::WWebWidget, and Wt::WAbstractToggleButton.
|
pure virtual |
Returns the height.
Returns 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.
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
|
pure virtual |
Returns whether the widget keeps its geometry when hidden.
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
void Wt::WWidget::hide | ( | ) |
Hides the widget.
|
virtual |
Streams the (X)HTML representation.
Streams the widget as CharEncoding::UTF8-encoded (HTML-compatible) XHTML.
This may be useful as a debugging tool for the web-savvy, or in other rare situations. Usually, you will not deal directly with HTML, and calling this method on a widget that is rendered may interfere with the library keeping track of changes to the widget.
|
pure virtual |
Returns whether the widget is set disabled.
A widget that is not set disabled may still be disabled when one of its ancestor widgets is set disabled. Use isEnabled() to find out whether a widget is enabled.
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
|
pure virtual |
Returns whether the widget is enabled.
A widget is enabled if it is not disabled, and none of its ancestors are disabled. This method returns whether the widget is rendered as enabled, while isDisabled() returns whether a widget has been explicitly disabled.
Note that a widget may be at the same time not enabled, and not disabled, in case one of its ancestors was disabled.
Implemented in Wt::WWebWidget, Wt::WInteractWidget, and Wt::WCompositeWidget.
|
pure virtual |
Returns whether the widget is set hidden.
A widget that is not hidden may still be not visible when one of its ancestor widgets is hidden. Use isVisible() to check the visibility of a widget.
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
|
pure virtual |
Returns whether the widget is displayed inline or as block.
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
|
pure virtual |
Returns whether the widget is overlayed.
This applies to CSS-based layout.
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
bool Wt::WWidget::isRendered | ( | ) | const |
Returns whether the widget is rendered.
|
pure virtual |
Returns whether this widget is currently considered scroll visible.
isScrollVisible() is initially false.
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
|
pure virtual |
Returns whether this widget is currently styled by the chosen theme.
isThemeEnabled() is initially true.
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
|
pure virtual |
Returns whether the widget is visible.
A widget is visible if it is not hidden, and none of its ancestors are hidden. This method returns the true visibility, while isHidden() returns whether a widget has been explicitly hidden.
Note that a widget may be at the same time not hidden, and not visible, in case one of its ancestors was hidden.
Implemented in Wt::WWebWidget, Wt::WTableCell, and Wt::WCompositeWidget.
|
pure virtual |
Returns the value of a JavaScript member.
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
std::string Wt::WWidget::jsRef | ( | ) | const |
Returns a JavaScript expression to the corresponding DOM node.
You may want to use this in conjunction with JSlot or doJavaScript() in custom JavaScript code.
bool Wt::WWidget::layoutSizeAware | ( | ) | const |
Returns whether the widget is layout size aware.
|
protectedvirtual |
Virtual method that indicates a size change.
This method propagates the client-side width and height of the widget when the widget is contained by a layout manager and setLayoutSizeAware(true) was called.
Reimplemented in Wt::WSlider, Wt::WPaintedWidget, and Wt::WGLWidget.
|
pure virtual |
Returns the CSS line height for contained text.
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
|
pure virtual |
Loads content just before the widget is used.
This function is called when a widget is inserted in the widget hierarchy. Widgets that get inserted in the widget hierarchy will be rendered. Visible widgets are rendered immediately, and invisible widgets in the back-ground (or not for a plain HTML session). 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 delay loading of resource-intensive contents.
During the life-time of a widget, this method may be called multiple times, so you should make sure that you do a deferred initialization only once.
Implemented in Wt::WWebWidget, Wt::WViewWidget, Wt::WTimeEdit, Wt::WMenu, Wt::WInteractWidget, Wt::WDateEdit, Wt::WCompositeWidget, and Wt::WCalendar.
|
pure virtual |
Returns whether this widget has been loaded.
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
Returns a CSS margin set.
This applies to CSS-based layout.
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
|
pure virtual |
Returns the maximum height.
Returns the minmum height set for this widget with setMaximumSize().
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
|
pure virtual |
Returns the maximum width.
Returns the maximum width set for this widget with setMaximumSize().
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
|
pure virtual |
Returns the minimum height.
Returns the minmum height set for this widget with setMinimumSize().
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
|
pure virtual |
Returns the minimum width.
Returns the minimum width set for this widget with setMinimumSize().
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
Returns a CSS offset.
This applies to CSS-based layout.
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
|
virtual |
Positions a widget next to another widget.
Positions this absolutely positioned widget next to another widget
. Both widgets must be visible (including all their ancestors). The current widget is shown automatically if needed.
When orientation
= Wt::Orientation::Vertical, the widget is displayed below the other widget (or above in case there is not enough room below). It is aligned so that the left edges align (or the right edges if there is not enough room to the right).
Conversely, when orientation
= Wt::Orientation::Horizontal, the widget is displayed to the right of the other widget (or to the left in case there is not enough room to the right). It is aligned so that the top edges align (or the bottom edges if there is not enough room below).
Reimplemented in Wt::WDialog.
|
pure virtual |
Returns the CSS position scheme.
This applies to CSS-based layout.
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
|
protectedpure virtual |
Propagates that a widget was enabled or disabled through children.
When enabling or disabling a widget, you usually also want to disable contained children. This method is called by setDisabled() to propagate its state to all children.
You may want to reimplement this method if they wish to render differently when a widget is disabled. The default implementation will propagate the signal to all children.
Implemented in Wt::WWebWidget, Wt::WTimeEdit, Wt::WTextEdit, Wt::WPushButton, Wt::WLabel, Wt::WInteractWidget, Wt::WFormWidget, Wt::WFileUpload, Wt::WDateEdit, Wt::WCompositeWidget, and Wt::WAnchor.
|
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.
Reimplemented in Wt::WWebWidget, Wt::WViewWidget, Wt::WText, Wt::WTemplate, Wt::WPushButton, Wt::WMediaPlayer, Wt::WGroupBox, Wt::WFormWidget, Wt::WDoubleSpinBox, Wt::WDateEdit, Wt::WCompositeWidget, Wt::WComboBox, Wt::WAbstractToggleButton, and Wt::WAbstractSpinBox.
std::unique_ptr< WWidget > Wt::WWidget::removeFromParent | ( | ) |
Removes the widget from its parent.
This is equivalent to parent()->removeWidget(this);
|
pure virtual |
Removes a CSS style class.
When force
= true
, a JavaScript call will be used to remove the style class from the DOM element (if JavaScript is available). This may be necessary when client-side JavaScript manipulates the same style class.
The styleClass
should be a single class
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
std::unique_ptr<Widget> Wt::WWidget::removeWidget | ( | Widget * | widget | ) |
Removes a child widget.
This is an overload that automatically casts the returned value to a unique_ptr<Widget> for convenience
This is implemented as:
|
protectedvirtual |
Renders the widget.
This function renders the widget (or an update for the widget), after this has been scheduled using scheduleRender().
The default implementation will render the widget by serializing changes to JavaScript and HTML. You may want to reimplement this widget if you have been postponing some of the layout / rendering implementation until the latest moment possible. In that case you should make sure you call the base implementation however.
Reimplemented in Wt::WCalendar, Wt::WWebWidget, Wt::WViewWidget, Wt::WTreeView, Wt::WTreeTable, Wt::WTimeEdit, Wt::WText, Wt::WTableView, Wt::WSuggestionPopup, Wt::WStackedWidget, Wt::WSlider, Wt::WPopupWidget, Wt::WPopupMenu, Wt::WPaintedWidget, Wt::WMenuItem, Wt::WMenu, Wt::WMediaPlayer, Wt::WLineEdit, Wt::WLeafletMap, Wt::WInPlaceEdit, Wt::WImage, Wt::WGoogleMap, Wt::WGLWidget, Wt::WFormWidget, Wt::WEmailEdit, Wt::WDoubleSpinBox, Wt::WDialog, Wt::WDatePicker, Wt::WDateEdit, Wt::WCompositeWidget, Wt::WAbstractSpinBox, Wt::Chart::WCartesianChart, Wt::Chart::WAxisSliderWidget, Wt::Auth::RegistrationWidget, and Wt::Auth::AuthWidget.
Resizes the widget.
Specifies a fixed size for this widget, setting CSS width
and height
properties. By default a widget has automatic width and height, which sets a size for the widget following CSS rules.
When the widget is not managed by a layout manager, the automatic (natural) size of a widget depends on whether they widget is a block or inline widget:
When inserted in a layout manager, the size set will be used as a widget's preferred size, but the widget may be given a different size by the layout manager based on available space and stretch factors. The actual size given by a layout manager may be retrieved by making the widget "layout size aware", using setLayoutSizeAware(). If you have defined a "wtResize()"
JavaScript method for the widget, then this method will also be called.
The default width and height of a widget is WLength::Auto.
Reimplemented in Wt::WWebWidget, Wt::WVideo, Wt::WTreeView, Wt::WTextEdit, Wt::WTableView, Wt::WSlider, Wt::WProgressBar, Wt::WPaintedWidget, Wt::WGLWidget, Wt::WFlashObject, Wt::WCompositeWidget, and Wt::Chart::WCartesian3DChart.
|
protected |
Schedules rerendering of the widget.
This schedules a rendering phase after all events have been processed. This method is used internally whenever a property of a widget has been changed. But you may want to use this if you are deferring actual changes to a widget in response to an event, and instead postpone this until all events have been received.
|
pure virtual |
Signal triggered when the scroll visibility of this widget changes.
The boolean parameter indicates whether the widget is currently scroll visible.
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
|
pure virtual |
Returns whether scroll visibility detection is enabled for this widget.
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
|
pure virtual |
Returns the margin around the viewport within which the widget is considered visible.
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
|
pure virtual |
Sets an attribute value.
Sets the value for an HTML attribute.
This is only useful for HTML features that are not supported directly in Wt (and beware that browsers have non-consistent support for many more exotic HTML features).
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
|
pure virtual |
Sets whether the widget can receive focus.
By default, only form widgets (descendants of WFormWidget), anchors (WAnchor) and buttons (WPushButton) can receive focus.
Any other widget can be configured to receive focus however.
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
Sets 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 combination of Wt::Side::Left and Wt::Side::Right).
This applies to CSS-based layout.
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
|
pure virtual |
Sets a CSS decoration style.
This copies the style over its current decorationStyle()
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
|
pure virtual |
Enable deferred tooltip.
You may override toolTip() to read data only when the user hovers over the widget.
When textFormat
is TextFormat::XHTML, the tooltip may contain any valid XHTML snippet. The tooltip will then be rendered using JavaScript.
Note: To change existing toolTip call setDeferredToolTip() again.
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
|
pure virtual |
Sets whether the widget is disabled.
Enables or disables the widget (including all its descendant widgets). setDisabled(false) will enable this widget and all descendant widgets that are not disabled. A widget is only enabled if it and all its ancestors in the widget tree are disabled.
Typically, a disabled form widget will not allow changing the value, and disabled widgets will not react to mouse click events.
Implemented in Wt::WTreeTable, Wt::WWebWidget, Wt::WSlider, Wt::WMenuItem, Wt::WDatePicker, and Wt::WCompositeWidget.
|
pure virtual |
Set focus on the widget's first descendant.
Set focus on the widget itself, or on a first descendant which can receive focus.
Returns whether focus could be set.
Implemented in Wt::WWebWidget, Wt::WPushButton, Wt::WCompositeWidget, and Wt::WAnchor.
|
pure virtual |
Specifies a CSS float side.
This only applies to widgets with a Wt::PositionScheme::Static positionScheme().
This lets the widget float to 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 Side::Left, or Side::Right.
This applies to CSS-based layout.
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
void Wt::WWidget::setFocus | ( | ) |
Sets focus.
This only has an effect for a widget which can receive focus, and is equivalent to setFocus(true).
|
pure virtual |
Sets focus.
When using focus
= false
, you can undo a previous setFocus() call.
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
void Wt::WWidget::setHeight | ( | const WLength & | height | ) |
Sets the height.
This is a convenience method to change only the height of a widget, and is implemented as:
This applies to CSS-based layout.
|
pure virtual |
Hides or shows the widget.
Hides or show the widget (including all its descendant widgets). When setting hidden
= false
, this widget and all descendant widgets that are not hidden will be shown. A widget is only visible if it and all its ancestors in the widget tree are visible, which may be checked using isVisible().
Implemented in Wt::WWebWidget, Wt::WTimeEdit, Wt::WTableView, Wt::WPopupWidget, Wt::WPopupMenu, Wt::WMessageBox, Wt::WMenuItem, Wt::WFormWidget, Wt::WDialog, Wt::WDatePicker, Wt::WDateEdit, and Wt::WCompositeWidget.
|
pure virtual |
Sets whether the widget keeps its geometry when hidden.
Normally, a widget that is hidden will no longer occupy space, causing a reflow of sibling widgets. Using this method you may change this behavior to keep an (open) space when hidden.
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
|
pure virtual |
Sets 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. This is mostly useful for in tests using a test plan that manipulates DOM elements by Id.
By default, auto-generated id's are used.
Implemented in Wt::WWebWidget, Wt::WTreeView, and Wt::WCompositeWidget.
|
pure virtual |
Sets whether the widget is displayed inline or as a block.
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 rendered as a rectangular block that stacks vertically with sibling widgets (unless a CSS float property is applied). Depending on the widget type, the default value is inline (such as for example for WText, or WPushButton), or block (such as for example for a WContainerWidget).
This applies to CSS-based layout.
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
|
pure virtual |
Sets a JavaScript member.
This binds a JavaScript member, which is set as a JavaScript property to the DOM object that implements this widget. The value may be any JavaScript expression, including a function.
Members that start with "wt"
are reserved for internal use. You may define a member "wtResize(self, width,
height)"
method if your widget needs active layout management. If defined, this method will be used by layout managers and when doing resize() to set the size of the widget, instead of setting the CSS width and height properties.
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
|
protected |
Sets the widget to be aware of its size set by a layout manager.
When the widget is inserted in a layout manager, it will be resized to fit within the constraints imposed by the layout manager. By default, this done client-side only by setting the CSS height (and if needed, width) properties of the DOM element corresponding to the widget.
A widget may define a JavaScript method, "wtResize(self,
width, height)"
, to actively manage its client-side width and height, if it wants to react to these client-side size hints in a custom way (see setJavaScriptMember()).
By setting sizeAware
to true, the widget will propagate the width and height provided by the layout manager to the virtual layoutSizeChanged() method, so that you may for example change the size of contained children in a particular way (doing a custom, manual, layout).
|
pure virtual |
Sets CSS 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 Wt::Side::Left, Wt::Side::Right, Wt::Side::Bottom, or Wt::Side::Top.
This applies to CSS-based layout.
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
|
pure virtual |
Sets a maximum size.
Specifies a maximum size for this widget, setting CSS max-width
and max-height
properties.
The default the maximum width and height are WLength::Auto, indicating no maximum size. A LengthUnit::Percentage size should not be used, as this is (in virtually all cases) undefined behaviour.
When the widget is a container widget that contains a layout manager, then setting a maximum size will have the effect of letting the size of the container to reflect the preferred size of the contents (rather than constraining the size of the children based on the size of the container), up to the specified maximum size.
Implemented in Wt::WWebWidget, Wt::WPopupMenu, Wt::WDialog, and Wt::WCompositeWidget.
|
pure virtual |
Sets a minimum size.
Specifies a minimum size for this widget, setting CSS min-width
and min-height
properties.
The default minimum width and height is 0. The special value WLength::Auto indicates that the initial width is used as minimum size. A LengthUnit::Percentage size should not be used, as this is (in virtually all cases) undefined behaviour.
When the widget is inserted in a layout manager, then the minimum size will be taken into account.
Implemented in Wt::WWebWidget, Wt::WPopupMenu, Wt::WDialog, and Wt::WCompositeWidget.
|
pure virtual |
Sets CSS offsets for a non-statically positioned widget.
The argument sides
may be a combination of Wt::Side::Left, Wt::Side::Right, Wt::Side::Top, and Wt::Side::Bottom.
This applies only to widgets that have a position scheme that is Wt::PositionScheme::Relative, Wt::PositionScheme::Absolute, or Wt::PositionScheme::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 for the left or right) side. The widget may be shifted vertically, by specifying an offset for the top or bottom side.
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.
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
|
pure virtual |
Lets the widget overlay over other sibling widgets.
A widget that isPopup() will be rendered on top of any other sibling widget contained within the same parent (including other popup widgets previously added to the container).
This will only have an effect when the widgetis either Wt::PositionScheme::Absolute or Wt::PositionScheme::Fixed positionScheme().
This applies to CSS-based layout, and configures the z-index property.
Implemented in Wt::WWebWidget, Wt::WInteractWidget, and Wt::WCompositeWidget.
|
pure virtual |
Sets the CSS position scheme.
Establishes how the widget must be layed-out relative to its siblings. The default position scheme is PositionScheme::Static.
This applies to CSS-based layout.
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
|
pure virtual |
Sets whether scroll visibility detection is enabled for this widget.
Disabled by default. When enabled, the client keeps track of whether this widget is currently visible inside of the browser window. A widget is "scroll visible" if it is currently visible according to isVisible(), and its position is inside of the browser window, with an extra margin determined by scrollVisibilityMargin().
If scroll visibility changes, the scrollVisibilityChanged() signal is fired, and isScrollVisible() is updated.
This feature can be useful to implement infinite scroll, where a sentinel widget placed at the bottom of the page causes more content to be loaded when it becomes visible, see the scrollvisibility
example.
This feature can also be used to lazy load widgets when they become visible.
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
|
pure virtual |
Sets the margin around the viewport within which the widget is considered visible.
This causes the widget to be considered "scroll visible" before it is within the viewport. Setting this margin could be useful to trigger the loading of content before it is in view.
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
|
pure virtual |
Sets as selectable.
When a widget is made unselectable, a selection of text (or images) will not be visible (but may still be possible).
By default, the widget inherits this property from its parent, and this property propagates to all children. The top level container (WApplication::root()) selectable by default.
Implemented in Wt::WWebWidget, Wt::WTreeNode, Wt::WMenuItem, and Wt::WCompositeWidget.
|
pure virtual |
Sets (one or more) CSS style classes.
You may set one or more space separated style classes. 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(es).
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
|
pure virtual |
Sets the tab index.
For widgets that receive focus (canReceiveFocus()), focus is passed on to the next widget in the tabbing chain based on their tab index. When the user navigates through form widgets using the keyboard, widgets receive focus starting from the element with the lowest tab index to elements with the highest tab index.
Widgets with a same tab index will receive focus in the same order as they are inserted in the widget tree.
The default tab index is 0 (for a widget that can receive focus).
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
|
pure virtual |
Sets whether theme styling for a widget is enabled or disabled.
By default all widgets are styled according to the chosen theme. Disabling the theme style could be useful to completely customize the style of the widget outside of the theme.
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
|
pure virtual |
Sets a tooltip.
The tooltip is displayed when the cursor hovers over the widget.
When textFormat
is TextFormat::XHTML, the tooltip may contain any valid XHTML snippet. The tooltip will then be rendered using JavaScript.
Note: This will set deferred tooltip to false.
Implemented in Wt::WWebWidget, Wt::WFormWidget, and Wt::WCompositeWidget.
|
pure virtual |
Sets the vertical alignment.
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.
Implemented in Wt::WCompositeWidget, and Wt::WWebWidget.
void Wt::WWidget::setWidth | ( | const WLength & | width | ) |
Sets the width.
This is a convenience method to change only the width of a widget, and is implemented as:
void Wt::WWidget::show | ( | ) |
Shows the widget.
|
virtual |
Indicates that a mime type is no longer accepted for dropping.
|
pure virtual |
Returns the CSS style class.
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
|
pure virtual |
Returns the tab index.
Implemented in Wt::WWebWidget, Wt::WFormWidget, Wt::WCompositeWidget, and Wt::WAnchor.
|
static |
Short hand for WString::tr()
Creates a localized string with the given key.
|
pure virtual |
Returns the vertical alignment.
This applies to CSS-based layout.
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
|
pure virtual |
Returns the fixed vertical alignment that was set.
This applies to CSS-based layout.
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.
|
pure virtual |
Returns the width.
Returns 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.
Implemented in Wt::WWebWidget, and Wt::WCompositeWidget.