From: Marc Englund Date: Fri, 13 Feb 2009 08:41:09 +0000 (+0000) Subject: Sampler: password textfield sample added, separate icon for related category. X-Git-Tag: 6.7.0.beta1~3163 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=de05408170b4a66070e85f3f91b26f2dffb4b743;p=vaadin-framework.git Sampler: password textfield sample added, separate icon for related category. svn changeset:6827/svn branch:trunk --- diff --git a/WebContent/ITMILL/themes/sampler/icons/category.gif b/WebContent/ITMILL/themes/sampler/icons/category.gif new file mode 100644 index 0000000000..15a5ad3787 Binary files /dev/null and b/WebContent/ITMILL/themes/sampler/icons/category.gif differ diff --git a/src/com/itmill/toolkit/demo/sampler/FeatureSet.java b/src/com/itmill/toolkit/demo/sampler/FeatureSet.java index 01f1b434d7..c573d19efa 100644 --- a/src/com/itmill/toolkit/demo/sampler/FeatureSet.java +++ b/src/com/itmill/toolkit/demo/sampler/FeatureSet.java @@ -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(), // }); diff --git a/src/com/itmill/toolkit/demo/sampler/FeatureView.java b/src/com/itmill/toolkit/demo/sampler/FeatureView.java index 9f234a4703..8458d23991 100644 --- a/src/com/itmill/toolkit/demo/sampler/FeatureView.java +++ b/src/com/itmill/toolkit/demo/sampler/FeatureView.java @@ -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 index 0000000000..929c79e05a 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 index 0000000000..d743ed0648 --- /dev/null +++ b/src/com/itmill/toolkit/demo/sampler/features/text/TextFieldSecret.java @@ -0,0 +1,41 @@ +package com.itmill.toolkit.demo.sampler.features.text; + +import com.itmill.toolkit.demo.sampler.APIResource; +import com.itmill.toolkit.demo.sampler.Feature; +import com.itmill.toolkit.demo.sampler.FeatureSet; +import com.itmill.toolkit.demo.sampler.NamedExternalResource; +import com.itmill.toolkit.demo.sampler.features.selects.ComboBoxNewItems; +import com.itmill.toolkit.ui.TextField; + +public class TextFieldSecret extends Feature { + @Override + public String getName() { + return "Text field, secret (password)"; + } + + @Override + public String getDescription() { + return "For sensitive data input, such as passwords, the text field can" + + " also be set into secret mode where the input will not be" + + " echoed to display."; + } + + @Override + public APIResource[] getRelatedAPI() { + return new APIResource[] { new APIResource(TextField.class) }; + } + + @Override + public Class[] getRelatedFeatures() { + // TODO update CB -ref to 'suggest' pattern, when available + return new Class[] { TextFieldSingle.class, ComboBoxNewItems.class, + FeatureSet.Texts.class }; + } + + @Override + public NamedExternalResource[] getRelatedResources() { + // TODO Auto-generated method stub + return null; + } + +} 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 index 0000000000..51f5c9ec8f --- /dev/null +++ b/src/com/itmill/toolkit/demo/sampler/features/text/TextFieldSecretExample.java @@ -0,0 +1,40 @@ +package com.itmill.toolkit.demo.sampler.features.text; + +import com.itmill.toolkit.ui.Button; +import com.itmill.toolkit.ui.TextField; +import com.itmill.toolkit.ui.VerticalLayout; +import com.itmill.toolkit.ui.Button.ClickEvent; + +public class TextFieldSecretExample extends VerticalLayout { + + private final TextField username; + private final TextField password; + + public TextFieldSecretExample() { + setSizeUndefined(); // let content 'push' size + setSpacing(true); + + // Username + username = new TextField("Username"); + addComponent(username); + + // Password + password = new TextField("Password"); + password.setSecret(true); + addComponent(password); + + // Login button + Button loginButton = new Button("Login", new Button.ClickListener() { + // inline click listener + public void buttonClick(ClickEvent event) { + getWindow().showNotification( + "User: " + username.getValue() + " Password: " + + password.getValue()); + + } + }); + addComponent(loginButton); + setComponentAlignment(loginButton, "right"); + + } +} diff --git a/src/com/itmill/toolkit/demo/sampler/features/text/TextFieldSingle.java b/src/com/itmill/toolkit/demo/sampler/features/text/TextFieldSingle.java index 23a114bfa3..a10b53a4aa 100644 --- a/src/com/itmill/toolkit/demo/sampler/features/text/TextFieldSingle.java +++ b/src/com/itmill/toolkit/demo/sampler/features/text/TextFieldSingle.java @@ -4,19 +4,22 @@ import com.itmill.toolkit.demo.sampler.APIResource; import com.itmill.toolkit.demo.sampler.Feature; import com.itmill.toolkit.demo.sampler.FeatureSet; import com.itmill.toolkit.demo.sampler.NamedExternalResource; +import com.itmill.toolkit.demo.sampler.features.selects.ComboBoxNewItems; import com.itmill.toolkit.ui.TextField; public class TextFieldSingle extends Feature { @Override public String getName() { - return "Textfield"; + return "Text field"; } @Override public String getDescription() { - return "For sensitive data input, the textfield can" - + " also be set into secret mode where the input will not be" - + " echoed to display."; + return "A single-line TextField is a fundamental UI building blocks" + + " with numerous uses.
" + + "If the input would benefit from remembering previous values," + + " you might want to consider using a ComboBox it it's " + + " 'suggesting mode' instead."; } @Override @@ -26,7 +29,9 @@ public class TextFieldSingle extends Feature { @Override public Class[] getRelatedFeatures() { - return new Class[] { FeatureSet.Texts.class }; + // TODO update CB -ref to 'suggest' pattern, when available + return new Class[] { TextFieldSecret.class, ComboBoxNewItems.class, + FeatureSet.Texts.class }; } @Override diff --git a/src/com/itmill/toolkit/demo/sampler/features/text/TextFieldSingleExample.java b/src/com/itmill/toolkit/demo/sampler/features/text/TextFieldSingleExample.java index a8f01c9870..2639becc29 100644 --- a/src/com/itmill/toolkit/demo/sampler/features/text/TextFieldSingleExample.java +++ b/src/com/itmill/toolkit/demo/sampler/features/text/TextFieldSingleExample.java @@ -16,7 +16,6 @@ public class TextFieldSingleExample extends VerticalLayout implements editor.addListener(this); editor.setImmediate(true); // editor.setColumns(5); // guarantees that at least 5 chars fit - // editor.setSecret(true); // e.g. for passwords addComponent(editor); }