summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJani Laakso <jani.laakso@itmill.com>2007-04-04 08:02:52 +0000
committerJani Laakso <jani.laakso@itmill.com>2007-04-04 08:02:52 +0000
commit64c59d42f0b62df138691f54c4df1233456fe0a6 (patch)
treec28e1334fc37be8ce9c4d8b9ea769cd2ee6269b1
parent85113b6bfda0afcbb136fb192dd9ea65e78346bf (diff)
downloadvaadin-framework-64c59d42f0b62df138691f54c4df1233456fe0a6.tar.gz
vaadin-framework-64c59d42f0b62df138691f54c4df1233456fe0a6.zip
Better naming of classes.
svn changeset:1125/svn branch:trunk
-rw-r--r--src/com/itmill/toolkit/demo/KeyboardShortcut.java130
-rw-r--r--src/com/itmill/toolkit/demo/UpgradingSample.java143
2 files changed, 273 insertions, 0 deletions
diff --git a/src/com/itmill/toolkit/demo/KeyboardShortcut.java b/src/com/itmill/toolkit/demo/KeyboardShortcut.java
new file mode 100644
index 0000000000..4584ec6597
--- /dev/null
+++ b/src/com/itmill/toolkit/demo/KeyboardShortcut.java
@@ -0,0 +1,130 @@
+package com.itmill.toolkit.demo;
+
+import com.itmill.toolkit.event.Action;
+import com.itmill.toolkit.event.ShortcutAction;
+import com.itmill.toolkit.event.Action.Handler;
+import com.itmill.toolkit.ui.*;
+
+public class KeyboardShortcut extends com.itmill.toolkit.Application implements Handler {
+ Window main;
+
+ Button a;
+
+ Button b;
+
+ Button c;
+
+ Button close;
+
+ Button d;
+
+ private AbstractField f;
+
+ public void init() {
+
+ /*
+ * - Create new window for the application - Give the window a visible
+ * title - Set the window to be the main window of the application
+ */
+ main = new Window("Hello window");
+ setMainWindow(main);
+
+ // set the application to use Corporate -theme
+ setTheme("corporate");
+
+ /*
+ * - Create a label with the classic text - Add the label to the main
+ * window
+ */
+ main
+ .addComponent(new Label(
+ "This is a test program for shortcut actions<br />"
+ + "<b>Note:</b> if events do not work, <b>set focus to Textfield first!</b>",
+ Label.CONTENT_XHTML));
+ main
+ .addComponent(new Label(
+ "ESC restarts program, alt-A hits A button, ctrl-B hits B button, ctrl-shift-C hits C"));
+
+ // Restart button
+ close = new Button("restart", this, "close");
+ close.addActionHandler(this);
+ main.addComponent(close);
+
+ a = new Button("Button A", this, "buttonAHandler");
+ a.addActionHandler(this);
+
+ b = new Button("Button B", this, "buttonBHandler");
+ b.addActionHandler(this);
+
+ c = new Button("Button C", this, "buttonCHandler");
+ c.addActionHandler(this);
+
+ f = new TextField("Textfield");
+
+ main.addComponent(a);
+ main.addComponent(b);
+ main.addComponent(c);
+ main.addComponent(f);
+
+ d = new Button("Click to focus button B", this, "setFocusB");
+ main.addComponent(d);
+ d = new Button("Click to focus Textfield", this, "setFocusF");
+ main.addComponent(d);
+ f.focus();
+ }
+
+ public void setFocusB() {
+ b.focus();
+ }
+
+ public void setFocusF() {
+ f.focus();
+ }
+
+ public Action[] getActions(Object target, Object sender) {
+ Action[] actions = new Action[1];
+ if (sender == b) {
+ actions[0] = (Action) (new ShortcutAction("Button b action",
+ ShortcutAction.KeyCode.B,
+ new int[] { ShortcutAction.ModifierKey.CTRL }));
+
+ } else if (sender == c) {
+ actions[0] = (Action) new ShortcutAction("Button c action",
+ ShortcutAction.KeyCode.C, new int[] {
+ ShortcutAction.ModifierKey.CTRL,
+ ShortcutAction.ModifierKey.SHIFT });
+ } else if (sender == a) {
+ actions[0] = (Action) new ShortcutAction("Button a action",
+ ShortcutAction.KeyCode.A,
+ new int[] { ShortcutAction.ModifierKey.ALT });
+ } else {
+ // restart button
+ actions[0] = new ShortcutAction("Restart ",
+ ShortcutAction.KeyCode.ESCAPE, null);
+ }
+ return actions;
+ }
+
+ public void handleAction(Action action, Object sender, Object target) {
+ if (target == a)
+ this.buttonAHandler();
+ if (target == b)
+ this.buttonBHandler();
+ if (target == c)
+ this.buttonCHandler();
+ if (target == close)
+ this.close();
+ }
+
+ public void buttonAHandler() {
+ main.addComponent(new Label("Button A handler fired"));
+ }
+
+ public void buttonBHandler() {
+ main.addComponent(new Label("Button B handler fired"));
+ }
+
+ public void buttonCHandler() {
+ main.addComponent(new Label("Button C handler fired"));
+ }
+}
diff --git a/src/com/itmill/toolkit/demo/UpgradingSample.java b/src/com/itmill/toolkit/demo/UpgradingSample.java
new file mode 100644
index 0000000000..820c7d3838
--- /dev/null
+++ b/src/com/itmill/toolkit/demo/UpgradingSample.java
@@ -0,0 +1,143 @@
+package com.itmill.toolkit.demo;
+
+import com.itmill.toolkit.Application;
+import com.itmill.toolkit.data.Property;
+import com.itmill.toolkit.ui.*;
+
+/**
+ * <p>
+ * Example application demonstrating simple user login. This example is from
+ * MillStone 3.1.1 examples section. Upgrading from 3.1.1 to 4.0.0 was done by
+ * updating imports, also setTheme("corporate") call was added to application
+ * init method.
+ * </p>
+ *
+ * @since 3.1.1
+ * @author IT Mill Ltd.
+ */
+public class UpgradingSample extends Application implements Property.ValueChangeListener {
+
+ /* Menu for navigating inside the application. */
+ private Tree menu = new Tree();
+
+ /* Contents of the website */
+ private String[][] pages = { { "Welcome", "Welcome to our website..." },
+ { "Products", "Public product information." },
+ { "Contact", "Public contact information." },
+ { "CRM", "CRM Database requiring login." },
+ { "Intranet", "Internal information database." } };
+
+ /* Application layout */
+ private GridLayout layout = new GridLayout(2, 1);
+
+ /* Initialize the application */
+ public void init() {
+
+ // set the application to use Corporate -theme
+ setTheme("corporate");
+
+ // Create the main window of the application
+ Window main = new Window("Login example", layout);
+ setMainWindow(main);
+
+ // Add menu and loginbox to the application
+ OrderedLayout l = new OrderedLayout();
+ layout.addComponent(l, 0, 0);
+ l.addComponent(menu);
+ l.addComponent(new LoginBox());
+
+ // Setup menu
+ menu.setStyle("menu");
+ menu.addListener(this);
+ menu.setImmediate(true);
+ addToMenu(new String[] { "Welcome", "Products", "Contact" });
+ }
+
+ // Overriding usetUser method is a simple way of updating application
+ // privileges when the user is changed
+ public void setUser(Object user) {
+ super.setUser(user);
+ if (user != null)
+ addToMenu(new String[] { "CRM", "Intranet" });
+ }
+
+ public void addToMenu(String[] items) {
+ for (int i = 0; i < items.length; i++) {
+ menu.addItem(items[i]);
+ menu.setChildrenAllowed(items[i], false);
+ }
+ if (menu.getValue() == null)
+ menu.setValue(items[0]);
+ }
+
+ // Handle menu selection and update visible page
+ public void valueChange(Property.ValueChangeEvent event) {
+ layout.removeComponent(1, 0);
+ String title = (String) menu.getValue();
+ for (int i = 0; i < pages.length; i++)
+ if (pages[i][0].equals(title)) {
+ Panel p = new Panel(pages[i][0]);
+ p.addComponent(new Label(pages[i][1]));
+ p.setStyle("strong");
+ layout.addComponent(p, 1, 0);
+ }
+ }
+
+ // Simple loginbox component for the application
+ public class LoginBox extends CustomComponent implements
+ Application.UserChangeListener {
+
+ // The components this loginbox is composed of
+ private TextField loginName = new TextField("Name");
+
+ private Button loginButton = new Button("Enter", this, "login");
+
+ private Panel loginPanel = new Panel("Login");
+
+ private Panel statusPanel = new Panel();
+
+ private Button logoutButton = new Button("Logout", UpgradingSample.this, "close");
+
+ private Label statusLabel = new Label();
+
+ // Initialize login component
+ public LoginBox() {
+
+ // Initialize the component
+ loginPanel.addComponent(loginName);
+ loginPanel.addComponent(loginButton);
+ loginPanel.setStyle("strong");
+ loginName.setColumns(8);
+ statusPanel.addComponent(statusLabel);
+ statusPanel.addComponent(logoutButton);
+
+ // Set the status of the loginbox and show correct components
+ updateStatus();
+
+ // Listen application user change events
+ UpgradingSample.this.addListener(this);
+ }
+
+ // Login into application
+ public void login() {
+ String name = (String) loginName.getValue();
+ if (name != null && name.length() > 0)
+ setUser(name);
+ loginName.setValue("");
+ }
+
+ // Update login status on application user change events
+ public void applicationUserChanged(Application.UserChangeEvent event) {
+ updateStatus();
+ }
+
+ // Update login status of the component by exposing correct components
+ private void updateStatus() {
+ statusLabel.setValue("User: " + getUser());
+ if (getUser() != null)
+ setCompositionRoot(statusPanel);
+ else
+ setCompositionRoot(loginPanel);
+ }
+ }
+}