Wt  3.3.2
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Groups Pages
Public Types | Public Member Functions | List of all members
Wt::Ext::Dialog Class Reference

A dialog emulates a modal window that blocks the user-interface. More...

#include <Wt/Ext/Dialog>

Inheritance diagram for Wt::Ext::Dialog:
Inheritance graph
[legend]

Public Types

enum  DialogCode { Rejected, Accepted }
 The result of a modal dialog execution. More...
 

Public Member Functions

 Dialog (const WString &windowTitle=WString())
 Construct a Dialog with a given window title. More...
 
 ~Dialog ()
 Destruct a Dialog.
 
void setWindowTitle (const WString &windowTitle)
 Set the dialog window title. More...
 
const WStringwindowTitle () const
 Return the dialog window title. More...
 
WContainerWidgetcontents () const
 Return the dialog contents container. More...
 
DialogCode exec ()
 Execute the dialog in a recursive event loop. More...
 
virtual void done (DialogCode r)
 Stop a recursive event loop. More...
 
virtual void accept ()
 Stop a recursive event loop with result Accepted. More...
 
virtual void reject ()
 Stop a recursive event loop with result Rejected. More...
 
Signal< DialogCode > & finished ()
 Signal emitted when the recursive event loop is ended. More...
 
DialogCode result () const
 Return the result that was set for this dialog. More...
 
virtual void setHidden (bool hidden, const WAnimation &animation=WAnimation())
 Hides or shows the widget. More...
 
void addButton (Button *button)
 Add a button at the bottom of this dialog. More...
 
void removeButton (Button *button)
 Remove a button from the bottom of this dialog. More...
 
const std::vector< Button * > & buttons () const
 Return the list of buttons at the bottom of this dialog. More...
 
void setDefaultButton (Button *button)
 Configure a default button for this dialog. More...
 
ButtondefaultButton () const
 Return the default button for this dialog. More...
 
void setSizeGripEnabled (bool enabled)
 Configure a size grip to allow the user to resize this dialog. More...
 
bool isSizeGripEnabled () const
 Return if the size grip is enabled. More...
 
- Public Member Functions inherited from Wt::Ext::Panel
 Panel (WContainerWidget *parent=0)
 Create a new panel. More...
 
 ~Panel ()
 Destruct a panel.
 
void setTopToolBar (ToolBar *toolBar)
 Set a tool bar at the top of the panel. More...
 
ToolBartopToolBar () const
 Return the top tool bar. More...
 
void setBottomToolBar (ToolBar *bottomBar)
 Set a tool bar at the bottom of the panel. More...
 
ToolBarbottomToolBar () const
 Return the top tool bar. More...
 
void addFooterButton (Button *button)
 Add a button to the footer of the panel. More...
 
void removeFooterButton (Button *button)
 Remove a button from the footer of the panel. More...
 
const std::vector< Button * > & footerButtons () const
 Retrn the list of footer buttons. More...
 
void setTitle (const WString &title)
 Set a title. More...
 
const WStringtitle () const
 Get the title. More...
 
void setTitleBar (bool enable)
 Show or hide a title bar for the panel. More...
 
bool titleBar () const
 Get the title bar. More...
 
void setAnimate (bool on)
 Set to use animations for the expand/collapse operation. More...
 
bool animate () const
 Return if using animations for expand/collapse. More...
 
void setAutoScrollBars (bool on)
 Option to show scroll bars when needed. More...
 
bool autoScrollBars () const
 Return if showing scroll bars when needed. More...
 
void setBorder (bool show)
 Change the border around the panel. More...
 
bool border () const
 Get the border setting. More...
 
void setCollapsed (bool on)
 Set the panel expanded or callapsed. More...
 
void collapse ()
 Collapse the panel. More...
 
void expand ()
 Expand the panel. More...
 
bool isCollapsed () const
 Return if the panel is collapsed. More...
 
void setCollapsible (bool on)
 Allow the user to collapse/expand the panel. More...
 
bool isCollapsible () const
 Return if the user may collapse/expand the panel. More...
 
void setResizable (bool on)
 Allow the user to resize the panel. More...
 
bool isResizable () const
 Return if the user may resize the panel. More...
 
JSignalcollapsed ()
 Signal emitted when the panel is collapsed. More...
 
JSignalexpanded ()
 Signal emitted when the panel is expanded. More...
 
virtual void refresh ()
 Refresh the widget. More...
 
- Public Member Functions inherited from Wt::Ext::Container
 Container (WContainerWidget *parent=0)
 Create a new container. More...
 
virtual ~Container ()
 Destroy the container.
 
void setLayout (WLayout *layout)
 Set a layout manager for the container. More...
 
WLayoutlayout ()
 Get the layout manager that was set for the container. More...
 
- Public Member Functions inherited from Wt::Ext::Component
void setEnabled (bool how)
 Enables or disables the widget. More...
 
void enable ()
 Enables the widget.
 
void disable ()
 Disables the widget.
 
- Public Member Functions inherited from Wt::Ext::Widget
 ~Widget ()
 Delete a widget.
 
- Public Member Functions inherited from Wt::WWebWidget
 WWebWidget (WContainerWidget *parent=0)
 Construct a WebWidget with a given parent. More...
 
virtual void setPositionScheme (PositionScheme scheme)
 Sets the CSS position scheme. More...
 
virtual PositionScheme positionScheme () const
 Returns the CSS position scheme. More...
 
virtual void setOffsets (const WLength &offset, WFlags< Side > sides=All)
 Sets CSS offsets for a non-statically positioned widget. More...
 
virtual WLength offset (Side s) const
 Returns a CSS offset. More...
 
virtual void resize (const WLength &width, const WLength &height)
 Resizes the widget. More...
 
virtual WLength width () const
 Returns the width. More...
 
virtual WLength height () const
 Returns the height. More...
 
virtual void setMinimumSize (const WLength &width, const WLength &height)
 Sets a minimum size. More...
 
virtual WLength minimumWidth () const
 Returns the minimum width. More...
 
virtual WLength minimumHeight () const
 Returns the minimum height. More...
 
virtual void setMaximumSize (const WLength &width, const WLength &height)
 Sets a maximum size. More...
 
virtual WLength maximumWidth () const
 Returns the maximum width. More...
 
virtual WLength maximumHeight () const
 Returns the maximum height. More...
 
virtual void setLineHeight (const WLength &height)
 Sets the CSS line height for contained text.
 
virtual WLength lineHeight () const
 Returns the CSS line height for contained text. More...
 
virtual void setFloatSide (Side s)
 Specifies a CSS float side. More...
 
virtual Side floatSide () const
 Returns the CSS float side. More...
 
virtual void setClearSides (WFlags< Side > sides)
 Sets the sides that should be cleared of floats. More...
 
virtual WFlags< SideclearSides () const
 Returns the sides that should remain empty. More...
 
virtual void setMargin (const WLength &margin, WFlags< Side > sides=All)
 Sets CSS margins around the widget. More...
 
virtual WLength margin (Side side) const
 Returns a CSS margin set. More...
 
virtual void setHiddenKeepsGeometry (bool enabled)
 Sets whether the widget keeps its geometry when hidden. More...
 
virtual bool hiddenKeepsGeometry () const
 Returns whether the widget keeps its geometry when hidden. More...
 
virtual bool isHidden () const
 Returns whether the widget is set hidden. More...
 
virtual bool isVisible () const
 Returns whether the widget is visible. More...
 
virtual void setDisabled (bool disabled)
 Sets whether the widget is disabled. More...
 
virtual bool isDisabled () const
 Returns whether the widget is set disabled. More...
 
virtual bool isEnabled () const
 Returns whether the widget is enabled. More...
 
virtual void setPopup (bool popup)
 Lets the widget overlay over other sibling widgets. More...
 
virtual bool isPopup () const
 Returns whether the widget is overlayed. More...
 
virtual void setInline (bool isInline)
 Sets whether the widget is displayed inline or as a block. More...
 
virtual bool isInline () const
 Returns whether the widget is displayed inline or as block. More...
 
virtual void setDecorationStyle (const WCssDecorationStyle &style)
 Sets a CSS decoration style. More...
 
virtual WCssDecorationStyledecorationStyle ()
 Returns the decoration style of this widget. More...
 
virtual void setStyleClass (const WString &styleClass)
 Sets (one or more) CSS style classes. More...
 
virtual WString styleClass () const
 Returns the CSS style class. More...
 
virtual void addStyleClass (const WString &styleClass, bool force=false)
 Adds a CSS style class. More...
 
virtual void removeStyleClass (const WString &styleClass, bool force=false)
 Removes a CSS style class. More...
 
virtual bool hasStyleClass (const WString &styleClass) const
 Returns whether the widget has a style class.
 
virtual void setVerticalAlignment (AlignmentFlag alignment, const WLength &length=WLength())
 Sets the vertical alignment. More...
 
virtual AlignmentFlag verticalAlignment () const
 Returns the vertical alignment. More...
 
virtual WLength verticalAlignmentLength () const
 Returns the fixed vertical alignment that was set. More...
 
virtual void setToolTip (const WString &text, TextFormat textFormat=PlainText)
 Sets a tooltip. More...
 
virtual const WStringtoolTip () const
 Returns the tooltip.
 
virtual void setAttributeValue (const std::string &name, const WString &value)
 Sets an attribute value. More...
 
virtual WString attributeValue (const std::string &name) const
 Returns an attribute value. More...
 
virtual void setJavaScriptMember (const std::string &name, const std::string &value)
 Sets a JavaScript member. More...
 
virtual std::string javaScriptMember (const std::string &name) const
 Returns the value of a JavaScript member. More...
 
virtual void callJavaScriptMember (const std::string &name, const std::string &args)
 Calls a JavaScript member. More...
 
virtual void load ()
 Loads content just before the widget is used. More...
 
virtual bool loaded () const
 Returns whether this widget has been loaded. More...
 
virtual void setTabIndex (int index)
 Sets the tab index. More...
 
virtual int tabIndex () const
 Returns the tab index. More...
 
virtual void setId (const std::string &id)
 Sets the CSS Id. More...
 
virtual WWidgetfind (const std::string &name)
 Finds a descendent widget by name. More...
 
virtual void setSelectable (bool selectable)
 Sets as selectable. More...
 
virtual void doJavaScript (const std::string &javascript)
 Executes the given JavaScript statements when the widget is rendered or updated. More...
 
virtual const std::string id () const
 Returns the (unique) identifier for this object. More...
 
void setLoadLaterWhenInvisible (bool)
 Change the way the widget is loaded when invisible. More...
 
const std::vector< WWidget * > & children () const
 Returns contained widgets. More...
 
SignalchildrenChanged ()
 Signal emitted when children have been added or removed. More...
 
virtual bool setFirstFocous ()
 Set focuse on the widget first descendant. More...
 
- Public Member Functions inherited from Wt::WWidget
virtual ~WWidget ()
 Destructor. More...
 
WWidgetparent () const
 Returns the parent widget. More...
 
virtual void removeChild (WObject *child)
 Removes a child object. More...
 
void setWidth (const WLength &width)
 Sets the width. More...
 
void setHeight (const WLength &height)
 Sets the height. More...
 
virtual void positionAt (const WWidget *widget, Orientation orientation=Vertical)
 Positions a widget next to another widget. More...
 
virtual void toggleStyleClass (const WString &styleClass, bool add, bool force=false)
 Toggles a CSS style class.
 
std::string jsRef () const
 Returns a JavaScript expression to the corresponding DOM node. 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 htmlText (std::ostream &out)
 Streams the (X)HTML representation. 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...
 
- Public Member Functions inherited from Wt::WObject
 WObject (WObject *parent=0)
 Create a WObject with a given parent object. More...
 
virtual ~WObject ()
 Destructor. 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...
 
template<class T >
WStatelessSlot * implementJavaScript (void(T::*method)(), const std::string &jsCode)
 Provides a JavaScript implementation for a method. More...
 
void addChild (WObject *child)
 Adds a child object. More...
 
const std::vector< WObject * > & children () const
 Returns the children.
 
WObjectparent () const
 Returns the parent object.
 

Additional Inherited Members

- Static Public Member Functions inherited from Wt::WWebWidget
static WString escapeText (const WString &text, bool newlinesToo=false)
 Escape HTML control characters in the text, to display literally (deprecated). More...
 
static std::string & escapeText (std::string &text, bool newlinestoo=false)
 Escape HTML control characters in the text, to display literally (deprecated). More...
 
static bool removeScript (WString &text)
 Remove tags/attributes from text that are not passive (deprecated). More...
 
static std::string jsStringLiteral (const std::string &v, char delimiter= '\'')
 Turn a UTF8 encoded string into a JavaScript string literal. More...
 
- Protected Member Functions inherited from Wt::Ext::Component
virtual void propagateSetEnabled (bool enabled)
 Propagates that a widget was enabled or disabled through children. More...
 
- Static Protected Member Functions inherited from Wt::WObject
static WObjectsender ()
 Returns the sender of the current slot call. More...
 

Detailed Description

A dialog emulates a modal window that blocks the user-interface.

A modal window blocks the user interface, and does not allow the user to interact with any other part of the user interface until the dialog is closed.

There are two ways for using a Dialog window.

The easiest way is using the exec() method: after creating a Dialog window, call the exec() method which blocks until the dialog window is closed, and returns the dialog result. Typically, an OK button will be connected to the accept() slot, and a Cancel button to the reject() slot. This solution has the drawback that it is not scalable to many concurrent sessions, since every recursive event loop (which is running during the exec() method) locks a thread. Therefore it is only suitable for software that doesn't need to scale (to thousands of users).

A second way is by treating the Dialog as another widget. The dialog may be closed by calling accept(), reject() or done() (or connecting a signal to one of these methods). This will hide the dialog and emit the finished() signal, which you then can listen for to process the dialog result and delete the dialog. Unlike other widgets, a dialog is hidden by default. You must use the method show() or setHidden(true) to show the dialog.

Since Dialog is a Panel, the dialog contents may be layed out inside the dialog using layout managers. To be compatible with WDialog howevere, a contents() method is provided which creates a WFitLayout that fits a single WContainerWidget widget inside the dialog.

Only one Dialog window may exist at any time in a single application. An attempt to instantiate a second dialog will result in undefined behaviour.

The API is a superset of the WDialog API:

ExtDialog-1.png
An example Dialog using BorderLayouts

Member Enumeration Documentation

The result of a modal dialog execution.

Enumerator
Rejected 

Dialog closed with reject()

Accepted 

Dialog closed with accept()

Constructor & Destructor Documentation

Wt::Ext::Dialog::Dialog ( const WString windowTitle = WString())

Construct a Dialog with a given window title.

Only a single Dialog may be constructed at any time. Unlike other widgets, a dialog should not need be added to a container widget to be displayed.

Member Function Documentation

void Wt::Ext::Dialog::accept ( )
virtual

Stop a recursive event loop with result Accepted.

See Also
done(DialogCode), reject()
void Wt::Ext::Dialog::addButton ( Button button)

Add a button at the bottom of this dialog.

Is the same as Panel::addFooterButton()

const std::vector<Button *>& Wt::Ext::Dialog::buttons ( ) const

Return the list of buttons at the bottom of this dialog.

Is the same as Panel::footerButtons()

WContainerWidget * Wt::Ext::Dialog::contents ( ) const

Return the dialog contents container.

The first invocation to this method creates a single WContainerWidget that is fitted in the panel content area, like this:

WContainerWidget *contents = new WContainerWidget();
dialog->setLayout(new WFitLayout());
dialog->layout()->addWidget(contents);
Button * Wt::Ext::Dialog::defaultButton ( ) const

Return the default button for this dialog.

See Also
setDefaultButton(), Button::isDefault()
void Wt::Ext::Dialog::done ( DialogCode  r)
virtual

Stop a recursive event loop.

Sets the dialog result, and ends a recursive event loop that was started using the exec() method.

Dialog::DialogCode Wt::Ext::Dialog::exec ( )

Execute the dialog in a recursive event loop.

Executes the dialog. This blocks the current thread of execution until one of done(DialogCode), accept() or reject() is called.

Warning: using exec() does not scale to many concurrent sessions, since the thread is locked.

See Also
done(DialogCode r), accept(), reject()
Signal<DialogCode>& Wt::Ext::Dialog::finished ( )

Signal emitted when the recursive event loop is ended.

See Also
done(DialogCode), accept(), reject()
bool Wt::Ext::Dialog::isSizeGripEnabled ( ) const

Return if the size grip is enabled.

See Also
setSizeGripEnabled()
void Wt::Ext::Dialog::reject ( )
virtual

Stop a recursive event loop with result Rejected.

See Also
done(DialogCode), accept()
void Wt::Ext::Dialog::removeButton ( Button button)

Remove a button from the bottom of this dialog.

The button must have been previously added using addButton(). Is the same as Panel::removeFooterButton()

DialogCode Wt::Ext::Dialog::result ( ) const

Return the result that was set for this dialog.

See Also
done(DialogCode)
void Wt::Ext::Dialog::setDefaultButton ( Button button)

Configure a default button for this dialog.

The button must have been previously added using addButton(). A default button is activated when the user presses Return in the dialog.

See Also
Button::setDefault()
void Wt::Ext::Dialog::setHidden ( bool  hidden,
const WAnimation animation = WAnimation() 
)
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().

Reimplemented from Wt::Ext::Widget.

Reimplemented in Wt::Ext::MessageBox.

void Wt::Ext::Dialog::setSizeGripEnabled ( bool  enabled)

Configure a size grip to allow the user to resize this dialog.

When a size grip is enabled, then the user may resize the dialog window.

The default is true.

void Wt::Ext::Dialog::setWindowTitle ( const WString windowTitle)

Set the dialog window title.

Is the same as Panel::setTitle(const WString&)

const WString& Wt::Ext::Dialog::windowTitle ( ) const

Return the dialog window title.

Is the same as Panel::title()


Generated on Wed Mar 12 2014 for the C++ Web Toolkit (Wt) by doxygen 1.8.4