aboutsummaryrefslogtreecommitdiffstats
path: root/documentation/components/components-extensions.asciidoc
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/components/components-extensions.asciidoc')
-rw-r--r--documentation/components/components-extensions.asciidoc38
1 files changed, 38 insertions, 0 deletions
diff --git a/documentation/components/components-extensions.asciidoc b/documentation/components/components-extensions.asciidoc
new file mode 100644
index 0000000000..a84ad92f6e
--- /dev/null
+++ b/documentation/components/components-extensions.asciidoc
@@ -0,0 +1,38 @@
+---
+title: Component Extensions
+order: 6
+layout: page
+---
+
+[[components.extensions]]
+= Component Extensions
+
+Components and UIs can have extensions which are attached to the component
+dynamically. Especially, many add-ons are extensions.
+
+How a component is extended depends on the extension. Typically, they have an
+[methodname]#extend()# method that takes the component to be extended as the
+parameter.
+
+
+[source, java]
+----
+TextField tf = new TextField("Hello");
+layout.addComponent(tf);
+
+// Add a simple extension
+new CapsLockWarning().extend(tf);
+
+// Add an extension that requires some parameters
+CSValidator validator = new CSValidator();
+validator.setRegExp("[0-9]*");
+validator.setErrorMessage("Must be a number");
+validator.extend(tf);
+----
+
+Development of custom extensions is described in
+<<dummy/../../../framework/gwt/gwt-extension#gwt.extension,"Component and UI
+Extensions">>.
+
+
+