]> source.dussan.org Git - vaadin-framework.git/commitdiff
Sampler: password textfield sample added, separate icon for related category.
authorMarc Englund <marc.englund@itmill.com>
Fri, 13 Feb 2009 08:41:09 +0000 (08:41 +0000)
committerMarc Englund <marc.englund@itmill.com>
Fri, 13 Feb 2009 08:41:09 +0000 (08:41 +0000)
svn changeset:6827/svn branch:trunk

WebContent/ITMILL/themes/sampler/icons/category.gif [new file with mode: 0644]
src/com/itmill/toolkit/demo/sampler/FeatureSet.java
src/com/itmill/toolkit/demo/sampler/FeatureView.java
src/com/itmill/toolkit/demo/sampler/features/text/75-TextFieldSecret.png [new file with mode: 0644]
src/com/itmill/toolkit/demo/sampler/features/text/TextFieldSecret.java [new file with mode: 0644]
src/com/itmill/toolkit/demo/sampler/features/text/TextFieldSecretExample.java [new file with mode: 0644]
src/com/itmill/toolkit/demo/sampler/features/text/TextFieldSingle.java
src/com/itmill/toolkit/demo/sampler/features/text/TextFieldSingleExample.java

diff --git a/WebContent/ITMILL/themes/sampler/icons/category.gif b/WebContent/ITMILL/themes/sampler/icons/category.gif
new file mode 100644 (file)
index 0000000..15a5ad3
Binary files /dev/null and b/WebContent/ITMILL/themes/sampler/icons/category.gif differ
index 01f1b434d720b6b712f910cd6c5f59f0d12b0247..c573d19efa08871186171c453db527ad50d21253 100644 (file)
@@ -70,6 +70,7 @@ 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.TextFieldSecret;
 import com.itmill.toolkit.demo.sampler.features.text.TextFieldSingle;
 import com.itmill.toolkit.demo.sampler.features.trees.TreeActions;
 import com.itmill.toolkit.demo.sampler.features.trees.TreeMouseEvents;
@@ -349,6 +350,7 @@ public class FeatureSet extends Feature {
                     new Feature[] {
                     //      
                             new TextFieldSingle(), //
+                            new TextFieldSecret(), //
                             new TextArea(), //
                             new RichTextEditor(), //
                     });
index 9f234a4703ef068f47c204da0e4e7db6f7e40c76..8458d239918374c3f26ee737cc1d0d9c7fefd963 100644 (file)
@@ -200,7 +200,9 @@ public class FeatureView extends HorizontalLayout {
                         ActiveLink al = new ActiveLink(f.getName(),
                                 new ExternalResource(getApplication().getURL()
                                         + "#" + path));
-                        al.setIcon(new ThemeResource("icons/sample.png"));
+                        al.setIcon(new ThemeResource(
+                                (f instanceof FeatureSet ? "icons/category.gif"
+                                        : "icons/sample.png")));
                         al.addListener(new LinkActivatedListener() {
                             public void linkActivated(LinkActivatedEvent event) {
                                 if (event.isLinkOpened()) {
diff --git a/src/com/itmill/toolkit/demo/sampler/features/text/75-TextFieldSecret.png b/src/com/itmill/toolkit/demo/sampler/features/text/75-TextFieldSecret.png
new file mode 100644 (file)
index 0000000..929c79e
Binary files /dev/null and b/src/com/itmill/toolkit/demo/sampler/features/text/75-TextFieldSecret.png differ
diff --git a/src/com/itmill/toolkit/demo/sampler/features/text/TextFieldSecret.java b/src/com/itmill/toolkit/demo/sampler/features/text/TextFieldSecret.java
new file mode 100644 (file)
index 0000000..d743ed0
--- /dev/null
@@ -0,0 +1,41 @@
+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.FeatureSet;\r
+import com.itmill.toolkit.demo.sampler.NamedExternalResource;\r
+import com.itmill.toolkit.demo.sampler.features.selects.ComboBoxNewItems;\r
+import com.itmill.toolkit.ui.TextField;\r
+\r
+public class TextFieldSecret extends Feature {\r
+    @Override\r
+    public String getName() {\r
+        return "Text field, secret (password)";\r
+    }\r
+\r
+    @Override\r
+    public String getDescription() {\r
+        return "For sensitive data input, such as passwords, the text field 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(TextField.class) };\r
+    }\r
+\r
+    @Override\r
+    public Class[] getRelatedFeatures() {\r
+        // TODO update CB -ref to 'suggest' pattern, when available\r
+        return new Class[] { TextFieldSingle.class, ComboBoxNewItems.class,\r
+                FeatureSet.Texts.class };\r
+    }\r
+\r
+    @Override\r
+    public NamedExternalResource[] getRelatedResources() {\r
+        // TODO Auto-generated method stub\r
+        return null;\r
+    }\r
+\r
+}\r
diff --git a/src/com/itmill/toolkit/demo/sampler/features/text/TextFieldSecretExample.java b/src/com/itmill/toolkit/demo/sampler/features/text/TextFieldSecretExample.java
new file mode 100644 (file)
index 0000000..51f5c9e
--- /dev/null
@@ -0,0 +1,40 @@
+package com.itmill.toolkit.demo.sampler.features.text;\r
+\r
+import com.itmill.toolkit.ui.Button;\r
+import com.itmill.toolkit.ui.TextField;\r
+import com.itmill.toolkit.ui.VerticalLayout;\r
+import com.itmill.toolkit.ui.Button.ClickEvent;\r
+\r
+public class TextFieldSecretExample extends VerticalLayout {\r
+\r
+    private final TextField username;\r
+    private final TextField password;\r
+\r
+    public TextFieldSecretExample() {\r
+        setSizeUndefined(); // let content 'push' size\r
+        setSpacing(true);\r
+\r
+        // Username\r
+        username = new TextField("Username");\r
+        addComponent(username);\r
+\r
+        // Password\r
+        password = new TextField("Password");\r
+        password.setSecret(true);\r
+        addComponent(password);\r
+\r
+        // Login button\r
+        Button loginButton = new Button("Login", new Button.ClickListener() {\r
+            // inline click listener\r
+            public void buttonClick(ClickEvent event) {\r
+                getWindow().showNotification(\r
+                        "User: " + username.getValue() + " Password: "\r
+                                + password.getValue());\r
+\r
+            }\r
+        });\r
+        addComponent(loginButton);\r
+        setComponentAlignment(loginButton, "right");\r
+\r
+    }\r
+}\r
index 23a114bfa3c96c34727c76028e20ee63f32eb89c..a10b53a4aab7316159c9884a9d7ab7393bd241f7 100644 (file)
@@ -4,19 +4,22 @@ import com.itmill.toolkit.demo.sampler.APIResource;
 import com.itmill.toolkit.demo.sampler.Feature;\r
 import com.itmill.toolkit.demo.sampler.FeatureSet;\r
 import com.itmill.toolkit.demo.sampler.NamedExternalResource;\r
+import com.itmill.toolkit.demo.sampler.features.selects.ComboBoxNewItems;\r
 import com.itmill.toolkit.ui.TextField;\r
 \r
 public class TextFieldSingle extends Feature {\r
     @Override\r
     public String getName() {\r
-        return "Textfield";\r
+        return "Text field";\r
     }\r
 \r
     @Override\r
     public String getDescription() {\r
-        return "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
+        return "A single-line TextField is a fundamental UI building blocks"\r
+                + " with numerous uses.<br/>"\r
+                + "If the input would benefit from remembering previous values,"\r
+                + " you might want to consider using a ComboBox it it's "\r
+                + " 'suggesting mode' instead.";\r
     }\r
 \r
     @Override\r
@@ -26,7 +29,9 @@ public class TextFieldSingle extends Feature {
 \r
     @Override\r
     public Class[] getRelatedFeatures() {\r
-        return new Class[] { FeatureSet.Texts.class };\r
+        // TODO update CB -ref to 'suggest' pattern, when available\r
+        return new Class[] { TextFieldSecret.class, ComboBoxNewItems.class,\r
+                FeatureSet.Texts.class };\r
     }\r
 \r
     @Override\r
index a8f01c9870c322c7aa51a187cdb3f0210fdf297e..2639becc29ab2ef56d652a15990d97cf7c96a7e6 100644 (file)
@@ -16,7 +16,6 @@ public class TextFieldSingleExample extends VerticalLayout implements
         editor.addListener(this);\r
         editor.setImmediate(true);\r
         // editor.setColumns(5); // guarantees that at least 5 chars fit\r
-        // editor.setSecret(true); // e.g. for passwords\r
 \r
         addComponent(editor);\r
     }\r