aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMarc Englund <marc.englund@itmill.com>2007-12-04 07:23:37 +0000
committerMarc Englund <marc.englund@itmill.com>2007-12-04 07:23:37 +0000
commit69b68fc5c336f6457390b6bff8eb303c27c7919f (patch)
tree2497ce454e2f2d376d2077a9a78e22c17768e6b6 /src
parent362efe6fdf7c3a627e3bb7e63c33d21228619e6c (diff)
downloadvaadin-framework-69b68fc5c336f6457390b6bff8eb303c27c7919f.tar.gz
vaadin-framework-69b68fc5c336f6457390b6bff8eb303c27c7919f.zip
Status labels -> Notifications.
Etc, etc. svn changeset:3132/svn branch:trunk
Diffstat (limited to 'src')
-rw-r--r--src/com/itmill/toolkit/demo/featurebrowser/ButtonExample.java23
-rw-r--r--src/com/itmill/toolkit/demo/featurebrowser/EmbeddedBrowserExample.java2
-rw-r--r--src/com/itmill/toolkit/demo/featurebrowser/FeatureBrowser.java131
-rw-r--r--src/com/itmill/toolkit/demo/featurebrowser/SelectExample.java45
-rw-r--r--src/com/itmill/toolkit/demo/featurebrowser/ValueInputExample.java43
-rw-r--r--src/com/itmill/toolkit/demo/featurebrowser/WindowingExample.java6
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 = "&lt;icon&gt;";
- }
- 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");