From: Jani Laakso Date: Wed, 4 Apr 2007 08:02:52 +0000 (+0000) Subject: Better naming of classes. X-Git-Tag: 6.7.0.beta1~6476 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=64c59d42f0b62df138691f54c4df1233456fe0a6;p=vaadin-framework.git Better naming of classes. svn changeset:1125/svn branch:trunk --- 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
" + + "Note: if events do not work, set focus to Textfield first!", + 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.*; + +/** + *

+ * 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. + *

+ * + * @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); + } + } +}