diff options
author | Marc Englund <marc.englund@itmill.com> | 2007-12-04 07:23:37 +0000 |
---|---|---|
committer | Marc Englund <marc.englund@itmill.com> | 2007-12-04 07:23:37 +0000 |
commit | 69b68fc5c336f6457390b6bff8eb303c27c7919f (patch) | |
tree | 2497ce454e2f2d376d2077a9a78e22c17768e6b6 /src | |
parent | 362efe6fdf7c3a627e3bb7e63c33d21228619e6c (diff) | |
download | vaadin-framework-69b68fc5c336f6457390b6bff8eb303c27c7919f.tar.gz vaadin-framework-69b68fc5c336f6457390b6bff8eb303c27c7919f.zip |
Status labels -> Notifications.
Etc, etc.
svn changeset:3132/svn branch:trunk
Diffstat (limited to 'src')
6 files changed, 134 insertions, 116 deletions
diff --git a/src/com/itmill/toolkit/demo/featurebrowser/ButtonExample.java b/src/com/itmill/toolkit/demo/featurebrowser/ButtonExample.java index 2fdcb135ca..b4406da7b4 100644 --- a/src/com/itmill/toolkit/demo/featurebrowser/ButtonExample.java +++ b/src/com/itmill/toolkit/demo/featurebrowser/ButtonExample.java @@ -19,8 +19,6 @@ import com.itmill.toolkit.ui.Button.ClickEvent; public class ButtonExample extends CustomComponent implements
Button.ClickListener {
- Panel status;
-
public ButtonExample() {
OrderedLayout main = new OrderedLayout();
@@ -33,12 +31,10 @@ public class ButtonExample extends CustomComponent implements Panel basic = new Panel("Basic buttons");
basic.setStyleName(Panel.STYLE_LIGHT);
horiz.addComponent(basic);
- Panel bells = new Panel("+ bells & whistles");
+
+ Panel bells = new Panel("w/ bells & whistles");
bells.setStyleName(Panel.STYLE_LIGHT);
horiz.addComponent(bells);
- status = new Panel("Clicked");
- status.setStyleName(Panel.STYLE_LIGHT);
- horiz.addComponent(status);
Button b = new Button("Basic button");
b.addListener(this);
@@ -127,16 +123,11 @@ public class ButtonExample extends CustomComponent implements }
public void buttonClick(ClickEvent event) {
- Button clicked = event.getButton();
- String caption = clicked.getCaption();
- if (caption == null) {
- caption = "<icon>";
- }
- status.removeAllComponents();
- Label l = new Label("Clicked: " + caption + "<br/>" + "Value: "
- + clicked.getValue());
- l.setContentMode(Label.CONTENT_XHTML);
- status.addComponent(l);
+ Button b = event.getButton();
+ getWindow().showNotification(
+ "Clicked"
+ + (b instanceof CheckBox ? ", value: "
+ + event.getButton().getValue() : ""));
}
diff --git a/src/com/itmill/toolkit/demo/featurebrowser/EmbeddedBrowserExample.java b/src/com/itmill/toolkit/demo/featurebrowser/EmbeddedBrowserExample.java index 7bebaf38c3..5ff1a9d79e 100644 --- a/src/com/itmill/toolkit/demo/featurebrowser/EmbeddedBrowserExample.java +++ b/src/com/itmill/toolkit/demo/featurebrowser/EmbeddedBrowserExample.java @@ -24,7 +24,7 @@ public class EmbeddedBrowserExample extends ExpandLayout implements public EmbeddedBrowserExample() { this(new String[] { DEFAULT_URL, - "http:// www.itmill.com/index_developers.htm", + "http://www.itmill.com/index_developers.htm", "http://toolkit.itmill.com/demo/doc/api/", "http://www.itmill.com/manual/index.html" }); } diff --git a/src/com/itmill/toolkit/demo/featurebrowser/FeatureBrowser.java b/src/com/itmill/toolkit/demo/featurebrowser/FeatureBrowser.java index 3b27ebc70b..5999f94459 100644 --- a/src/com/itmill/toolkit/demo/featurebrowser/FeatureBrowser.java +++ b/src/com/itmill/toolkit/demo/featurebrowser/FeatureBrowser.java @@ -33,18 +33,22 @@ import com.itmill.toolkit.ui.Button.ClickEvent; public class FeatureBrowser extends com.itmill.toolkit.Application implements Select.ValueChangeListener { + // Property IDs private static final Object PROPERTY_ID_CATEGORY = "Category"; private static final Object PROPERTY_ID_NAME = "Name"; private static final Object PROPERTY_ID_DESC = "Description"; private static final Object PROPERTY_ID_CLASS = "Class"; private static final Object PROPERTY_ID_VIEWED = "Viewed"; + // Global components private Tree tree; private Table table; private TabSheet ts; - private HashMap components = new HashMap(); + // Example "cache" + private HashMap exampleInstances = new HashMap(); + // List of examples private static final Object[][] demos = new Object[][] { // Category, Name, Desc, Class, Viewed // Getting started: Labels @@ -52,7 +56,7 @@ public class FeatureBrowser extends com.itmill.toolkit.Application implements LabelExample.class }, // Getting started: Buttons { "Getting started", "Buttons and links", - "Some variations of Buttons and Links", ButtonExample.class }, + "Various Buttons and Links", ButtonExample.class }, // Getting started: Fields { "Getting started", "Basic value input", "TextFields, DateFields, and such", ValueInputExample.class }, @@ -67,19 +71,20 @@ public class FeatureBrowser extends com.itmill.toolkit.Application implements ComboBoxExample.class }, // Wrangling data: Table { "Wrangling data", "Table", - "A dynamic Table with bells and whistles", Button.class }, + "A dynamic Table with bells, whistles and actions", + Button.class }, // Wrangling data: Tree - { "Wrangling data", "Tree", "Some variations of Buttons and Links", + { "Wrangling data", "Tree", "A hierarchy of things", TreeExample.class }, // Misc: Notifications { "Misc", "Notifications", "Notifications can improve usability", NotificationExample.class }, // Misc: Caching - { "Misc", "Client caching", "A simple demo of client-side caching", + { "Misc", "Client caching", "Demonstrating of client-side caching", ClientCachingExample.class }, // Misc: Embedded { "Misc", "Embedding", - "You can embed resources - another site in this case", + "Embedding resources - another site in this case", EmbeddedBrowserExample.class }, // Windowing { "Misc", "Windowing", "About windowing", WindowingExample.class }, @@ -164,62 +169,62 @@ public class FeatureBrowser extends com.itmill.toolkit.Application implements ExpandLayout exp = new ExpandLayout(); exp.setMargin(true); split2.addComponent(exp); + OrderedLayout wbLayout = new OrderedLayout( OrderedLayout.ORIENTATION_HORIZONTAL); - - wbLayout.addComponent(new Button("Open in popup window", - new Button.ClickListener() { - public void buttonClick(ClickEvent event) { - Component component = (Component) ts - .getComponentIterator().next(); - String caption = ts.getTabCaption(component); - try { - component = (Component) component.getClass() - .newInstance(); - } catch (Exception e) { - // Could not create - return; - } - Window w = new Window(caption); - if (Layout.class.isAssignableFrom(component.getClass())) { - w.setLayout((Layout) component); - } else { - w.getLayout().setSizeFull(); - w.addComponent(component); - } - getMainWindow().addWindow(w); + Button b = new Button("Open in sub-window", new Button.ClickListener() { + public void buttonClick(ClickEvent event) { + Component component = (Component) ts.getComponentIterator() + .next(); + String caption = ts.getTabCaption(component); + try { + component = (Component) component.getClass().newInstance(); + } catch (Exception e) { + // Could not create + return; + } + Window w = new Window(caption); + w.setWidth(640); + if (Layout.class.isAssignableFrom(component.getClass())) { + w.setLayout((Layout) component); + } else { + w.getLayout().setSizeFull(); + w.addComponent(component); + } + getMainWindow().addWindow(w); + } + }); + b.setStyleName(Button.STYLE_LINK); + wbLayout.addComponent(b); + b = new Button("Open in native window", new Button.ClickListener() { + public void buttonClick(ClickEvent event) { + Component component = (Component) ts.getComponentIterator() + .next(); + String caption = ts.getTabCaption(component); + Window w = getWindow(caption); + if (w == null) { + try { + component = (Component) component.getClass() + .newInstance(); + } catch (Exception e) { + // Could not create + return; } - })); - wbLayout.addComponent(new Button("Open in native window", - new Button.ClickListener() { - public void buttonClick(ClickEvent event) { - Component component = (Component) ts - .getComponentIterator().next(); - String caption = ts.getTabCaption(component); - Window w = getWindow(caption); - if (w == null) { - try { - component = (Component) component.getClass() - .newInstance(); - } catch (Exception e) { - // Could not create - return; - } - w = new Window(caption); - w.setName(caption); - if (Layout.class.isAssignableFrom(component - .getClass())) { - w.setLayout((Layout) component); - } else { - w.getLayout().setSizeFull(); - w.addComponent(component); - } - addWindow(w); - } - getMainWindow().open(new ExternalResource(w.getURL()), - caption); + w = new Window(caption); + w.setName(caption); + if (Layout.class.isAssignableFrom(component.getClass())) { + w.setLayout((Layout) component); + } else { + w.getLayout().setSizeFull(); + w.addComponent(component); } - })); + addWindow(w); + } + getMainWindow().open(new ExternalResource(w.getURL()), caption); + } + }); + b.setStyleName(Button.STYLE_LINK); + wbLayout.addComponent(b); exp.addComponent(wbLayout); exp.setComponentAlignment(wbLayout, ExpandLayout.ALIGNMENT_RIGHT, @@ -227,9 +232,7 @@ public class FeatureBrowser extends com.itmill.toolkit.Application implements ts = new TabSheet(); ts.setSizeFull(); - ts.addTab(new Label( - "Choose demo (Only Notification and CliensSideCaching yet"), - "Demo", null); + ts.addTab(new Label(""), "Choose example", null); exp.addComponent(ts); exp.expand(ts); @@ -323,15 +326,15 @@ public class FeatureBrowser extends com.itmill.toolkit.Application implements } private Component getComponent(Class componentClass) { - if (!components.containsKey(componentClass)) { + if (!exampleInstances.containsKey(componentClass)) { try { Component c = (Component) componentClass.newInstance(); - components.put(componentClass, c); + exampleInstances.put(componentClass, c); } catch (Exception e) { return null; } } - return (Component) components.get(componentClass); + return (Component) exampleInstances.get(componentClass); } } diff --git a/src/com/itmill/toolkit/demo/featurebrowser/SelectExample.java b/src/com/itmill/toolkit/demo/featurebrowser/SelectExample.java index 4ad91a9a28..46baf23fd7 100644 --- a/src/com/itmill/toolkit/demo/featurebrowser/SelectExample.java +++ b/src/com/itmill/toolkit/demo/featurebrowser/SelectExample.java @@ -1,9 +1,10 @@ package com.itmill.toolkit.demo.featurebrowser;
+import com.itmill.toolkit.data.Property.ValueChangeEvent;
import com.itmill.toolkit.ui.AbstractSelect;
import com.itmill.toolkit.ui.ComboBox;
import com.itmill.toolkit.ui.CustomComponent;
-import com.itmill.toolkit.ui.Label;
+import com.itmill.toolkit.ui.Field;
import com.itmill.toolkit.ui.ListSelect;
import com.itmill.toolkit.ui.NativeSelect;
import com.itmill.toolkit.ui.OptionGroup;
@@ -18,8 +19,12 @@ import com.itmill.toolkit.ui.TwinColSelect; */
public class SelectExample extends CustomComponent {
- // used to show the last entered value in the textfields
- Label selectedValue;
+ // listener that shows a value change notification
+ private Field.ValueChangeListener listener = new Field.ValueChangeListener() {
+ public void valueChange(ValueChangeEvent event) {
+ getWindow().showNotification("" + event.getProperty().getValue());
+ }
+ };
public SelectExample() {
OrderedLayout main = new OrderedLayout();
@@ -35,45 +40,57 @@ public class SelectExample extends CustomComponent { Panel multi = new Panel("Multi selects");
multi.setStyleName(Panel.STYLE_LIGHT);
horiz.addComponent(multi);
- // "last selected" -label
- selectedValue = new Label();
+ // radio button group
AbstractSelect sel = new OptionGroup("OptionGroup");
initSelect(sel);
single.addComponent(sel);
-
+ // checkbox group
sel = new OptionGroup("OptionGroup");
- sel.setMultiSelect(true);
+ sel.setMultiSelect(true); // TODO: throws if set after listener - why?
initSelect(sel);
multi.addComponent(sel);
-
+ // single-select list
sel = new ListSelect("ListSelect");
+ ((ListSelect) sel).setColumns(15);
initSelect(sel);
single.addComponent(sel);
-
+ // multi-select list
sel = new ListSelect("ListSelect");
+ ((ListSelect) sel).setColumns(15);
sel.setMultiSelect(true);
initSelect(sel);
multi.addComponent(sel);
-
+ // native-style dropdows
sel = new NativeSelect("NativeSelect");
+ ((NativeSelect) sel).setColumns(15);
initSelect(sel);
single.addComponent(sel);
-
+ // combobox
sel = new ComboBox("ComboBox");
+ ((ComboBox) sel).setColumns(15);
initSelect(sel);
single.addComponent(sel);
-
+ // "twin column" select
sel = new TwinColSelect("TwinColSelect");
+ ((TwinColSelect) sel).setColumns(15);
initSelect(sel);
multi.addComponent(sel);
}
- private static void initSelect(AbstractSelect sel) {
+ /*
+ * Initialize select with some values, make immediate and add listener.
+ */
+ private void initSelect(AbstractSelect sel) {
for (int i = 1; i <= 5; i++) {
sel.addItem("Item " + i);
}
- sel.setValue(null);
+ // select one item
+ sel.select("Item 1");
+
+ // make immediate, add listener
+ sel.setImmediate(true);
+ sel.addListener(listener);
}
}
diff --git a/src/com/itmill/toolkit/demo/featurebrowser/ValueInputExample.java b/src/com/itmill/toolkit/demo/featurebrowser/ValueInputExample.java index e0c21dd778..cc07d4c0d5 100644 --- a/src/com/itmill/toolkit/demo/featurebrowser/ValueInputExample.java +++ b/src/com/itmill/toolkit/demo/featurebrowser/ValueInputExample.java @@ -5,11 +5,11 @@ import com.itmill.toolkit.ui.CustomComponent; import com.itmill.toolkit.ui.DateField;
import com.itmill.toolkit.ui.Field;
import com.itmill.toolkit.ui.InlineDateField;
-import com.itmill.toolkit.ui.Label;
import com.itmill.toolkit.ui.OrderedLayout;
import com.itmill.toolkit.ui.Panel;
import com.itmill.toolkit.ui.Slider;
import com.itmill.toolkit.ui.TextField;
+import com.itmill.toolkit.ui.Window.Notification;
/**
* Shows some basic fields for value input; TextField, DateField, Slider...
@@ -18,14 +18,20 @@ import com.itmill.toolkit.ui.TextField; */
public class ValueInputExample extends CustomComponent {
- // used to show the last entered value in the textfields
- Label textfieldValue;
-
public ValueInputExample() {
OrderedLayout main = new OrderedLayout();
main.setMargin(true);
setCompositionRoot(main);
+ // listener that shows a value change notification
+ Field.ValueChangeListener listener = new Field.ValueChangeListener() {
+ public void valueChange(ValueChangeEvent event) {
+ getWindow().showNotification("Received",
+ "<pre>" + event.getProperty().getValue() + "</pre>",
+ Notification.TYPE_WARNING_MESSAGE);
+ }
+ };
+
// TextField
OrderedLayout horiz = new OrderedLayout(
OrderedLayout.ORIENTATION_HORIZONTAL);
@@ -33,19 +39,9 @@ public class ValueInputExample extends CustomComponent { Panel left = new Panel("TextField");
left.setStyleName(Panel.STYLE_LIGHT);
horiz.addComponent(left);
- Panel right = new Panel("Last input");
+ Panel right = new Panel("multiline");
right.setStyleName(Panel.STYLE_LIGHT);
horiz.addComponent(right);
- // "last entered" -label
- textfieldValue = new Label();
- textfieldValue.setContentMode(Label.CONTENT_PREFORMATTED);
- right.addComponent(textfieldValue);
- // listener that will update the last entered value for the TextFields
- Field.ValueChangeListener listener = new Field.ValueChangeListener() {
- public void valueChange(ValueChangeEvent event) {
- textfieldValue.setValue(event.getProperty().getValue());
- }
- };
// basic TextField
TextField tf = new TextField("Basic");
tf.setColumns(15);
@@ -58,7 +54,7 @@ public class ValueInputExample extends CustomComponent { tf.setRows(5);
tf.setImmediate(true);
tf.addListener(listener);
- left.addComponent(tf);
+ right.addComponent(tf);
// DateFields
horiz = new OrderedLayout(OrderedLayout.ORIENTATION_HORIZONTAL);
@@ -66,26 +62,37 @@ public class ValueInputExample extends CustomComponent { left = new Panel("DateField");
left.setStyleName(Panel.STYLE_LIGHT);
horiz.addComponent(left);
- right = new Panel("Inline ");
+ right = new Panel("inline");
right.setStyleName(Panel.STYLE_LIGHT);
horiz.addComponent(right);
// default
- DateField df = new DateField("Default (day) resolution");
+ DateField df = new DateField("Day resolution");
+ df.addListener(listener);
+ df.setImmediate(true);
+ df.setResolution(DateField.RESOLUTION_DAY);
left.addComponent(df);
// minute
df = new DateField("Minute resolution");
+ df.addListener(listener);
+ df.setImmediate(true);
df.setResolution(DateField.RESOLUTION_MIN);
left.addComponent(df);
// year
df = new DateField("Year resolution");
+ df.addListener(listener);
+ df.setImmediate(true);
df.setResolution(DateField.RESOLUTION_YEAR);
left.addComponent(df);
// msec
df = new DateField("Millisecond resolution");
+ df.addListener(listener);
+ df.setImmediate(true);
df.setResolution(DateField.RESOLUTION_MSEC);
left.addComponent(df);
// Inline
df = new InlineDateField();
+ df.addListener(listener);
+ df.setImmediate(true);
right.addComponent(df);
// Slider
diff --git a/src/com/itmill/toolkit/demo/featurebrowser/WindowingExample.java b/src/com/itmill/toolkit/demo/featurebrowser/WindowingExample.java index c7ab103ad4..8ae6021db1 100644 --- a/src/com/itmill/toolkit/demo/featurebrowser/WindowingExample.java +++ b/src/com/itmill/toolkit/demo/featurebrowser/WindowingExample.java @@ -88,9 +88,9 @@ public class WindowingExample extends CustomComponent { public void buttonClick(ClickEvent event) {
Window w = new Window("Subwindow");
getApplication().addWindow(w);
- Label l = new Label(w.getName());
- l
- .setCaption("Each opened window has a separate value:");
+ Label l = new Label("Each opened window has its own"
+ + " name, and is accessed trough its own uri.");
+ l.setCaption("Window " + w.getName());
w.addComponent(l);
getApplication().getMainWindow().open(
new ExternalResource(w.getURL()), "_new");
|