import com.itmill.toolkit.demo.sampler.features.tabsheets.TabSheetDisabled;
import com.itmill.toolkit.demo.sampler.features.tabsheets.TabSheetIcons;
import com.itmill.toolkit.demo.sampler.features.tabsheets.TabSheetScrolling;
+import com.itmill.toolkit.demo.sampler.features.text.LabelPlain;
+import com.itmill.toolkit.demo.sampler.features.text.LabelPreformatted;
+import com.itmill.toolkit.demo.sampler.features.text.LabelRich;
+import com.itmill.toolkit.demo.sampler.features.text.RichTextEditor;
+import com.itmill.toolkit.demo.sampler.features.text.TextArea;
+import com.itmill.toolkit.demo.sampler.features.text.TextFieldSingle;
import com.itmill.toolkit.demo.sampler.features.windows.WindowChild;
import com.itmill.toolkit.demo.sampler.features.windows.WindowChildAutosize;
import com.itmill.toolkit.demo.sampler.features.windows.WindowChildModal;
new Panels(), //
// new Forms(), not done yet
new Windows(), //
+ new Texts(), //
});
}
}
}
}
+ public static class Texts extends FeatureSet {
+ public Texts() {
+ super("Texts", new Feature[] {
+ //
+ new LabelPlain(), //
+ new LabelPreformatted(), //
+ new LabelRich(), //
+ new RichTextEditor(), //
+ new TextFieldSingle(), //
+ new TextArea(), //
+ });
+ }
+ }
+
// ----------------------------------------------------------
/*
* FeatureSet implementation follows.
--- /dev/null
+package com.itmill.toolkit.demo.sampler.features.text;\r
+\r
+import com.itmill.toolkit.demo.sampler.APIResource;\r
+import com.itmill.toolkit.demo.sampler.Feature;\r
+import com.itmill.toolkit.demo.sampler.NamedExternalResource;\r
+import com.itmill.toolkit.ui.Label;\r
+\r
+public class LabelPlain extends Feature {\r
+ @Override\r
+ public String getName() {\r
+ return "Label - Plain text";\r
+ }\r
+\r
+ @Override\r
+ public String getDescription() {\r
+ return "A label is a simple component that allows you to add"\r
+ + " optionally formatted text components to your"\r
+ + " application."\r
+ + "<br>In this example the content mode is set to"\r
+ + " CONTENT_TEXT, meaning that the label will contain"\r
+ + " only plain text.";\r
+\r
+ }\r
+\r
+ @Override\r
+ public APIResource[] getRelatedAPI() {\r
+ return new APIResource[] { new APIResource(Label.class) };\r
+ }\r
+\r
+ @Override\r
+ public Class[] getRelatedFeatures() {\r
+ return new Class[] { LabelPreformatted.class, LabelRich.class,\r
+ TextFieldSingle.class, TextArea.class, RichTextEditor.class };\r
+ }\r
+\r
+ @Override\r
+ public NamedExternalResource[] getRelatedResources() {\r
+ // TODO Auto-generated method stub\r
+ return null;\r
+ }\r
+\r
+}\r
--- /dev/null
+package com.itmill.toolkit.demo.sampler.features.text;\r
+\r
+import com.itmill.toolkit.ui.Label;\r
+import com.itmill.toolkit.ui.VerticalLayout;\r
+\r
+public class LabelPlainExample extends VerticalLayout {\r
+\r
+ public LabelPlainExample() {\r
+ setSpacing(true);\r
+\r
+ Label plainText = new Label("This is an example of a Label"\r
+ + " component. The content mode of this label is set"\r
+ + " to CONTENT_TEXT. This means that it will display"\r
+ + " the content text as is. HTML and XML special characters"\r
+ + " (<,>,&) are escaped properly to allow displaying them.");\r
+ plainText.setContentMode(Label.CONTENT_TEXT);\r
+\r
+ addComponent(plainText);\r
+ }\r
+}\r
--- /dev/null
+package com.itmill.toolkit.demo.sampler.features.text;\r
+\r
+import com.itmill.toolkit.demo.sampler.APIResource;\r
+import com.itmill.toolkit.demo.sampler.Feature;\r
+import com.itmill.toolkit.demo.sampler.NamedExternalResource;\r
+import com.itmill.toolkit.ui.Label;\r
+\r
+public class LabelPreformatted extends Feature {\r
+ @Override\r
+ public String getName() {\r
+ return "Label - Preformatted";\r
+ }\r
+\r
+ @Override\r
+ public String getDescription() {\r
+ return "A label is a simple component that allows you to add"\r
+ + " optionally formatted text components to your"\r
+ + " application."\r
+ + "<br>In this example the content mode is set to"\r
+ + " CONTENT_PREFORMATTED. The text for this content type"\r
+ + " is by default rendered with fixed-width font. Line breaks"\r
+ + " can be inserted with \\n and tabulator characters with \\t.";\r
+ }\r
+\r
+ @Override\r
+ public APIResource[] getRelatedAPI() {\r
+ return new APIResource[] { new APIResource(Label.class) };\r
+ }\r
+\r
+ @Override\r
+ public Class[] getRelatedFeatures() {\r
+ return new Class[] { LabelPlain.class, LabelRich.class,\r
+ TextFieldSingle.class, TextArea.class, RichTextEditor.class };\r
+ }\r
+\r
+ @Override\r
+ public NamedExternalResource[] getRelatedResources() {\r
+ // TODO Auto-generated method stub\r
+ return null;\r
+ }\r
+\r
+}\r
--- /dev/null
+package com.itmill.toolkit.demo.sampler.features.text;\r
+\r
+import com.itmill.toolkit.ui.Label;\r
+import com.itmill.toolkit.ui.VerticalLayout;\r
+\r
+public class LabelPreformattedExample extends VerticalLayout {\r
+\r
+ public LabelPreformattedExample() {\r
+ setSpacing(true);\r
+\r
+ Label preformattedText = new Label(\r
+ "This is an example of a Label component.\n"\r
+ + "\nThe content mode of this label is set"\r
+ + "\nto CONTENT_PREFORMATTED. This means"\r
+ + "\nthat it will display the content text"\r
+ + "\nusing a fixed-width font. You also have"\r
+ + "\nto insert the line breaks yourself.\n"\r
+ + "\n\tHTML and XML special characters"\r
+ + "\n\t(<,>,&) are escaped properly to"\r
+ + "\n\tallow displaying them.");\r
+ preformattedText.setContentMode(Label.CONTENT_PREFORMATTED);\r
+\r
+ addComponent(preformattedText);\r
+ }\r
+}\r
--- /dev/null
+package com.itmill.toolkit.demo.sampler.features.text;\r
+\r
+import com.itmill.toolkit.demo.sampler.APIResource;\r
+import com.itmill.toolkit.demo.sampler.Feature;\r
+import com.itmill.toolkit.demo.sampler.NamedExternalResource;\r
+import com.itmill.toolkit.ui.Label;\r
+\r
+public class LabelRich extends Feature {\r
+ @Override\r
+ public String getName() {\r
+ return "Label - Rich text";\r
+ }\r
+\r
+ @Override\r
+ public String getDescription() {\r
+ return "A label is a simple component that allows you to add"\r
+ + " optionally formatted text components to your"\r
+ + " application."\r
+ + "<br>In this example the content mode is set to"\r
+ + " CONTENT_XHTML. This content mode assumes that the"\r
+ + " content set to the label will be valid XHTML.";\r
+ }\r
+\r
+ @Override\r
+ public APIResource[] getRelatedAPI() {\r
+ return new APIResource[] { new APIResource(Label.class) };\r
+ }\r
+\r
+ @Override\r
+ public Class[] getRelatedFeatures() {\r
+ return new Class[] { LabelPlain.class, LabelPreformatted.class,\r
+ RichTextEditor.class };\r
+ }\r
+\r
+ @Override\r
+ public NamedExternalResource[] getRelatedResources() {\r
+ // TODO Auto-generated method stub\r
+ return null;\r
+ }\r
+\r
+}\r
--- /dev/null
+package com.itmill.toolkit.demo.sampler.features.text;\r
+\r
+import com.itmill.toolkit.ui.Button;\r
+import com.itmill.toolkit.ui.Label;\r
+import com.itmill.toolkit.ui.RichTextArea;\r
+import com.itmill.toolkit.ui.VerticalLayout;\r
+import com.itmill.toolkit.ui.Button.ClickEvent;\r
+import com.itmill.toolkit.ui.Button.ClickListener;\r
+\r
+public class LabelRichExample extends VerticalLayout implements ClickListener {\r
+\r
+ private Button b;\r
+ private Label richText;\r
+\r
+ private final RichTextArea editor = new RichTextArea();\r
+\r
+ public LabelRichExample() {\r
+ setSpacing(true);\r
+\r
+ richText = new Label("<h1>Rich text label example</h1>"\r
+ + "<p>In this example, the content mode is set to "\r
+ + "<i>CONTENT_XHTML</i>.</p>"\r
+ + "<p>This text can be edited with the Edit-button</p>");\r
+ richText.setContentMode(Label.CONTENT_XHTML);\r
+\r
+ addComponent(richText);\r
+\r
+ b = new Button("Edit label");\r
+ b.addListener(this);\r
+ addComponent(b);\r
+ }\r
+\r
+ public void buttonClick(ClickEvent event) {\r
+ if (getComponentIterator().next() == richText) {\r
+ editor.setValue(richText.getValue());\r
+ replaceComponent(richText, editor);\r
+ b.setCaption("Show label");\r
+ } else {\r
+ richText.setValue(editor.getValue());\r
+ replaceComponent(editor, richText);\r
+ b.setCaption("Edit label");\r
+ }\r
+ }\r
+\r
+}\r
--- /dev/null
+package com.itmill.toolkit.demo.sampler.features.text;\r
+\r
+import com.itmill.toolkit.demo.sampler.APIResource;\r
+import com.itmill.toolkit.demo.sampler.Feature;\r
+import com.itmill.toolkit.demo.sampler.NamedExternalResource;\r
+import com.itmill.toolkit.ui.Component;\r
+import com.itmill.toolkit.ui.Label;\r
+\r
+public class RichTextEditor extends Feature {\r
+ @Override\r
+ public String getName() {\r
+ return "Rich text area";\r
+ }\r
+\r
+ @Override\r
+ public String getDescription() {\r
+ return "A RichTextArea component allows editing XHTML"\r
+ + " content. Click the edit button to open the"\r
+ + " editor and the show button to show the edited"\r
+ + " result as an XHTML label.";\r
+ }\r
+\r
+ @Override\r
+ public APIResource[] getRelatedAPI() {\r
+ return new APIResource[] { new APIResource(Label.class) };\r
+ }\r
+\r
+ @Override\r
+ public Class[] getRelatedFeatures() {\r
+ return new Class[] { LabelPlain.class, LabelPreformatted.class,\r
+ LabelRich.class, TextFieldSingle.class, TextArea.class };\r
+ }\r
+\r
+ @Override\r
+ public NamedExternalResource[] getRelatedResources() {\r
+ // TODO Auto-generated method stub\r
+ return null;\r
+ }\r
+\r
+ @Override\r
+ public Component getExample() {\r
+ return new LabelRichExample();\r
+ }\r
+}\r
--- /dev/null
+package com.itmill.toolkit.demo.sampler.features.text;\r
+\r
+import com.itmill.toolkit.demo.sampler.APIResource;\r
+import com.itmill.toolkit.demo.sampler.Feature;\r
+import com.itmill.toolkit.demo.sampler.NamedExternalResource;\r
+import com.itmill.toolkit.ui.Label;\r
+\r
+public class TextArea extends Feature {\r
+ @Override\r
+ public String getName() {\r
+ return "Textarea";\r
+ }\r
+\r
+ @Override\r
+ public String getDescription() {\r
+ return "A multi-line Textfield component allows you to input"\r
+ + " several lines of text."\r
+ + "<br>In this example the text will be shown in a"\r
+ + " label component after you press enter."\r
+ + "<br>The amount of columns and lines can be set, and both are set here to"\r
+ + " 20 characters. Note that this only affects the width and height of the"\r
+ + " component, not the allowed length of input."\r
+ + "<br>For sensitive data input, the textfield can"\r
+ + " also be set into secret mode where the input will not be"\r
+ + " echoed to display.";\r
+ }\r
+\r
+ @Override\r
+ public APIResource[] getRelatedAPI() {\r
+ return new APIResource[] { new APIResource(Label.class) };\r
+ }\r
+\r
+ @Override\r
+ public Class[] getRelatedFeatures() {\r
+ return new Class[] { LabelPlain.class, LabelPreformatted.class,\r
+ RichTextEditor.class };\r
+ }\r
+\r
+ @Override\r
+ public NamedExternalResource[] getRelatedResources() {\r
+ // TODO Auto-generated method stub\r
+ return null;\r
+ }\r
+\r
+}\r
--- /dev/null
+package com.itmill.toolkit.demo.sampler.features.text;\r
+\r
+import com.itmill.toolkit.data.Property;\r
+import com.itmill.toolkit.data.Property.ValueChangeEvent;\r
+import com.itmill.toolkit.ui.Label;\r
+import com.itmill.toolkit.ui.TextField;\r
+import com.itmill.toolkit.ui.VerticalLayout;\r
+\r
+public class TextAreaExample extends VerticalLayout implements\r
+ Property.ValueChangeListener {\r
+\r
+ private Label plainText;\r
+ private final TextField editor = new TextField();\r
+\r
+ public TextAreaExample() {\r
+ setSpacing(true);\r
+\r
+ plainText = new Label("Initial text.\n"\r
+ + "\nPlease note that within a textarea,"\r
+ + "\nthe enter key will not dispatch the"\r
+ + "\nchanges to the server. To fire a"\r
+ + "\nvaluechange event, you must deactivate"\r
+ + "\nthe textarea.");\r
+ plainText.setContentMode(Label.CONTENT_PREFORMATTED);\r
+\r
+ editor.addListener(this);\r
+ editor.setImmediate(true);\r
+ editor.setColumns(20);\r
+ editor.setRows(20);\r
+ // editor.setSecret(true);\r
+\r
+ addComponent(editor);\r
+ addComponent(plainText);\r
+ }\r
+\r
+ /*\r
+ * Catch the valuechange event of the textfield and update the value of the\r
+ * label component\r
+ */\r
+ public void valueChange(ValueChangeEvent event) {\r
+ plainText.setValue(editor.getValue());\r
+ }\r
+}\r
--- /dev/null
+package com.itmill.toolkit.demo.sampler.features.text;\r
+\r
+import com.itmill.toolkit.demo.sampler.APIResource;\r
+import com.itmill.toolkit.demo.sampler.Feature;\r
+import com.itmill.toolkit.demo.sampler.NamedExternalResource;\r
+import com.itmill.toolkit.ui.Label;\r
+\r
+public class TextFieldSingle extends Feature {\r
+ @Override\r
+ public String getName() {\r
+ return "Textfield";\r
+ }\r
+\r
+ @Override\r
+ public String getDescription() {\r
+ return "A single line Textfield component allows you to input"\r
+ + " one line of text."\r
+ + "<br>In this example the text will be shown in a"\r
+ + " label component after you press enter."\r
+ + "<br>The amount of columns can be set, and is set here to"\r
+ + " 5 characters. Note that this only affects the width of the"\r
+ + " component, not the allowed length of input."\r
+ + "<br>For sensitive data input, the textfield can"\r
+ + " also be set into secret mode where the input will not be"\r
+ + " echoed to display.";\r
+ }\r
+\r
+ @Override\r
+ public APIResource[] getRelatedAPI() {\r
+ return new APIResource[] { new APIResource(Label.class) };\r
+ }\r
+\r
+ @Override\r
+ public Class[] getRelatedFeatures() {\r
+ return new Class[] { LabelPlain.class, LabelPreformatted.class,\r
+ RichTextEditor.class };\r
+ }\r
+\r
+ @Override\r
+ public NamedExternalResource[] getRelatedResources() {\r
+ // TODO Auto-generated method stub\r
+ return null;\r
+ }\r
+\r
+}\r
--- /dev/null
+package com.itmill.toolkit.demo.sampler.features.text;\r
+\r
+import com.itmill.toolkit.data.Property;\r
+import com.itmill.toolkit.data.Property.ValueChangeEvent;\r
+import com.itmill.toolkit.ui.Label;\r
+import com.itmill.toolkit.ui.TextField;\r
+import com.itmill.toolkit.ui.VerticalLayout;\r
+\r
+public class TextFieldSingleExample extends VerticalLayout implements\r
+ Property.ValueChangeListener {\r
+\r
+ private Label plainText;\r
+ private final TextField editor = new TextField();\r
+\r
+ public TextFieldSingleExample() {\r
+ setSpacing(true);\r
+\r
+ plainText = new Label("Initial text");\r
+ plainText.setContentMode(Label.CONTENT_TEXT);\r
+\r
+ editor.addListener(this);\r
+ editor.setImmediate(true);\r
+ editor.setColumns(5);\r
+ // editor.setSecret(true);\r
+\r
+ addComponent(plainText);\r
+ addComponent(editor);\r
+ }\r
+\r
+ /*\r
+ * Catch the valuechange event of the textfield and update the value of the\r
+ * label component\r
+ */\r
+ public void valueChange(ValueChangeEvent event) {\r
+ plainText.setValue(editor.getValue());\r
+ }\r
+}\r