Wt: Ext widgets (Wt::Ext, deprecated)

Wt 3.3.0

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes

Classes | Enumerations
Ext widgets (Wt::Ext, deprecated)

Wt Ext library with JavaScript-only widgets (deprecated). More...

## Classes
class | Wt::Ext::AbstractButton
| Abstract base class for a (toolbar) button or menu item. More...
class | Wt::Ext::AbstractToggleButton
| Abstract base class for radio button and check box. More...
class | Wt::Ext::Button
| A button. More...
class | Wt::Ext::Calendar
| A calendar. More...
class | Wt::Ext::CheckBox
| A user control that represents a check box. More...
class | Wt::Ext::ComboBox
| A widget that provides a drop-down combo-box control. More...
class | Wt::Ext::Component
| An abstract base class for widgets that can be visually disabled. More...
class | Wt::Ext::DataStore
| A resource that serializes data from a data model. More...
class | Wt::Ext::DateField
| A form field for conveniently editing a date using a calendar popup. More...
class | Wt::Ext::Dialog
| A dialog emulates a modal window that blocks the user-interface. More...
class | Wt::Ext::FormField
| An abstract base class for form fields. More...
class | Wt::Ext::LineEdit
| A line edit. More...
class | Wt::Ext::Menu
| A menu presented in a popup window. More...
class | Wt::Ext::MenuItem
| An item in a menu. More...
class | Wt::Ext::MessageBox
| A standard dialog for confirmation or to get simple user input. More...
class | Wt::Ext::NumberField
| A form field for editing a number. More...
class | Wt::Ext::PagingToolBar
| A tool bar that provides paging controls for supporting large data sets in a table view. More...
class | Wt::Ext::Panel
| A container with a title and standard GUI elements. More...
class | Wt::Ext::ProgressDialog
| A standard dialog to inform the user of progress during a time consuming task. More...
class | Wt::Ext::RadioButton
| A user control that represents a radio button. More...
class | Wt::Ext::Splitter
| A container widget with resize handles between its children. More...
class | Wt::Ext::SplitterHandle
| A handle inside a splitter. More...
class | Wt::Ext::TableView
| A widget that displays data in a table. More...
class | Wt::Ext::TabWidget
| A widget that organizes contents in tab panes. More...
class | Wt::Ext::TextEdit
| A rich-text editor. More...
class | Wt::Ext::ToolBar
| A class that represents a tool bar (or a menu bar). More...
class | Wt::Ext::ToolTipConfig
| A configuration object for tool tips. More...
class | Wt::Ext::Widget
| An abstract base class for all Ext widgets. More...
## Enumerations
enum | Wt::Ext::DataLocation { Wt::Ext::ClientSide, Wt::Ext::ServerSide }
| An enum for the location of data in data-intensive widgets. More...

## Detailed Description

Wt Ext library with JavaScript-only widgets (deprecated).

## 1. Introduction

An add-on library to Wt (wtext) provides additional widgets that are all contained within the Wt::Ext namespace. These widgets are implemented using an open-source third-party JavaScript library, extjs (http://extjs.com/), version 2.0, or 2.1 but not higher (does not support Ext 2.2), e.g. http://extjs.com/deploy/ext-2.0.2.zip.

Unlike plain Wt widgets, these widgets require the availability of JavaScript (and a sufficiently recent browser). They do, however, have a polished default look (certainly compared to unstyled plain Wt widgets), and add several new capabilities to Wt:

- A Container widget which supports layout using layout managers, and a Panel, which inherits Container, which adds standard GUI functionality to a container, such as tool bars, and support for collapsing and resizing

- Form fields that support client-side validation (CheckBox, ComboBox, DateField, LineEdit, NumberField, RadioButton). This has been integrated together with the server side validation in the standard WValidator classes (WDateValidator, WDoubleValidator, WIntValidator, WLengthValidator, WRegExpValidator). In this way, a single validator object specifies at the same time the client- and server-side validation. In this way, the user is given instant feed-back using client-side validation, but the data is also validated (again) as it arrives on the server, since nothing prevents the client JavaScript code from be hacked or circumvented.

- TextEdit: a rich text editor, which may be used to edit HTML.

- TableView displays data from a WAbstractItemModel. The widget provides sorting, column resizing. In addition, form fiels may be used for inline editing of data, which is propagated back to the model.

- Good-looking and flexible Menu and ToolBar classes.

- A polished Dialog, MessageBox and ProgressDialog.

- Standalone Splitter widget, or integrated in BorderLayout

- Availability of several themes, created by the ExtJS user community. Simply import the stylesheet after Ext itself is loaded. (for example, try: useStyleSheet("<i>extBaseURL</i>/resources/css/xtheme-gray.css")). Ext itself is loaded by inserting an Ext widget, so a good place to do this is at the end of your application construction.

The functionality of some of these widgets overlaps with existing Wt widgets. Whenever possible, the same API was adopted.

The following table shows corresponding widgets and comments on the resemblance of the APIs.

Wt widget | Wt Ext widget | Comment
WCalendar | Calendar | The Wt version is more versatile (for example allows multiple selection, and allows more programmatic control.
WCheckBox | CheckBox | Identical API.
WComboBox | ComboBox | The Ext version adds a number of features that are similar to those provided by Wt's SuggestionPopup, and allows keeping the entire data set at the server.
WDialog | Dialog | Almost identical API. The Ext version manages standard buttons.
WLineEdit | LineEdit | Identical API.
WMessageBox | MessageBox | Almost identical API. The Wt version is more flexible with respect to buttons, while the Ext version supports prompting for input.
WRadioButton | RadioButton | Identical API.
WTextEdit | TextEdit | API differences. The Wt version has more options and is XHTML-compliant.

You can freely mix Wt widgets and Ext widgets in your application: Wt widgets containers may contain Ext widgets, and vice-versa. From a programmer perspective, there are no differences for using Wt versus Ext widgets.

## 2. Deployment notes.

To use Ext widgets, you need to download the Ext JavaScript library (ext-2.x), and deploy the following files to your web server:

- ext-2.x/adapter/ext/ext-base.js to extBaseURL/ext-base.js
- ext-2.x/ext-all.js to extBaseURL/ext-all.js
- ext-2.x/resources/ to extBaseURL/resources/ (the entire folder)

The default value for extBaseURL is "ext/". This value may be overridden with a URL that points to a folder where these files are located, by configuring the extBaseURL property in your Wt configuration file.

Deprecated:
  Use native widgets instead.

## Enumeration Type Documentation

enum Wt::Ext::DataLocation

An enum for the location of data in data-intensive widgets.

See also:
  ComboBox::setDataLocation(), TableView::setDataLocation()

Enumerator:

  ClientSide | Download the whole data model to the client.
  ServerSide | Keep the data at the server, and transfer data on-demand.

All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator