]> source.dussan.org Git - vaadin-framework.git/commitdiff
Renamed manual related testbench. More changes.
authorMarko Grönroos <magi@iki.fi>
Thu, 29 May 2008 13:29:56 +0000 (13:29 +0000)
committerMarko Grönroos <magi@iki.fi>
Thu, 29 May 2008 13:29:56 +0000 (13:29 +0000)
svn changeset:4698/svn branch:trunk

25 files changed:
WebContent/WEB-INF/web.xml
src/com/itmill/toolkit/tests/book/BookTestApplication.java [new file with mode: 0644]
src/com/itmill/toolkit/tests/book/MagiTestApplication.java [deleted file]
src/com/itmill/toolkit/tests/book/images/Earth_small.png [new file with mode: 0644]
src/com/itmill/toolkit/tests/book/images/Earth_symbol.png [new file with mode: 0644]
src/com/itmill/toolkit/tests/book/images/Jupiter_symbol.png [new file with mode: 0644]
src/com/itmill/toolkit/tests/book/images/Mars_symbol.png [new file with mode: 0644]
src/com/itmill/toolkit/tests/book/images/Mercury_small.png [new file with mode: 0644]
src/com/itmill/toolkit/tests/book/images/Mercury_symbol.png [new file with mode: 0644]
src/com/itmill/toolkit/tests/book/images/Neptune_symbol.png [new file with mode: 0644]
src/com/itmill/toolkit/tests/book/images/Saturn_symbol.png [new file with mode: 0644]
src/com/itmill/toolkit/tests/book/images/Uranus_symbol.png [new file with mode: 0644]
src/com/itmill/toolkit/tests/book/images/Venus_small.png [new file with mode: 0644]
src/com/itmill/toolkit/tests/book/images/Venus_symbol.png [new file with mode: 0644]
src/com/itmill/toolkit/tests/magi/images/Earth_small.png [deleted file]
src/com/itmill/toolkit/tests/magi/images/Earth_symbol.png [deleted file]
src/com/itmill/toolkit/tests/magi/images/Jupiter_symbol.png [deleted file]
src/com/itmill/toolkit/tests/magi/images/Mars_symbol.png [deleted file]
src/com/itmill/toolkit/tests/magi/images/Mercury_small.png [deleted file]
src/com/itmill/toolkit/tests/magi/images/Mercury_symbol.png [deleted file]
src/com/itmill/toolkit/tests/magi/images/Neptune_symbol.png [deleted file]
src/com/itmill/toolkit/tests/magi/images/Saturn_symbol.png [deleted file]
src/com/itmill/toolkit/tests/magi/images/Uranus_symbol.png [deleted file]
src/com/itmill/toolkit/tests/magi/images/Venus_small.png [deleted file]
src/com/itmill/toolkit/tests/magi/images/Venus_symbol.png [deleted file]

index c3f91277d02267e252dc2bc08a32f32ed381a84b..29e540c13a4754d94e51bf2c401bacc3ff6d1724 100644 (file)
   </servlet>\r
 
   <servlet>
-    <servlet-name>MagiTestServlet</servlet-name>
+    <servlet-name>BookTestServlet</servlet-name>
     <servlet-class>com.itmill.toolkit.terminal.gwt.server.ApplicationServlet</servlet-class>
     <init-param>
       <param-name>application</param-name>
-      <param-value>com.itmill.toolkit.tests.magi.MagiTestApplication</param-value>
+      <param-value>com.itmill.toolkit.tests.book.BookTestApplication</param-value>
     </init-param>
   </servlet>
 
     <servlet-class>com.itmill.toolkit.terminal.gwt.server.ApplicationServlet</servlet-class>
     <init-param>
       <param-name>application</param-name>
-      <param-value>com.itmill.toolkit.tests.magi.WindowTestApplication</param-value>
+      <param-value>com.itmill.toolkit.tests.book.WindowTestApplication</param-value>
     </init-param>
   </servlet>
 
     <servlet-class>com.itmill.toolkit.terminal.gwt.server.ApplicationServlet</servlet-class>
     <init-param>
       <param-name>application</param-name>
-      <param-value>com.itmill.toolkit.tests.magi.ChatApplication</param-value>
+      <param-value>com.itmill.toolkit.tests.book.ChatApplication</param-value>
     </init-param>
   </servlet>
 
   </servlet-mapping>\r
 
   <servlet-mapping>
-    <servlet-name>MagiTestServlet</servlet-name>
-    <url-pattern>/testbench2/*</url-pattern>
+    <servlet-name>BookTestServlet</servlet-name>
+    <url-pattern>/book/*</url-pattern>
   </servlet-mapping>
 \r
   <servlet-mapping>
diff --git a/src/com/itmill/toolkit/tests/book/BookTestApplication.java b/src/com/itmill/toolkit/tests/book/BookTestApplication.java
new file mode 100644 (file)
index 0000000..9e024b2
--- /dev/null
@@ -0,0 +1,1179 @@
+/* 
+@ITMillApache2LicenseForJavaFiles@
+ */
+
+package com.itmill.toolkit.tests.book;
+
+import java.net.URL;
+import java.util.Iterator;
+import java.util.Locale;
+import java.util.Set;
+
+import com.itmill.toolkit.data.Validator;
+import com.itmill.toolkit.data.Property.ValueChangeEvent;
+import com.itmill.toolkit.data.Property.ValueChangeListener;
+import com.itmill.toolkit.data.validator.StringLengthValidator;
+import com.itmill.toolkit.terminal.ClassResource;
+import com.itmill.toolkit.terminal.DownloadStream;
+import com.itmill.toolkit.terminal.ExternalResource;
+import com.itmill.toolkit.terminal.Sizeable;
+import com.itmill.toolkit.terminal.StreamResource;
+import com.itmill.toolkit.terminal.UserError;
+import com.itmill.toolkit.terminal.gwt.server.WebApplicationContext;
+import com.itmill.toolkit.ui.AbstractSelect;
+import com.itmill.toolkit.ui.Button;
+import com.itmill.toolkit.ui.CheckBox;
+import com.itmill.toolkit.ui.Component;
+import com.itmill.toolkit.ui.CustomLayout;
+import com.itmill.toolkit.ui.DateField;
+import com.itmill.toolkit.ui.Embedded;
+import com.itmill.toolkit.ui.ExpandLayout;
+import com.itmill.toolkit.ui.FormLayout;
+import com.itmill.toolkit.ui.GridLayout;
+import com.itmill.toolkit.ui.InlineDateField;
+import com.itmill.toolkit.ui.Label;
+import com.itmill.toolkit.ui.Link;
+import com.itmill.toolkit.ui.NativeSelect;
+import com.itmill.toolkit.ui.OrderedLayout;
+import com.itmill.toolkit.ui.Panel;
+import com.itmill.toolkit.ui.PopupDateField;
+import com.itmill.toolkit.ui.ProgressIndicator;
+import com.itmill.toolkit.ui.Select;
+import com.itmill.toolkit.ui.TabSheet;
+import com.itmill.toolkit.ui.Table;
+import com.itmill.toolkit.ui.TextField;
+import com.itmill.toolkit.ui.Tree;
+import com.itmill.toolkit.ui.Window;
+import com.itmill.toolkit.ui.Button.ClickEvent;
+
+public class BookTestApplication extends com.itmill.toolkit.Application {
+    Window main = new Window("Application window");
+
+    TheButton butts1;
+    TheButtons butts2;
+    TheButtons2 butts3;
+
+    Label mylabel1;
+    Label mylabel2;
+    Label mylabel3;
+
+    StreamResource strres;
+    OrderedLayout ol;
+    int getwincount = 0;
+
+    public void init() {
+        setTheme("tests-magi");
+        
+        setMainWindow(main);
+    }
+
+    public DownloadStream handleURI(URL context, String relativeUri) {
+        // Let default implementation handle requests for
+        // application resources.
+        if (relativeUri.startsWith("APP"))
+            return super.handleURI(context, relativeUri);
+        if (relativeUri.startsWith("win-"))
+            return super.handleURI(context, relativeUri);
+        
+        String example;
+        String param = null;
+
+        final int slashPos = relativeUri.indexOf("/");
+        if (slashPos > 0) {
+            example = relativeUri.substring(0, slashPos);
+            param = relativeUri.substring(slashPos + 1);
+        } else {
+            example = relativeUri;
+        }
+
+        /* Remove existing components and windows. */
+        main.removeAllComponents();
+        final Set childwindows = main.getChildWindows();
+        for (final Iterator cwi = childwindows.iterator(); cwi.hasNext();) {
+            final Window child = (Window) cwi.next();
+            main.removeWindow(child);
+        }
+        main.setLayout(new OrderedLayout());
+
+        if (example.equals("index")) {
+            final Object examples[] = { "defaultbutton", "label",
+                    "labelcontent", "tree", "embedded", "textfield",
+                    "textfieldvalidation", "datefield", "button",
+                    "select/select", "select/native", "select/optiongroup",
+                    "select/twincol", "filterselect", "validator", "table",
+                    "upload", "link", "gridlayout", "orderedlayout",
+                    "formlayout", "panel", "expandlayout", "tabsheet",
+                    "alignment", "alignment/grid", "window", "window/opener",
+                    "window/multiple", "classresource", "usererror",
+                    "progress/window", "progress/thread", "progress",
+                    "customlayout", "spacing", "margin", "clientinfo",
+                    "fillinform/templates"};
+            for (int i = 0; i < examples.length; i++) {
+                main.addComponent(new Label("<a href='/tk/testbench2/"
+                        + examples[i] + "'>" + examples[i] + "</a>",
+                        Label.CONTENT_XHTML));
+            }
+            return null;
+        }
+
+        if (example.equals("defaultbutton")) {
+            example_defaultButton(main, param);
+        } else if (example.equals("label")) {
+            example_Label(main, param);
+        } else if (example.equals("labelcontent")) {
+            example_LabelContent(main, param);
+        } else if (example.equals("tree")) {
+            example_Tree(main, param);
+        } else if (example.equals("embedded")) {
+            example_Embedded(main, param);
+        } else if (example.equals("textfield")) {
+            example_TextField(main, param);
+        } else if (example.equals("textfieldvalidation")) {
+            example_TextFieldValidation(main, param);
+        } else if (example.equals("usererror")) {
+            example_UserError(main, param);
+        } else if (example.equals("datefield")) {
+            example_DateField(main, param);
+        } else if (example.equals("button")) {
+            example_Button(main, param);
+        } else if (example.equals("checkbox")) {
+            example_CheckBox(main, param);
+        } else if (example.equals("select")) {
+            example_Select(main, param);
+        } else if (example.equals("filterselect")) {
+            example_FilterSelect(main, param);
+        } else if (example.equals("validator")) {
+            example_Validator(main, param);
+        } else if (example.equals("table")) {
+            example_Table(main, param);
+        } else if (example.equals("upload")) {
+            example_Upload(main, param);
+        } else if (example.equals("link")) {
+            example_Link(main, param);
+        } else if (example.equals("gridlayout")) {
+            example_GridLayout(main, param);
+        } else if (example.equals("orderedlayout")) {
+            example_OrderedLayout(main, param);
+        } else if (example.equals("formlayout")) {
+            example_FormLayout(main, param);
+        } else if (example.equals("tabsheet")) {
+            example_TabSheet(main, param);
+        } else if (example.equals("panel")) {
+            example_Panel(main, param);
+        } else if (example.equals("expandlayout")) {
+            example_ExpandLayout(main, param);
+        } else if (example.equals("alignment")) {
+            example_Alignment(main, param);
+        } else if (example.equals("window")) {
+            example_Window(main, param);
+        } else if (example.equals("classresource")) {
+            example_ClassResource(main, param);
+        } else if (example.equals("progress")) {
+            example_ProgressIndicator(main, param);
+        } else if (example.equals("customlayout")) {
+            example_CustomLayout(main, param);
+        } else if (example.equals("spacing")) {
+            example_Spacing(main, param);
+        } else if (example.equals("margin")) {
+            example_Margin(main, param);
+        } else if (example.equals("clientinfo")) {
+            example_ClientInfo(main, param);
+        } else if (example.equals("fillinform")) {
+            example_FillInForm(main, param);
+        } else {
+            ; // main.addComponent(new Label("Unknown test '"+example+"'."));
+        }
+
+        return null;
+    }
+
+    /*
+     * public Window getWindow(String name) { Window superwin =
+     * super.getWindow(name); if (superwin != null) return superwin;
+     * 
+     * main.addComponent(new Label("Request 2 for window '"+name+"'.")); if
+     * (name.equals("panel")) { Window window = new Window("Other Window " +
+     * getwincount++); example_Panel(window, null); return window; } return
+     * null; }
+     */
+    public void handleButton(Button.ClickEvent event) {
+        ol.addStyleName("myLayout2");
+    }
+
+    void example_defaultButton(Window main, String param) {
+        main.addComponent(new DefaultButtonExample(main));
+    }
+
+    void example_Label(Window main, String param) {
+        /* Some container for the Label. */
+        final Panel panel = new Panel("Panel Containing a Label");
+        main.addComponent(panel);
+
+        panel.addComponent(new Label(
+                "This is a Label inside a Panel. There is enough "
+                        + "text in the label to make the text wrap if it "
+                        + "exceeds the width of the panel."));
+    }
+
+    void example_LabelContent(Window main, String param) {
+        final GridLayout labelgrid = new GridLayout(2, 1);
+        labelgrid.addStyleName("labelgrid");
+        labelgrid.addComponent(new Label("CONTENT_DEFAULT"));
+        labelgrid.addComponent(new Label(
+                "This is a label in default mode: <plain text>",
+                Label.CONTENT_DEFAULT));
+        labelgrid.addComponent(new Label("CONTENT_PREFORMATTED"));
+        labelgrid
+                .addComponent(new Label(
+                        "This is a preformatted label.\nThe newline character \\n breaks the line.",
+                        Label.CONTENT_PREFORMATTED));
+        labelgrid.addComponent(new Label("CONTENT_RAW"));
+        labelgrid
+                .addComponent(new Label(
+                        "This is a label in raw mode.<br>It can contain, for example, unbalanced markup.",
+                        Label.CONTENT_RAW));
+        labelgrid.addComponent(new Label("CONTENT_TEXT"));
+        labelgrid.addComponent(new Label(
+                "This is a label in (plain) text mode", Label.CONTENT_TEXT));
+        labelgrid.addComponent(new Label("CONTENT_XHTML"));
+        labelgrid.addComponent(new Label(
+                "<i>This</i> is an <b>XHTML<b> formatted label",
+                Label.CONTENT_XHTML));
+        labelgrid.addComponent(new Label("CONTENT_XML"));
+        labelgrid.addComponent(new Label(
+                "This is an <myelement>XML</myelement> formatted label",
+                Label.CONTENT_XML));
+        main.addComponent(labelgrid);
+
+        final ClassResource labelimage = new ClassResource("smiley.jpg", this);
+        main.addComponent(new Label("Here we have an image <img src=\""
+                + getRelativeLocation(labelimage) + "\"/> within some text.",
+                Label.CONTENT_XHTML));
+    }
+
+    void example_Tree(Window main, String param) {
+        final Object[][] planets = new Object[][] {
+                new Object[] { "Mercury" },
+                new Object[] { "Venus" },
+                new Object[] { "Earth", "The Moon" },
+                new Object[] { "Mars", "Phobos", "Deimos" },
+                new Object[] { "Jupiter", "Io", "Europa", "Ganymedes", "Callisto" },
+                new Object[] { "Saturn", "Titan", "Tethys", "Dione", "Rhea", "Iapetus" },
+                new Object[] { "Uranus", "Miranda", "Ariel", "Umbriel", "Titania", "Oberon" },
+                new Object[] { "Neptune", "Triton", "Proteus", "Nereid", "Larissa" } };
+
+        final Tree tree = new Tree();
+
+        /* Add planets as root items in the tree. */
+        for (int i = 0; i < planets.length; i++) {
+            final String planet = (String) (planets[i][0]);
+            tree.addItem(planet);
+
+            if (planets[i].length == 1) {
+                /* The planet has no moons so make it a leaf. */
+                tree.setChildrenAllowed(planet, false);
+            } else {
+                /* Add children (moons) under the planets. */
+                for (int j = 1; j < planets[i].length; j++) {
+                    final String moon = (String) planets[i][j];
+
+                    /* Add the item as a regular item. */
+                    tree.addItem(moon);
+
+                    /* Set it to be a child. */
+                    tree.setParent(moon, planet);
+
+                    /* Make the moons look like leaves. */
+                    tree.setChildrenAllowed(moon, false);
+                }
+
+                /* Expand the subtree. */
+                tree.expandItemsRecursively(planet);
+            }
+        }
+        
+        // Horizontal layout with the tree on the left and a details panel on the right. 
+        final ExpandLayout horlayout = new ExpandLayout(OrderedLayout.ORIENTATION_HORIZONTAL);
+        horlayout.addStyleName("treeexample");
+        horlayout.setSizeFull();
+        
+        final Panel treepanel = new Panel("The Planets and Major Moons");
+        treepanel.addComponent(tree);
+        horlayout.addComponent(treepanel);
+        
+        final Panel detailspanel = new Panel("Details");
+        horlayout.addComponent(detailspanel);
+        horlayout.expand(detailspanel);
+        
+        final OrderedLayout detailslayout = new OrderedLayout();
+        detailspanel.setLayout(detailslayout);
+        
+        // When a tree item (planet or moon) is clicked, open the item in Details view.
+        tree.setImmediate(true);
+        tree.addListener(new ValueChangeListener() {
+            public void valueChange(ValueChangeEvent event) {
+                String planet = (String) tree.getValue();
+                detailspanel.setCaption("Details on " + planet);
+                detailslayout.removeAllComponents();
+                
+                // Put some stuff in the Details view.
+                detailslayout.addComponent(new Label("Where is the cat?"));
+                detailslayout.addComponent(new Label("The cat is in " + planet + "."));
+            }
+        });
+
+        main.setLayout(horlayout);
+    }
+
+    void example_Select(Window main, String param) {
+        final OrderedLayout layout = new OrderedLayout(
+                OrderedLayout.ORIENTATION_HORIZONTAL);
+        layout.addStyleName("aligntop");
+
+        if (param.equals("twincol")) {
+            final SelectExample select1 = new SelectExample(this, param,
+                    "Select some items", true);
+            layout.addComponent(select1);
+        } else if (param.equals("filter")) {
+            final SelectExample select1 = new SelectExample(this, param,
+                    "Enter containing substring", false);
+            layout.addComponent(select1);
+        } else {
+            final SelectExample select1 = new SelectExample(this, param,
+                    "Single Selection Mode", false);
+            final SelectExample select2 = new SelectExample(this, param,
+                    "Multiple Selection Mode", true);
+            layout.addComponent(select1);
+            layout.addComponent(select2);
+        }
+        main.addComponent(layout);
+    }
+
+    void example_FilterSelect(Window main, String param) {
+        final Select select = new Select("Enter containing substring");
+        main.addComponent(select);
+
+        select
+                .setFilteringMode(AbstractSelect.Filtering.FILTERINGMODE_CONTAINS);
+
+        /* Fill the component with some items. */
+        final String[] planets = new String[] { "Mercury", "Venus", "Earth",
+                "Mars", "Jupiter", "Saturn", "Uranus", "Neptune" };
+
+        for (int i = 0; i < planets.length; i++) {
+            for (int j = 0; j < planets.length; j++) {
+                select.addItem(planets[j] + " to " + planets[i]);
+            }
+        }
+    }
+
+    void example_TextField(Window main, String param) {
+        /* Add a single-line text field. */
+        final TextField subject = new TextField("Subject");
+        subject.setColumns(40);
+        main.addComponent(subject);
+
+        /* Add a multi-line text field. */
+        final TextField message = new TextField("Message");
+        message.setRows(7);
+        message.setColumns(40);
+        main.addComponent(message);
+    }
+
+    void example_TextFieldValidation(Window main, String param) {
+        // Create a text field with a label
+        final TextField username = new TextField("Username");
+        main.addComponent(username);
+
+        // Set visible length to 16 characters
+        username.setColumns(16);
+
+        // Set content length to minimum of 6 and maximum of 16 characters.
+        // The string also may not be null.
+        username.addValidator(new StringLengthValidator(
+                "Must be 6 to 16 characters long", 6, 16, false));
+
+        // Setting component immediate causes a ValueChangeEvent to occur
+        // when the TextField loses focus.
+        username.setImmediate(true);
+
+        // Listen for ValueChangeEvents and handle them
+        username.addListener(new ValueChangeListener() {
+            public void valueChange(ValueChangeEvent event) {
+                // Get the source of the event
+                final TextField username = (TextField) (event.getProperty());
+
+                try {
+                    // Validate the field value.
+                    username.validate();
+                } catch (final Validator.InvalidValueException e) {
+                    // The value was not ok. The error was set.
+                }
+            }
+        });
+    }
+
+    void example_UserError(final Window main, String param) {
+        if (param != null) {
+            if (param.equals("form")) {
+
+                final FormLayout layout = new FormLayout();
+                main.addComponent(layout);
+
+                final TextField textfield = new TextField("Enter name");
+                layout.addComponent(textfield);
+                textfield.setComponentError(null);
+
+                final Button button = new Button("Click me!");
+                layout.addComponent(button);
+
+                button.addListener(new Button.ClickListener() {
+                    public void buttonClick(ClickEvent event) {
+                        if (((String) textfield.getValue()).length() == 0) {
+                            textfield.setComponentError(new UserError(
+                                    "Must not be empty"));
+                        } else {
+                            textfield.setComponentError(null);
+                        }
+                    }
+                });
+            }
+        } else {
+            final TextField textfield = new TextField("Enter name");
+            main.addComponent(textfield);
+            textfield.setComponentError(null);
+
+            final Button button = new Button("Click me!");
+            main.addComponent(button);
+
+            button.addListener(new Button.ClickListener() {
+                public void buttonClick(ClickEvent event) {
+                    if (((String) textfield.getValue()).length() == 0) {
+                        textfield.setComponentError(new UserError(
+                                "Must not be empty"));
+                    } else {
+                        textfield.setComponentError(null);
+                    }
+                }
+            });
+        }
+    }
+
+    void example_DateField(Window main, String param) {
+        OrderedLayout layout = new OrderedLayout(OrderedLayout.ORIENTATION_HORIZONTAL);
+        
+        /* Create a DateField with the calendar style. */
+        final DateField popupdate = new PopupDateField("Popup calendar field");
+
+        /* Set resolution of the date/time display. */
+        popupdate.setResolution(DateField.RESOLUTION_MIN);
+
+        /* Set the date and time to present. */
+        popupdate.setValue(new java.util.Date());
+
+        /* Create a DateField with the calendar style. */
+        final DateField inlinedate = new InlineDateField("Inline calendar field");
+        
+        /* Set locale of the DateField to American English. */
+        inlinedate.setLocale(new Locale("en", "US"));
+
+        /* Set the date and time to present. */
+        inlinedate.setValue(new java.util.Date());
+
+        /* Set resolution of the date/time display. */
+        inlinedate.setResolution(DateField.RESOLUTION_MIN);
+
+        layout.addComponent(popupdate);
+        layout.addComponent(inlinedate);
+        layout.setSpacing(true);
+        main.addComponent(layout);
+    }
+
+    void example_Validator(Window main, String param) {
+        main.addComponent(new SSNField());
+    }
+
+    void example_Table(Window main, String param) {
+        main.addComponent(new TableExample());
+    }
+
+    void example_Upload(Window main, String param) {
+        main.addComponent(new MyUploader());
+    }
+
+    void example_Link(Window main, String param) {
+
+        /* Create a link that opens the popup window. */
+        final Link alink = new Link();
+
+        /* Set the resource to be opened in the window. */
+        alink.setResource(new ExternalResource("http://www.itmill.com/"));
+
+        main.addComponent(alink);
+
+        final ClassResource mydocument = new ClassResource("mydocument.pdf",
+                this);
+        main.addComponent(new Link("The document (pdf)", mydocument));
+        main.addComponent(new Link("link to a resource", new ExternalResource(
+                "http://www.itmill.com/")));
+    }
+
+    void example_Button(Window main, String param) {
+        if (param != null) {
+            if (param.equals("buttons")) {
+                main.addComponent(new TheButton());
+            }
+            return;
+        }
+
+        // butts1 = new TheButton ();
+        // main.addComponent(butts1);
+
+        // butts2 = new TheButtons (main);
+        // butts3 = new TheButtons2 (main);
+
+        // Button checkbox = new Button ("This is a checkbox");
+
+        // main.addComponent(checkbox);
+        final Button button = new Button("My Button");
+        main.addComponent(button);
+    }
+
+    void example_CheckBox(Window main, String param) {
+        /* A check box with default state (not checked, i.e., false). */
+        final CheckBox checkbox1 = new CheckBox("My CheckBox");
+        main.addComponent(checkbox1);
+
+        /* Another check box with explicitly set checked state. */
+        final CheckBox checkbox2 = new CheckBox("Checked CheckBox");
+        /*
+         * @TODO: Build fails here, why? checkbox2.setValue(true);
+         */
+        main.addComponent(checkbox2);
+
+        /*
+         * Make some application logic. We use anynymous listener classes here.
+         * The above references were defined as "final" to allow accessing them
+         * from inside anonymous classes.
+         */
+        checkbox1.addListener(new ValueChangeListener() {
+            public void valueChange(ValueChangeEvent event) {
+                /* Copy the value to the other checkbox. */
+                checkbox2.setValue(checkbox1.getValue());
+            }
+        });
+        checkbox2.addListener(new ValueChangeListener() {
+            public void valueChange(ValueChangeEvent event) {
+                /* Copy the value to the other checkbox. */
+                checkbox1.setValue(checkbox2.getValue());
+            }
+        });
+    }
+
+    void example_Panel(Window main, String param) {
+        // Create a panel with a caption.
+        final Panel panel = new Panel("Contact Information");
+
+        // Create a layout inside the panel
+        final OrderedLayout form = new FormLayout();
+
+        // Set the layout as the root layout of the panel
+        panel.setLayout(form);
+
+        // Add some components
+        form.addComponent(new TextField("Name"));
+        form.addComponent(new TextField("Email"));
+
+        // Add the panel to the main window
+        final ClassResource icon = new ClassResource("smiley.jpg", main
+                .getApplication());
+        form.addComponent(new Embedded("Image", icon));
+        panel.setIcon(icon);
+        panel.addComponent(form);
+        main.addComponent(panel);
+    }
+
+    void example_GridLayout(Window main, String param) {
+        /* Create a 4 by 4 grid layout. */
+        final GridLayout grid = new GridLayout(4, 4);
+        grid.addStyleName("example-gridlayout");
+
+        /* Fill out the first row using the cursor. */
+        grid.addComponent(new Button("R/C 1"));
+        for (int i = 0; i < 3; i++) {
+            grid.addComponent(new Button("Col " + (grid.getCursorX() + 1)));
+        }
+
+        /* Fill out the first column using coordinates. */
+        for (int i = 1; i < 4; i++) {
+            grid.addComponent(new Button("Row " + i), 0, i);
+        }
+
+        /* Add some components of various shapes. */
+        grid.addComponent(new Button("3x1 button"), 1, 1, 3, 1);
+        grid.addComponent(new Label("1x2 cell"), 1, 2, 1, 3);
+        final InlineDateField date = new InlineDateField("A 2x2 date field");
+        date.setResolution(DateField.RESOLUTION_DAY);
+        grid.addComponent(date, 2, 2, 3, 3);
+
+        main.addComponent(grid);
+    }
+
+    void example_Alignment(Window main, String param) {
+        if (param.equals("grid")) {
+            /* Create a 3 by 3 grid layout. */
+            final GridLayout layout = new GridLayout(3, 3);
+            // OrderedLayout layout = new
+            // OrderedLayout(OrderedLayout.ORIENTATION_VERTICAL);
+            main.setLayout(layout);
+            layout.addStyleName("example-alignment");
+
+            layout.setWidth(400, Sizeable.UNITS_PIXELS);
+            layout.setHeight(400, Sizeable.UNITS_PIXELS);
+
+            /* Define cells and their layouts to create. */
+            
+             Object cells[][] = {
+                     {new Button("Top Left"),      new Integer(OrderedLayout.ALIGNMENT_LEFT),              new Integer(OrderedLayout.ALIGNMENT_TOP)},
+                     {new Label("Top Center"),    new Integer(OrderedLayout.ALIGNMENT_HORIZONTAL_CENTER), new Integer(OrderedLayout.ALIGNMENT_TOP)},
+                     {new Label("Top Right"),     new Integer(OrderedLayout.ALIGNMENT_RIGHT),             new Integer(OrderedLayout.ALIGNMENT_TOP)},
+                     {new Button("Center Left"),   new Integer(OrderedLayout.ALIGNMENT_LEFT),              new Integer(OrderedLayout.ALIGNMENT_VERTICAL_CENTER)},
+                     {new Button("Center Center"), new Integer(OrderedLayout.ALIGNMENT_HORIZONTAL_CENTER), new Integer(OrderedLayout.ALIGNMENT_VERTICAL_CENTER)},
+                     {new Button("Center Right"),  new Integer(OrderedLayout.ALIGNMENT_RIGHT),             new Integer(OrderedLayout.ALIGNMENT_VERTICAL_CENTER)},
+                     {new Button("Bottom Left"),   new Integer(OrderedLayout.ALIGNMENT_LEFT),              new Integer(OrderedLayout.ALIGNMENT_BOTTOM)},
+                     {new Button("Bottom Center"), new Integer(OrderedLayout.ALIGNMENT_HORIZONTAL_CENTER), new Integer(OrderedLayout.ALIGNMENT_BOTTOM)},
+                     {new Button("Bottom Right"),  new Integer(OrderedLayout.ALIGNMENT_RIGHT),             new Integer(OrderedLayout.ALIGNMENT_BOTTOM)}};
+             
+             for (int i=0; i<9; i++) {
+                 ExpandLayout celllayout = new ExpandLayout(OrderedLayout.ORIENTATION_HORIZONTAL);
+                 celllayout.addComponent((Component) cells[i][0]);
+                 celllayout.setComponentAlignment((Component)cells[i][0], ((Integer)cells[i][1]).intValue(), ((Integer)cells[i][2]).intValue());
+                 layout.addComponent(celllayout);
+                 //layout.setComponentAlignment((Component)cells[i][0], ((Integer)cells[i][1]).intValue(), ((Integer)cells[i][2]).intValue());
+             }
+        } else {
+            final Panel panel = new Panel("A Panel with a Layout");
+            main.addComponent(panel);
+
+            // panel.addComponent(new )
+        }
+    }
+
+    void example_OrderedLayout(Window main, String param) {
+        final OrderedLayout layout = new OrderedLayout(
+                OrderedLayout.ORIENTATION_VERTICAL);
+        layout.addComponent(new TextField("Name"));
+        layout.addComponent(new TextField("Street address"));
+        layout.addComponent(new TextField("Postal code"));
+        main.addComponent(layout);
+    }
+
+    void example_FormLayout(Window main, String param) {
+        final FormLayout layout = new FormLayout();
+        layout.addComponent(new TextField("Name"));
+        layout.addComponent(new TextField("Street address"));
+        layout.addComponent(new TextField("Postal code"));
+        main.addComponent(layout);
+    }
+
+    void example_ExpandLayout(Window main, String param) {
+        if (param != null && param.equals("centered")) {
+            Label widget = new Label("Here is text");
+    
+            ExpandLayout layout = new ExpandLayout(OrderedLayout.ORIENTATION_HORIZONTAL);
+            layout.addComponent(widget);
+            layout.expand(widget);
+            layout.setComponentAlignment(widget, OrderedLayout.ALIGNMENT_HORIZONTAL_CENTER, OrderedLayout.ALIGNMENT_VERTICAL_CENTER);
+            layout.setWidth(100, Sizeable.UNITS_PERCENTAGE);
+            layout.setHeight(100, Sizeable.UNITS_PERCENTAGE);
+    
+            main.setLayout(layout);
+            
+            return;
+        } else if (param != null && param.equals("window")) {
+            Window window = new Window("Progress");
+            window.setHeight(100, Sizeable.UNITS_PIXELS);
+            window.setWidth(200, Sizeable.UNITS_PIXELS);
+            main.addWindow(window);
+            
+            ProgressIndicator progress = new ProgressIndicator(new Float(0.4));
+            progress.addStyleName("fullwidth");
+            progress.setPollingInterval(1000000);
+            progress.setIndeterminate(false);
+    
+            ExpandLayout layout = new ExpandLayout(OrderedLayout.ORIENTATION_HORIZONTAL);
+            layout.setHeight(100, Sizeable.UNITS_PERCENTAGE);
+            layout.setComponentAlignment(progress, OrderedLayout.ALIGNMENT_HORIZONTAL_CENTER, OrderedLayout.ALIGNMENT_VERTICAL_CENTER);
+            window.setLayout(layout);
+            window.addComponent(progress);
+            
+            return;
+        } else if (param != null && param.equals("size")) {
+            ExpandLayout layout = new ExpandLayout();
+            layout.setSizeFull();
+            main.setLayout(layout);
+
+            Button button = new Button("This is a button in middle of nowhere");
+            layout.addComponent(button);
+            layout.setComponentAlignment(button, OrderedLayout.ALIGNMENT_HORIZONTAL_CENTER, OrderedLayout.ALIGNMENT_VERTICAL_CENTER);
+            
+            return;
+        }
+
+        for (int w = 0; w < 2; w++) {
+            final ExpandLayout layout = new ExpandLayout(
+                    OrderedLayout.ORIENTATION_VERTICAL);
+
+            /* Set the expanding layout as the root layout of a child window. */
+            final Window window = new Window("A Child Window", layout);
+            main.addWindow(window);
+
+            /* Add some component above the expanding one. */
+            layout.addComponent(new Label("Here be some component."));
+
+            /* Create the expanding component. */
+            final Table table = new Table("My Ever-Expanding Table");
+            /*
+             * FIXME Java 5 -> 1.4 for (int i=0; i<5; i++)
+             * table.addContainerProperty("col "+(i+1), Integer.class, 0); for
+             * (int j=0; j<20; j++) table.addItem(new
+             * Object[]{1*j,2*j,3*j,4*j,5*j}, j);
+             */
+            layout.addComponent(table);
+
+            /* Designate the table to be the expanding component. */
+            layout.expand(table);
+
+            /* Set it to use all available area. */
+            table.setSizeFull();
+
+            /* Add some component below the expanding one. */
+            final Button button2 = new Button("Ok");
+            layout.addComponent(button2);
+            layout.setComponentAlignment(button2,
+                    OrderedLayout.ALIGNMENT_RIGHT, 0);
+        }
+    }
+
+    void example_TabSheet(Window main, String param) {
+        if (param.equals("icon")) {
+            final TabSheet tabsheet = new TabSheet();
+
+            tabsheet.addTab(new Label("Contents of the first tab"),
+                    "First Tab", new ClassResource("images/Mercury_small.png",
+                            main.getApplication()));
+            tabsheet.addTab(new Label("Contents of the second tab"),
+                    "Second Tab", new ClassResource("images/Venus_small.png",
+                            this));
+            tabsheet.addTab(new Label("Contents of the third tab"),
+                    "Third tab", new ClassResource("images/Earth_small.png",
+                            this));
+
+            main.addComponent(tabsheet);
+            // main.addComponent(new Embedded("Emb", new ClassResource
+            // ("images/Mercury_small.png", this)));
+        } else if (param.equals("expanding")) {
+            // Create the layout
+            ExpandLayout expanding = new ExpandLayout(OrderedLayout.ORIENTATION_VERTICAL);
+            
+            // It is important to set the expanding layout as the root layout
+            // of the containing window, in this case the main window, and not
+            // use addComponent(), which would place the layout inside the
+            // default root layout.
+            main.setLayout(expanding);
+            
+            // Create a tab sheet that fills the expanding layout
+            final TabSheet tabsheet = new TabSheet();
+            tabsheet.addTab(new Label("Contents of the first tab"), "First Tab", null);
+            tabsheet.addTab(new Label("Contents of the second tab"), "Second Tab", null);
+            tabsheet.addTab(new Label("Contents of the third tab"), "Third tab", null);
+            
+            // Set the tabsheet to scale to full size inside its container
+            tabsheet.setWidth(100, Sizeable.UNITS_PERCENTAGE);
+            tabsheet.setHeight(100, Sizeable.UNITS_PERCENTAGE);
+
+            // Add the tab sheet to the layout as usual
+            expanding.addComponent(tabsheet);
+
+            // Set the tab sheet to be the expanding component
+            expanding.expand(tabsheet);
+        } else if (param.equals("ordered")) {
+            // Create the layout
+            OrderedLayout layout = new OrderedLayout(OrderedLayout.ORIENTATION_VERTICAL);
+            
+            // It is important to set the expanding layout as the root layout
+            // of the containing window, in this case the main window, and not
+            // use addComponent(), which would place the layout inside the
+            // default root layout.
+            main.setLayout(layout);
+            
+            // Create a tab sheet that fills the expanding layout
+            final TabSheet tabsheet = new TabSheet();
+            tabsheet.addTab(new Label("Contents of the first tab"), "First Tab", null);
+            tabsheet.addTab(new Label("Contents of the second tab"), "Second Tab", null);
+            tabsheet.addTab(new Label("Contents of the third tab"), "Third tab", null);
+            
+            // Set the tabsheet to scale to full size inside its container
+            tabsheet.setWidth(100, Sizeable.UNITS_PERCENTAGE);
+            //tabsheet().setHeight(100, Sizeable.UNITS_PERCENTAGE);
+
+            // Add the tab sheet to the layout as usual
+            layout.addComponent(tabsheet);
+        } else {
+            main.addComponent(new TabSheetExample());
+        }
+    }
+
+    void example_Embedded(Window main, String param) {
+        final Embedded image = new Embedded("", new ClassResource("smiley.jpg",
+                this));
+        image.addStyleName("omaimage");
+        main.addComponent(image);
+
+        final EmbeddedButton button = new EmbeddedButton(new ClassResource(
+                "smiley.jpg", this));
+        main.addComponent(button);
+    }
+
+    void example_Window(Window main, String param) {
+        if (param != null) {
+            if (param.equals("opener")) {
+                main.addComponent(new WindowOpener("Window Opener", main));
+            } else if (param.equals("multiple")) {
+                /* Create a new window. */
+                final Window mywindow = new Window("Second Window");
+                mywindow.setName("mywindow");
+                mywindow.addComponent(new Label("This is a second window."));
+
+                /* Add the window to the application. */
+                main.getApplication().addWindow(mywindow);
+
+                /* Add link to the second window in the main window. */
+                main.addComponent(new Label("Second window: <a href='"
+                        + mywindow.getURL() + "'>middle-click to open</a>",
+                        Label.CONTENT_XHTML));
+                main.addComponent(new Label(
+                        "The second window can be accessed through URL: "
+                                + mywindow.getURL()));
+            }
+            return;
+        }
+
+        /* Create a new window. */
+        final Window mywindow = new Window("My Window");
+        mywindow.setName("mywindow");
+
+        /* Add some components in the window. */
+        mywindow.addComponent(new Label("A text label in the window."));
+        final Button okbutton = new Button("OK");
+        mywindow.addComponent(okbutton);
+
+        /* Set window size. */
+        mywindow.setHeight(200);
+        mywindow.setWidth(400);
+
+        /* Set window position. */
+        mywindow.setPositionX(200);
+        mywindow.setPositionY(50);
+
+        /* Add the window to the Application object. */
+        main.addWindow(mywindow);
+
+    }
+
+    void example_ClassResource(Window main, String param) {
+        final DateField df = new DateField();
+        main.addComponent(df);
+        df.setIcon(new ClassResource("smiley.jpg", main.getApplication()));
+        main.addComponent(new Embedded("This is Embedded", new ClassResource(
+                "smiley.jpg", main.getApplication())));
+    }
+    
+    void example_ProgressIndicator(final Window main, String param) {
+        if (param != null) {
+            if (param.equals("thread")) {
+
+                // Create the indicator
+                final ProgressIndicator indicator = new ProgressIndicator(new Float(0.0));
+                main.addComponent(indicator);
+                
+                // Set polling frequency to 0.5 seconds.
+                indicator.setPollingInterval(1000);
+                
+                //indicator.addStyleName("invisible");
+                final Label text = new Label("-- Not running --");
+                main.addComponent(text);
+                
+                // Add a button to start the progress
+                final Button button = new Button("Click to start");
+                main.addComponent(button);
+        
+                // Another thread to do some work
+                class WorkThread extends Thread {
+                    public void run () {
+                        double current = 0.0;
+                        while (true) {
+                            // Do some "heavy work"
+                            try {
+                                sleep(50); // Sleep for 50 milliseconds
+                            } catch (InterruptedException e) {}
+                            
+                            // Grow the progress value until it reaches 1.0.
+                            current += 0.01;
+                            if (current>1.0)
+                                indicator.setValue(new Float(1.0));
+                            else 
+                                indicator.setValue(new Float(current));
+                            
+                            // After the progress is full for a while, stop.
+                            if (current > 1.2) {
+                                // Restore the state to initial.
+                                indicator.setValue(new Float(0.0));
+                                button.setVisible(true);
+                                break;
+                            }
+                        }
+                    }
+                }
+                
+                // Clicking the button creates and runs a work thread
+                button.addListener(new Button.ClickListener() {
+                    public void buttonClick(ClickEvent event) {
+                        final WorkThread thread = new WorkThread();
+                        thread.start();
+                        
+                        // The button hides until the work is done.
+                        button.setVisible(false);
+                    }
+                });
+            } else if (param.equals("window")) {
+                // Create a table in the main window to hold items added in the second window
+                final Table table = new Table();
+                table.setPageLength(5);
+                table.setWidth(100, Sizeable.UNITS_PERCENTAGE);
+                table.addContainerProperty("Name", String.class, "");
+                main.addComponent(table);
+
+                // Create the second window
+                final Window adderWindow = new Window("Add Items");
+                adderWindow.setName("win-adder");
+                main.getApplication().addWindow(adderWindow);
+
+                // Create selection component to add items to the table
+                final NativeSelect select = new NativeSelect("Select item to add");
+                select.setImmediate(true);
+                adderWindow.addComponent(select);
+                
+                // Add some items to the selection
+                String items[] = new String[]{"-- Select --", "Mercury", "Venus", 
+                        "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"};
+                for (int i=0; i<items.length; i++)
+                    select.addItem(items[i]);
+                select.setNullSelectionItemId(items[0]);
+                
+                // When an item is selected in the second window, add
+                // table in the main window
+                select.addListener(new ValueChangeListener() {
+                    public void valueChange(ValueChangeEvent event) {
+                        // If the selected value is something else but null selection item.
+                        if (select.getValue() != null) {
+                            // Add the selected item to the table in the main window
+                            table.addItem(new Object[]{select.getValue()}, new Integer(table.size()));
+                        }
+                    }
+                });
+
+                // Link to open the selection window
+                Link link = new Link("Click to open second window",
+                                     new ExternalResource(adderWindow.getURL()),
+                                     "_new", 50, 200, Link.TARGET_BORDER_DEFAULT);
+                main.addComponent(link);
+
+                // Enable polling to update the main window
+                ProgressIndicator poller = new ProgressIndicator();
+                poller.addStyleName("invisible");
+                main.addComponent(poller);
+            } else if (param.equals("centered")) {
+/*                GridLayout grid = new GridLayout(3,3);
+                main.setLayout(grid);
+                grid().setWidth(100, Sizeable.UNITS_PERCENTAGE);
+                
+                ExpandLayout layout2 = new ExpandLayout(OrderedLayout.ORIENTATION_HORIZONTAL);
+                layout2().setWidth(50, Sizeable.UNITS_PERCENTAGE);
+
+                ProgressIndicator poller = new ProgressIndicator(new Float(0.4));
+                poller.setPollingInterval(1000000);
+                poller.setIndeterminate(false);
+                layout2.addComponent(poller);
+
+                grid.addComponent(layout2, 1, 1);
+                */
+
+                //ExpandLayout layout2 = new ExpandLayout(OrderedLayout.ORIENTATION_HORIZONTAL);
+                
+                /*ProgressIndicator poller = new ProgressIndicator(new Float(0.4));
+                poller.setPollingInterval(1000000);
+                poller.setIndeterminate(false);*/
+                /*layout2.addComponent(poller);
+                layout2().setWidth(50, Sizeable.UNITS_PERCENTAGE);*/
+                
+                //layout.setComponentAlignment(poller, OrderedLayout.ALIGNMENT_HORIZONTAL_CENTER, OrderedLayout.ALIGNMENT_VERTICAL_CENTER);
+                /*GridLayout grid = new GridLayout(1,1);
+                grid.addComponent(layout2, 0, 0);
+                grid().setWidth(100, Sizeable.UNITS_PERCENTAGE);*/
+                
+                /*GridLayout layout = new GridLayout(1,1); //OrderedLayout.ORIENTATION_HORIZONTAL);
+                layout.addComponent(poller);
+                //layout.expand(poller);
+                layout.setComponentAlignment(poller, OrderedLayout.ALIGNMENT_HORIZONTAL_CENTER, OrderedLayout.ALIGNMENT_VERTICAL_CENTER);
+                layout().setWidth(100, Sizeable.UNITS_PERCENTAGE);
+                layout().setHeight(100, Sizeable.UNITS_PERCENTAGE);*/
+                
+            }
+        } else {
+            ProgressIndicator poller = new ProgressIndicator(new Float(0.0));
+            poller.setPollingInterval(1000000);
+            poller.setIndeterminate(true);
+            main.addComponent(poller);
+        }
+    }
+    
+    void example_CustomLayout(final Window main, String param) {
+        Window sub = new Window("Login");
+        sub.setModal(true);
+        main.addWindow(sub);
+        
+        // Create the custom layout and set it as the root layout of
+        // the containing window.
+        CustomLayout custom = new CustomLayout("layoutname");
+        sub.setLayout(custom);
+        
+        // Create components and bind them to the location tags
+        // in the custom layout.
+        TextField username = new TextField();
+        custom.addComponent(username, "username");
+        
+        TextField password = new TextField();
+        custom.addComponent(password, "password");
+        
+        Button ok = new Button("Login");
+        custom.addComponent(ok, "okbutton");
+    }
+
+    void example_Spacing(final Window main, String param) {
+        OrderedLayout containinglayout = new OrderedLayout();
+        main.setLayout(containinglayout);
+
+        GridLayout grid = new GridLayout(4,3);
+        grid.addStyleName("spacingexample");
+        containinglayout.addComponent(grid);
+        grid.addComponent(new Label(""), 0, 0);
+        grid.addComponent(new Label(""), 1, 0);
+        
+        grid.addComponent(new Label("No spacing:"),0,1);
+        OrderedLayout layout1 = new OrderedLayout(OrderedLayout.ORIENTATION_HORIZONTAL);
+        grid.addComponent(layout1,1,1);
+        layout1.addStyleName("spacingexample");
+        layout1.addComponent(new Button("Component 1"));
+        layout1.addComponent(new Button("Component 2"));
+        layout1.addComponent(new Button("Component 3"));
+        
+        grid.addComponent(new Label("Horizontal spacing:"), 0, 2);
+        OrderedLayout layout2 = new OrderedLayout(OrderedLayout.ORIENTATION_HORIZONTAL);
+        grid.addComponent(layout2,1,2);
+        layout2.addStyleName("spacingexample");
+        layout2.setSpacing(true);
+        layout2.addComponent(new Button("Component 1"));
+        layout2.addComponent(new Button("Component 2"));
+        layout2.addComponent(new Button("Component 3"));
+
+        grid.addComponent(new Label("No spacing:"),2,0);
+        OrderedLayout layout3 = new OrderedLayout(OrderedLayout.ORIENTATION_VERTICAL);
+        grid.addComponent(layout3,2,1,2,2);
+        layout3.addStyleName("spacingexample");
+        layout3.addComponent(new Button("Component 1"));
+        layout3.addComponent(new Button("Component 2"));
+        layout3.addComponent(new Button("Component 3"));
+
+        grid.addComponent(new Label("Vertical spacing:"),3,0);
+        OrderedLayout layout4 = new OrderedLayout(OrderedLayout.ORIENTATION_VERTICAL);
+        grid.addComponent(layout4,3,1,3,2);
+        layout4.addStyleName("spacingexample");
+        layout4.setSpacing(true);
+        layout4.addComponent(new Button("Component 1"));
+        layout4.addComponent(new Button("Component 2"));
+        layout4.addComponent(new Button("Component 3"));
+}
+
+    void example_Margin(final Window main, String param) {
+        OrderedLayout hor = new OrderedLayout(OrderedLayout.ORIENTATION_HORIZONTAL);
+        main.setLayout(hor);
+        
+        OrderedLayout containinglayout = new OrderedLayout();
+        hor.addComponent(containinglayout);
+
+        OrderedLayout layout1 = new OrderedLayout();
+        containinglayout.addComponent(new Label("Regular layout margins:"));
+        containinglayout.addComponent(layout1);
+        layout1.addStyleName("marginexample1");
+        layout1.addComponent(new Button("Component 1"));
+        layout1.addComponent(new Button("Component 2"));
+        layout1.addComponent(new Button("Component 3"));
+
+        // Create a layout
+        OrderedLayout layout2 = new OrderedLayout();
+        containinglayout.addComponent(new Label("Layout with a special margin element:"));
+        containinglayout.addComponent(layout2);
+        
+        // Set style name for the layout to allow styling it
+        layout2.addStyleName("marginexample2");
+        
+        // Have margin on all sides around the layout
+        layout2.setMargin(true);
+        
+        // Put something inside the layout
+        layout2.addComponent(new Button("Component 1"));
+        layout2.addComponent(new Button("Component 2"));
+        layout2.addComponent(new Button("Component 3"));
+    }
+
+    void example_ClientInfo(final Window main, String param) {
+        // Get the client identification string
+        WebApplicationContext context2 = (WebApplicationContext) getContext();
+        String browserApplication = context2.getBrowser().getBrowserApplication();
+        
+        // Add a browser-dependent style name for the main window
+        if (browserApplication.indexOf("Firefox/2") != -1)
+            main.addStyleName("firefox2");
+        
+        // Display the client identification string
+        main.addComponent(new Label(browserApplication));
+    }
+
+    void example_FillInForm(final Window main, String param) {
+       if (param.equals("templates")) {        
+               // Create a custom layout from the fill-in-form.html template.
+               CustomLayout fillinlayout = new CustomLayout("fill-in-form");
+       
+               // The style will set the display to be "inline".
+               fillinlayout.addStyleName("fillinlayout");
+       
+               // Create the fields that occur in the text.
+               TextField field1 = new TextField();
+               TextField field2 = new TextField();
+               fillinlayout.addComponent(field1, "q1");
+               fillinlayout.addComponent(field2, "q2");
+       
+               main.addComponent(fillinlayout);
+       } else {
+               String fillintext = "The <q1> is mightier than <q2>.";
+               int pos = 0;
+               while (pos < fillintext.length()) {
+                       int nexttag = fillintext.indexOf("<", pos);
+                       if (nexttag == -1) {
+                               
+                       }
+               }
+       }
+    }
+}
diff --git a/src/com/itmill/toolkit/tests/book/MagiTestApplication.java b/src/com/itmill/toolkit/tests/book/MagiTestApplication.java
deleted file mode 100644 (file)
index c715d4d..0000000
+++ /dev/null
@@ -1,1179 +0,0 @@
-/* 
-@ITMillApache2LicenseForJavaFiles@
- */
-
-package com.itmill.toolkit.tests.book;
-
-import java.net.URL;
-import java.util.Iterator;
-import java.util.Locale;
-import java.util.Set;
-
-import com.itmill.toolkit.data.Validator;
-import com.itmill.toolkit.data.Property.ValueChangeEvent;
-import com.itmill.toolkit.data.Property.ValueChangeListener;
-import com.itmill.toolkit.data.validator.StringLengthValidator;
-import com.itmill.toolkit.terminal.ClassResource;
-import com.itmill.toolkit.terminal.DownloadStream;
-import com.itmill.toolkit.terminal.ExternalResource;
-import com.itmill.toolkit.terminal.Sizeable;
-import com.itmill.toolkit.terminal.StreamResource;
-import com.itmill.toolkit.terminal.UserError;
-import com.itmill.toolkit.terminal.gwt.server.WebApplicationContext;
-import com.itmill.toolkit.ui.AbstractSelect;
-import com.itmill.toolkit.ui.Button;
-import com.itmill.toolkit.ui.CheckBox;
-import com.itmill.toolkit.ui.Component;
-import com.itmill.toolkit.ui.CustomLayout;
-import com.itmill.toolkit.ui.DateField;
-import com.itmill.toolkit.ui.Embedded;
-import com.itmill.toolkit.ui.ExpandLayout;
-import com.itmill.toolkit.ui.FormLayout;
-import com.itmill.toolkit.ui.GridLayout;
-import com.itmill.toolkit.ui.InlineDateField;
-import com.itmill.toolkit.ui.Label;
-import com.itmill.toolkit.ui.Link;
-import com.itmill.toolkit.ui.NativeSelect;
-import com.itmill.toolkit.ui.OrderedLayout;
-import com.itmill.toolkit.ui.Panel;
-import com.itmill.toolkit.ui.PopupDateField;
-import com.itmill.toolkit.ui.ProgressIndicator;
-import com.itmill.toolkit.ui.Select;
-import com.itmill.toolkit.ui.TabSheet;
-import com.itmill.toolkit.ui.Table;
-import com.itmill.toolkit.ui.TextField;
-import com.itmill.toolkit.ui.Tree;
-import com.itmill.toolkit.ui.Window;
-import com.itmill.toolkit.ui.Button.ClickEvent;
-
-public class MagiTestApplication extends com.itmill.toolkit.Application {
-    Window main = new Window("Application window");
-
-    TheButton butts1;
-    TheButtons butts2;
-    TheButtons2 butts3;
-
-    Label mylabel1;
-    Label mylabel2;
-    Label mylabel3;
-
-    StreamResource strres;
-    OrderedLayout ol;
-    int getwincount = 0;
-
-    public void init() {
-        setTheme("tests-magi");
-        
-        setMainWindow(main);
-    }
-
-    public DownloadStream handleURI(URL context, String relativeUri) {
-        // Let default implementation handle requests for
-        // application resources.
-        if (relativeUri.startsWith("APP"))
-            return super.handleURI(context, relativeUri);
-        if (relativeUri.startsWith("win-"))
-            return super.handleURI(context, relativeUri);
-        
-        String example;
-        String param = null;
-
-        final int slashPos = relativeUri.indexOf("/");
-        if (slashPos > 0) {
-            example = relativeUri.substring(0, slashPos);
-            param = relativeUri.substring(slashPos + 1);
-        } else {
-            example = relativeUri;
-        }
-
-        /* Remove existing components and windows. */
-        main.removeAllComponents();
-        final Set childwindows = main.getChildWindows();
-        for (final Iterator cwi = childwindows.iterator(); cwi.hasNext();) {
-            final Window child = (Window) cwi.next();
-            main.removeWindow(child);
-        }
-        main.setLayout(new OrderedLayout());
-
-        if (example.equals("index")) {
-            final Object examples[] = { "defaultbutton", "label",
-                    "labelcontent", "tree", "embedded", "textfield",
-                    "textfieldvalidation", "datefield", "button",
-                    "select/select", "select/native", "select/optiongroup",
-                    "select/twincol", "filterselect", "validator", "table",
-                    "upload", "link", "gridlayout", "orderedlayout",
-                    "formlayout", "panel", "expandlayout", "tabsheet",
-                    "alignment", "alignment/grid", "window", "window/opener",
-                    "window/multiple", "classresource", "usererror",
-                    "progress/window", "progress/thread", "progress",
-                    "customlayout", "spacing", "margin", "clientinfo",
-                    "fillinform/templates"};
-            for (int i = 0; i < examples.length; i++) {
-                main.addComponent(new Label("<a href='/tk/testbench2/"
-                        + examples[i] + "'>" + examples[i] + "</a>",
-                        Label.CONTENT_XHTML));
-            }
-            return null;
-        }
-
-        if (example.equals("defaultbutton")) {
-            example_defaultButton(main, param);
-        } else if (example.equals("label")) {
-            example_Label(main, param);
-        } else if (example.equals("labelcontent")) {
-            example_LabelContent(main, param);
-        } else if (example.equals("tree")) {
-            example_Tree(main, param);
-        } else if (example.equals("embedded")) {
-            example_Embedded(main, param);
-        } else if (example.equals("textfield")) {
-            example_TextField(main, param);
-        } else if (example.equals("textfieldvalidation")) {
-            example_TextFieldValidation(main, param);
-        } else if (example.equals("usererror")) {
-            example_UserError(main, param);
-        } else if (example.equals("datefield")) {
-            example_DateField(main, param);
-        } else if (example.equals("button")) {
-            example_Button(main, param);
-        } else if (example.equals("checkbox")) {
-            example_CheckBox(main, param);
-        } else if (example.equals("select")) {
-            example_Select(main, param);
-        } else if (example.equals("filterselect")) {
-            example_FilterSelect(main, param);
-        } else if (example.equals("validator")) {
-            example_Validator(main, param);
-        } else if (example.equals("table")) {
-            example_Table(main, param);
-        } else if (example.equals("upload")) {
-            example_Upload(main, param);
-        } else if (example.equals("link")) {
-            example_Link(main, param);
-        } else if (example.equals("gridlayout")) {
-            example_GridLayout(main, param);
-        } else if (example.equals("orderedlayout")) {
-            example_OrderedLayout(main, param);
-        } else if (example.equals("formlayout")) {
-            example_FormLayout(main, param);
-        } else if (example.equals("tabsheet")) {
-            example_TabSheet(main, param);
-        } else if (example.equals("panel")) {
-            example_Panel(main, param);
-        } else if (example.equals("expandlayout")) {
-            example_ExpandLayout(main, param);
-        } else if (example.equals("alignment")) {
-            example_Alignment(main, param);
-        } else if (example.equals("window")) {
-            example_Window(main, param);
-        } else if (example.equals("classresource")) {
-            example_ClassResource(main, param);
-        } else if (example.equals("progress")) {
-            example_ProgressIndicator(main, param);
-        } else if (example.equals("customlayout")) {
-            example_CustomLayout(main, param);
-        } else if (example.equals("spacing")) {
-            example_Spacing(main, param);
-        } else if (example.equals("margin")) {
-            example_Margin(main, param);
-        } else if (example.equals("clientinfo")) {
-            example_ClientInfo(main, param);
-        } else if (example.equals("fillinform")) {
-            example_FillInForm(main, param);
-        } else {
-            ; // main.addComponent(new Label("Unknown test '"+example+"'."));
-        }
-
-        return null;
-    }
-
-    /*
-     * public Window getWindow(String name) { Window superwin =
-     * super.getWindow(name); if (superwin != null) return superwin;
-     * 
-     * main.addComponent(new Label("Request 2 for window '"+name+"'.")); if
-     * (name.equals("panel")) { Window window = new Window("Other Window " +
-     * getwincount++); example_Panel(window, null); return window; } return
-     * null; }
-     */
-    public void handleButton(Button.ClickEvent event) {
-        ol.addStyleName("myLayout2");
-    }
-
-    void example_defaultButton(Window main, String param) {
-        main.addComponent(new DefaultButtonExample(main));
-    }
-
-    void example_Label(Window main, String param) {
-        /* Some container for the Label. */
-        final Panel panel = new Panel("Panel Containing a Label");
-        main.addComponent(panel);
-
-        panel.addComponent(new Label(
-                "This is a Label inside a Panel. There is enough "
-                        + "text in the label to make the text wrap if it "
-                        + "exceeds the width of the panel."));
-    }
-
-    void example_LabelContent(Window main, String param) {
-        final GridLayout labelgrid = new GridLayout(2, 1);
-        labelgrid.addStyleName("labelgrid");
-        labelgrid.addComponent(new Label("CONTENT_DEFAULT"));
-        labelgrid.addComponent(new Label(
-                "This is a label in default mode: <plain text>",
-                Label.CONTENT_DEFAULT));
-        labelgrid.addComponent(new Label("CONTENT_PREFORMATTED"));
-        labelgrid
-                .addComponent(new Label(
-                        "This is a preformatted label.\nThe newline character \\n breaks the line.",
-                        Label.CONTENT_PREFORMATTED));
-        labelgrid.addComponent(new Label("CONTENT_RAW"));
-        labelgrid
-                .addComponent(new Label(
-                        "This is a label in raw mode.<br>It can contain, for example, unbalanced markup.",
-                        Label.CONTENT_RAW));
-        labelgrid.addComponent(new Label("CONTENT_TEXT"));
-        labelgrid.addComponent(new Label(
-                "This is a label in (plain) text mode", Label.CONTENT_TEXT));
-        labelgrid.addComponent(new Label("CONTENT_XHTML"));
-        labelgrid.addComponent(new Label(
-                "<i>This</i> is an <b>XHTML<b> formatted label",
-                Label.CONTENT_XHTML));
-        labelgrid.addComponent(new Label("CONTENT_XML"));
-        labelgrid.addComponent(new Label(
-                "This is an <myelement>XML</myelement> formatted label",
-                Label.CONTENT_XML));
-        main.addComponent(labelgrid);
-
-        final ClassResource labelimage = new ClassResource("smiley.jpg", this);
-        main.addComponent(new Label("Here we have an image <img src=\""
-                + getRelativeLocation(labelimage) + "\"/> within some text.",
-                Label.CONTENT_XHTML));
-    }
-
-    void example_Tree(Window main, String param) {
-        final Object[][] planets = new Object[][] {
-                new Object[] { "Mercury" },
-                new Object[] { "Venus" },
-                new Object[] { "Earth", "The Moon" },
-                new Object[] { "Mars", "Phobos", "Deimos" },
-                new Object[] { "Jupiter", "Io", "Europa", "Ganymedes", "Callisto" },
-                new Object[] { "Saturn", "Titan", "Tethys", "Dione", "Rhea", "Iapetus" },
-                new Object[] { "Uranus", "Miranda", "Ariel", "Umbriel", "Titania", "Oberon" },
-                new Object[] { "Neptune", "Triton", "Proteus", "Nereid", "Larissa" } };
-
-        final Tree tree = new Tree();
-
-        /* Add planets as root items in the tree. */
-        for (int i = 0; i < planets.length; i++) {
-            final String planet = (String) (planets[i][0]);
-            tree.addItem(planet);
-
-            if (planets[i].length == 1) {
-                /* The planet has no moons so make it a leaf. */
-                tree.setChildrenAllowed(planet, false);
-            } else {
-                /* Add children (moons) under the planets. */
-                for (int j = 1; j < planets[i].length; j++) {
-                    final String moon = (String) planets[i][j];
-
-                    /* Add the item as a regular item. */
-                    tree.addItem(moon);
-
-                    /* Set it to be a child. */
-                    tree.setParent(moon, planet);
-
-                    /* Make the moons look like leaves. */
-                    tree.setChildrenAllowed(moon, false);
-                }
-
-                /* Expand the subtree. */
-                tree.expandItemsRecursively(planet);
-            }
-        }
-        
-        // Horizontal layout with the tree on the left and a details panel on the right. 
-        final ExpandLayout horlayout = new ExpandLayout(OrderedLayout.ORIENTATION_HORIZONTAL);
-        horlayout.addStyleName("treeexample");
-        horlayout.setSizeFull();
-        
-        final Panel treepanel = new Panel("The Planets and Major Moons");
-        treepanel.addComponent(tree);
-        horlayout.addComponent(treepanel);
-        
-        final Panel detailspanel = new Panel("Details");
-        horlayout.addComponent(detailspanel);
-        horlayout.expand(detailspanel);
-        
-        final OrderedLayout detailslayout = new OrderedLayout();
-        detailspanel.setLayout(detailslayout);
-        
-        // When a tree item (planet or moon) is clicked, open the item in Details view.
-        tree.setImmediate(true);
-        tree.addListener(new ValueChangeListener() {
-            public void valueChange(ValueChangeEvent event) {
-                String planet = (String) tree.getValue();
-                detailspanel.setCaption("Details on " + planet);
-                detailslayout.removeAllComponents();
-                
-                // Put some stuff in the Details view.
-                detailslayout.addComponent(new Label("Where is the cat?"));
-                detailslayout.addComponent(new Label("The cat is in " + planet + "."));
-            }
-        });
-
-        main.setLayout(horlayout);
-    }
-
-    void example_Select(Window main, String param) {
-        final OrderedLayout layout = new OrderedLayout(
-                OrderedLayout.ORIENTATION_HORIZONTAL);
-        layout.addStyleName("aligntop");
-
-        if (param.equals("twincol")) {
-            final SelectExample select1 = new SelectExample(this, param,
-                    "Select some items", true);
-            layout.addComponent(select1);
-        } else if (param.equals("filter")) {
-            final SelectExample select1 = new SelectExample(this, param,
-                    "Enter containing substring", false);
-            layout.addComponent(select1);
-        } else {
-            final SelectExample select1 = new SelectExample(this, param,
-                    "Single Selection Mode", false);
-            final SelectExample select2 = new SelectExample(this, param,
-                    "Multiple Selection Mode", true);
-            layout.addComponent(select1);
-            layout.addComponent(select2);
-        }
-        main.addComponent(layout);
-    }
-
-    void example_FilterSelect(Window main, String param) {
-        final Select select = new Select("Enter containing substring");
-        main.addComponent(select);
-
-        select
-                .setFilteringMode(AbstractSelect.Filtering.FILTERINGMODE_CONTAINS);
-
-        /* Fill the component with some items. */
-        final String[] planets = new String[] { "Mercury", "Venus", "Earth",
-                "Mars", "Jupiter", "Saturn", "Uranus", "Neptune" };
-
-        for (int i = 0; i < planets.length; i++) {
-            for (int j = 0; j < planets.length; j++) {
-                select.addItem(planets[j] + " to " + planets[i]);
-            }
-        }
-    }
-
-    void example_TextField(Window main, String param) {
-        /* Add a single-line text field. */
-        final TextField subject = new TextField("Subject");
-        subject.setColumns(40);
-        main.addComponent(subject);
-
-        /* Add a multi-line text field. */
-        final TextField message = new TextField("Message");
-        message.setRows(7);
-        message.setColumns(40);
-        main.addComponent(message);
-    }
-
-    void example_TextFieldValidation(Window main, String param) {
-        // Create a text field with a label
-        final TextField username = new TextField("Username");
-        main.addComponent(username);
-
-        // Set visible length to 16 characters
-        username.setColumns(16);
-
-        // Set content length to minimum of 6 and maximum of 16 characters.
-        // The string also may not be null.
-        username.addValidator(new StringLengthValidator(
-                "Must be 6 to 16 characters long", 6, 16, false));
-
-        // Setting component immediate causes a ValueChangeEvent to occur
-        // when the TextField loses focus.
-        username.setImmediate(true);
-
-        // Listen for ValueChangeEvents and handle them
-        username.addListener(new ValueChangeListener() {
-            public void valueChange(ValueChangeEvent event) {
-                // Get the source of the event
-                final TextField username = (TextField) (event.getProperty());
-
-                try {
-                    // Validate the field value.
-                    username.validate();
-                } catch (final Validator.InvalidValueException e) {
-                    // The value was not ok. The error was set.
-                }
-            }
-        });
-    }
-
-    void example_UserError(final Window main, String param) {
-        if (param != null) {
-            if (param.equals("form")) {
-
-                final FormLayout layout = new FormLayout();
-                main.addComponent(layout);
-
-                final TextField textfield = new TextField("Enter name");
-                layout.addComponent(textfield);
-                textfield.setComponentError(null);
-
-                final Button button = new Button("Click me!");
-                layout.addComponent(button);
-
-                button.addListener(new Button.ClickListener() {
-                    public void buttonClick(ClickEvent event) {
-                        if (((String) textfield.getValue()).length() == 0) {
-                            textfield.setComponentError(new UserError(
-                                    "Must not be empty"));
-                        } else {
-                            textfield.setComponentError(null);
-                        }
-                    }
-                });
-            }
-        } else {
-            final TextField textfield = new TextField("Enter name");
-            main.addComponent(textfield);
-            textfield.setComponentError(null);
-
-            final Button button = new Button("Click me!");
-            main.addComponent(button);
-
-            button.addListener(new Button.ClickListener() {
-                public void buttonClick(ClickEvent event) {
-                    if (((String) textfield.getValue()).length() == 0) {
-                        textfield.setComponentError(new UserError(
-                                "Must not be empty"));
-                    } else {
-                        textfield.setComponentError(null);
-                    }
-                }
-            });
-        }
-    }
-
-    void example_DateField(Window main, String param) {
-        OrderedLayout layout = new OrderedLayout(OrderedLayout.ORIENTATION_HORIZONTAL);
-        
-        /* Create a DateField with the calendar style. */
-        final DateField popupdate = new PopupDateField("Popup calendar field");
-
-        /* Set resolution of the date/time display. */
-        popupdate.setResolution(DateField.RESOLUTION_MIN);
-
-        /* Set the date and time to present. */
-        popupdate.setValue(new java.util.Date());
-
-        /* Create a DateField with the calendar style. */
-        final DateField inlinedate = new InlineDateField("Inline calendar field");
-        
-        /* Set locale of the DateField to American English. */
-        inlinedate.setLocale(new Locale("en", "US"));
-
-        /* Set the date and time to present. */
-        inlinedate.setValue(new java.util.Date());
-
-        /* Set resolution of the date/time display. */
-        inlinedate.setResolution(DateField.RESOLUTION_MIN);
-
-        layout.addComponent(popupdate);
-        layout.addComponent(inlinedate);
-        layout.setSpacing(true);
-        main.addComponent(layout);
-    }
-
-    void example_Validator(Window main, String param) {
-        main.addComponent(new SSNField());
-    }
-
-    void example_Table(Window main, String param) {
-        main.addComponent(new TableExample());
-    }
-
-    void example_Upload(Window main, String param) {
-        main.addComponent(new MyUploader());
-    }
-
-    void example_Link(Window main, String param) {
-
-        /* Create a link that opens the popup window. */
-        final Link alink = new Link();
-
-        /* Set the resource to be opened in the window. */
-        alink.setResource(new ExternalResource("http://www.itmill.com/"));
-
-        main.addComponent(alink);
-
-        final ClassResource mydocument = new ClassResource("mydocument.pdf",
-                this);
-        main.addComponent(new Link("The document (pdf)", mydocument));
-        main.addComponent(new Link("link to a resource", new ExternalResource(
-                "http://www.itmill.com/")));
-    }
-
-    void example_Button(Window main, String param) {
-        if (param != null) {
-            if (param.equals("buttons")) {
-                main.addComponent(new TheButton());
-            }
-            return;
-        }
-
-        // butts1 = new TheButton ();
-        // main.addComponent(butts1);
-
-        // butts2 = new TheButtons (main);
-        // butts3 = new TheButtons2 (main);
-
-        // Button checkbox = new Button ("This is a checkbox");
-
-        // main.addComponent(checkbox);
-        final Button button = new Button("My Button");
-        main.addComponent(button);
-    }
-
-    void example_CheckBox(Window main, String param) {
-        /* A check box with default state (not checked, i.e., false). */
-        final CheckBox checkbox1 = new CheckBox("My CheckBox");
-        main.addComponent(checkbox1);
-
-        /* Another check box with explicitly set checked state. */
-        final CheckBox checkbox2 = new CheckBox("Checked CheckBox");
-        /*
-         * @TODO: Build fails here, why? checkbox2.setValue(true);
-         */
-        main.addComponent(checkbox2);
-
-        /*
-         * Make some application logic. We use anynymous listener classes here.
-         * The above references were defined as "final" to allow accessing them
-         * from inside anonymous classes.
-         */
-        checkbox1.addListener(new ValueChangeListener() {
-            public void valueChange(ValueChangeEvent event) {
-                /* Copy the value to the other checkbox. */
-                checkbox2.setValue(checkbox1.getValue());
-            }
-        });
-        checkbox2.addListener(new ValueChangeListener() {
-            public void valueChange(ValueChangeEvent event) {
-                /* Copy the value to the other checkbox. */
-                checkbox1.setValue(checkbox2.getValue());
-            }
-        });
-    }
-
-    void example_Panel(Window main, String param) {
-        // Create a panel with a caption.
-        final Panel panel = new Panel("Contact Information");
-
-        // Create a layout inside the panel
-        final OrderedLayout form = new FormLayout();
-
-        // Set the layout as the root layout of the panel
-        panel.setLayout(form);
-
-        // Add some components
-        form.addComponent(new TextField("Name"));
-        form.addComponent(new TextField("Email"));
-
-        // Add the panel to the main window
-        final ClassResource icon = new ClassResource("smiley.jpg", main
-                .getApplication());
-        form.addComponent(new Embedded("Image", icon));
-        panel.setIcon(icon);
-        panel.addComponent(form);
-        main.addComponent(panel);
-    }
-
-    void example_GridLayout(Window main, String param) {
-        /* Create a 4 by 4 grid layout. */
-        final GridLayout grid = new GridLayout(4, 4);
-        grid.addStyleName("example-gridlayout");
-
-        /* Fill out the first row using the cursor. */
-        grid.addComponent(new Button("R/C 1"));
-        for (int i = 0; i < 3; i++) {
-            grid.addComponent(new Button("Col " + (grid.getCursorX() + 1)));
-        }
-
-        /* Fill out the first column using coordinates. */
-        for (int i = 1; i < 4; i++) {
-            grid.addComponent(new Button("Row " + i), 0, i);
-        }
-
-        /* Add some components of various shapes. */
-        grid.addComponent(new Button("3x1 button"), 1, 1, 3, 1);
-        grid.addComponent(new Label("1x2 cell"), 1, 2, 1, 3);
-        final InlineDateField date = new InlineDateField("A 2x2 date field");
-        date.setResolution(DateField.RESOLUTION_DAY);
-        grid.addComponent(date, 2, 2, 3, 3);
-
-        main.addComponent(grid);
-    }
-
-    void example_Alignment(Window main, String param) {
-        if (param.equals("grid")) {
-            /* Create a 3 by 3 grid layout. */
-            final GridLayout layout = new GridLayout(3, 3);
-            // OrderedLayout layout = new
-            // OrderedLayout(OrderedLayout.ORIENTATION_VERTICAL);
-            main.setLayout(layout);
-            layout.addStyleName("example-alignment");
-
-            layout.setWidth(400, Sizeable.UNITS_PIXELS);
-            layout.setHeight(400, Sizeable.UNITS_PIXELS);
-
-            /* Define cells and their layouts to create. */
-            
-             Object cells[][] = {
-                     {new Button("Top Left"),      new Integer(OrderedLayout.ALIGNMENT_LEFT),              new Integer(OrderedLayout.ALIGNMENT_TOP)},
-                     {new Label("Top Center"),    new Integer(OrderedLayout.ALIGNMENT_HORIZONTAL_CENTER), new Integer(OrderedLayout.ALIGNMENT_TOP)},
-                     {new Label("Top Right"),     new Integer(OrderedLayout.ALIGNMENT_RIGHT),             new Integer(OrderedLayout.ALIGNMENT_TOP)},
-                     {new Button("Center Left"),   new Integer(OrderedLayout.ALIGNMENT_LEFT),              new Integer(OrderedLayout.ALIGNMENT_VERTICAL_CENTER)},
-                     {new Button("Center Center"), new Integer(OrderedLayout.ALIGNMENT_HORIZONTAL_CENTER), new Integer(OrderedLayout.ALIGNMENT_VERTICAL_CENTER)},
-                     {new Button("Center Right"),  new Integer(OrderedLayout.ALIGNMENT_RIGHT),             new Integer(OrderedLayout.ALIGNMENT_VERTICAL_CENTER)},
-                     {new Button("Bottom Left"),   new Integer(OrderedLayout.ALIGNMENT_LEFT),              new Integer(OrderedLayout.ALIGNMENT_BOTTOM)},
-                     {new Button("Bottom Center"), new Integer(OrderedLayout.ALIGNMENT_HORIZONTAL_CENTER), new Integer(OrderedLayout.ALIGNMENT_BOTTOM)},
-                     {new Button("Bottom Right"),  new Integer(OrderedLayout.ALIGNMENT_RIGHT),             new Integer(OrderedLayout.ALIGNMENT_BOTTOM)}};
-             
-             for (int i=0; i<9; i++) {
-                 ExpandLayout celllayout = new ExpandLayout(OrderedLayout.ORIENTATION_HORIZONTAL);
-                 celllayout.addComponent((Component) cells[i][0]);
-                 celllayout.setComponentAlignment((Component)cells[i][0], ((Integer)cells[i][1]).intValue(), ((Integer)cells[i][2]).intValue());
-                 layout.addComponent(celllayout);
-                 //layout.setComponentAlignment((Component)cells[i][0], ((Integer)cells[i][1]).intValue(), ((Integer)cells[i][2]).intValue());
-             }
-        } else {
-            final Panel panel = new Panel("A Panel with a Layout");
-            main.addComponent(panel);
-
-            // panel.addComponent(new )
-        }
-    }
-
-    void example_OrderedLayout(Window main, String param) {
-        final OrderedLayout layout = new OrderedLayout(
-                OrderedLayout.ORIENTATION_VERTICAL);
-        layout.addComponent(new TextField("Name"));
-        layout.addComponent(new TextField("Street address"));
-        layout.addComponent(new TextField("Postal code"));
-        main.addComponent(layout);
-    }
-
-    void example_FormLayout(Window main, String param) {
-        final FormLayout layout = new FormLayout();
-        layout.addComponent(new TextField("Name"));
-        layout.addComponent(new TextField("Street address"));
-        layout.addComponent(new TextField("Postal code"));
-        main.addComponent(layout);
-    }
-
-    void example_ExpandLayout(Window main, String param) {
-        if (param != null && param.equals("centered")) {
-            Label widget = new Label("Here is text");
-    
-            ExpandLayout layout = new ExpandLayout(OrderedLayout.ORIENTATION_HORIZONTAL);
-            layout.addComponent(widget);
-            layout.expand(widget);
-            layout.setComponentAlignment(widget, OrderedLayout.ALIGNMENT_HORIZONTAL_CENTER, OrderedLayout.ALIGNMENT_VERTICAL_CENTER);
-            layout.setWidth(100, Sizeable.UNITS_PERCENTAGE);
-            layout.setHeight(100, Sizeable.UNITS_PERCENTAGE);
-    
-            main.setLayout(layout);
-            
-            return;
-        } else if (param != null && param.equals("window")) {
-            Window window = new Window("Progress");
-            window.setHeight(100, Sizeable.UNITS_PIXELS);
-            window.setWidth(200, Sizeable.UNITS_PIXELS);
-            main.addWindow(window);
-            
-            ProgressIndicator progress = new ProgressIndicator(new Float(0.4));
-            progress.addStyleName("fullwidth");
-            progress.setPollingInterval(1000000);
-            progress.setIndeterminate(false);
-    
-            ExpandLayout layout = new ExpandLayout(OrderedLayout.ORIENTATION_HORIZONTAL);
-            layout.setHeight(100, Sizeable.UNITS_PERCENTAGE);
-            layout.setComponentAlignment(progress, OrderedLayout.ALIGNMENT_HORIZONTAL_CENTER, OrderedLayout.ALIGNMENT_VERTICAL_CENTER);
-            window.setLayout(layout);
-            window.addComponent(progress);
-            
-            return;
-        } else if (param != null && param.equals("size")) {
-            ExpandLayout layout = new ExpandLayout();
-            layout.setSizeFull();
-            main.setLayout(layout);
-
-            Button button = new Button("This is a button in middle of nowhere");
-            layout.addComponent(button);
-            layout.setComponentAlignment(button, OrderedLayout.ALIGNMENT_HORIZONTAL_CENTER, OrderedLayout.ALIGNMENT_VERTICAL_CENTER);
-            
-            return;
-        }
-
-        for (int w = 0; w < 2; w++) {
-            final ExpandLayout layout = new ExpandLayout(
-                    OrderedLayout.ORIENTATION_VERTICAL);
-
-            /* Set the expanding layout as the root layout of a child window. */
-            final Window window = new Window("A Child Window", layout);
-            main.addWindow(window);
-
-            /* Add some component above the expanding one. */
-            layout.addComponent(new Label("Here be some component."));
-
-            /* Create the expanding component. */
-            final Table table = new Table("My Ever-Expanding Table");
-            /*
-             * FIXME Java 5 -> 1.4 for (int i=0; i<5; i++)
-             * table.addContainerProperty("col "+(i+1), Integer.class, 0); for
-             * (int j=0; j<20; j++) table.addItem(new
-             * Object[]{1*j,2*j,3*j,4*j,5*j}, j);
-             */
-            layout.addComponent(table);
-
-            /* Designate the table to be the expanding component. */
-            layout.expand(table);
-
-            /* Set it to use all available area. */
-            table.setSizeFull();
-
-            /* Add some component below the expanding one. */
-            final Button button2 = new Button("Ok");
-            layout.addComponent(button2);
-            layout.setComponentAlignment(button2,
-                    OrderedLayout.ALIGNMENT_RIGHT, 0);
-        }
-    }
-
-    void example_TabSheet(Window main, String param) {
-        if (param.equals("icon")) {
-            final TabSheet tabsheet = new TabSheet();
-
-            tabsheet.addTab(new Label("Contents of the first tab"),
-                    "First Tab", new ClassResource("images/Mercury_small.png",
-                            main.getApplication()));
-            tabsheet.addTab(new Label("Contents of the second tab"),
-                    "Second Tab", new ClassResource("images/Venus_small.png",
-                            this));
-            tabsheet.addTab(new Label("Contents of the third tab"),
-                    "Third tab", new ClassResource("images/Earth_small.png",
-                            this));
-
-            main.addComponent(tabsheet);
-            // main.addComponent(new Embedded("Emb", new ClassResource
-            // ("images/Mercury_small.png", this)));
-        } else if (param.equals("expanding")) {
-            // Create the layout
-            ExpandLayout expanding = new ExpandLayout(OrderedLayout.ORIENTATION_VERTICAL);
-            
-            // It is important to set the expanding layout as the root layout
-            // of the containing window, in this case the main window, and not
-            // use addComponent(), which would place the layout inside the
-            // default root layout.
-            main.setLayout(expanding);
-            
-            // Create a tab sheet that fills the expanding layout
-            final TabSheet tabsheet = new TabSheet();
-            tabsheet.addTab(new Label("Contents of the first tab"), "First Tab", null);
-            tabsheet.addTab(new Label("Contents of the second tab"), "Second Tab", null);
-            tabsheet.addTab(new Label("Contents of the third tab"), "Third tab", null);
-            
-            // Set the tabsheet to scale to full size inside its container
-            tabsheet.setWidth(100, Sizeable.UNITS_PERCENTAGE);
-            tabsheet.setHeight(100, Sizeable.UNITS_PERCENTAGE);
-
-            // Add the tab sheet to the layout as usual
-            expanding.addComponent(tabsheet);
-
-            // Set the tab sheet to be the expanding component
-            expanding.expand(tabsheet);
-        } else if (param.equals("ordered")) {
-            // Create the layout
-            OrderedLayout layout = new OrderedLayout(OrderedLayout.ORIENTATION_VERTICAL);
-            
-            // It is important to set the expanding layout as the root layout
-            // of the containing window, in this case the main window, and not
-            // use addComponent(), which would place the layout inside the
-            // default root layout.
-            main.setLayout(layout);
-            
-            // Create a tab sheet that fills the expanding layout
-            final TabSheet tabsheet = new TabSheet();
-            tabsheet.addTab(new Label("Contents of the first tab"), "First Tab", null);
-            tabsheet.addTab(new Label("Contents of the second tab"), "Second Tab", null);
-            tabsheet.addTab(new Label("Contents of the third tab"), "Third tab", null);
-            
-            // Set the tabsheet to scale to full size inside its container
-            tabsheet.setWidth(100, Sizeable.UNITS_PERCENTAGE);
-            //tabsheet().setHeight(100, Sizeable.UNITS_PERCENTAGE);
-
-            // Add the tab sheet to the layout as usual
-            layout.addComponent(tabsheet);
-        } else {
-            main.addComponent(new TabSheetExample());
-        }
-    }
-
-    void example_Embedded(Window main, String param) {
-        final Embedded image = new Embedded("", new ClassResource("smiley.jpg",
-                this));
-        image.addStyleName("omaimage");
-        main.addComponent(image);
-
-        final EmbeddedButton button = new EmbeddedButton(new ClassResource(
-                "smiley.jpg", this));
-        main.addComponent(button);
-    }
-
-    void example_Window(Window main, String param) {
-        if (param != null) {
-            if (param.equals("opener")) {
-                main.addComponent(new WindowOpener("Window Opener", main));
-            } else if (param.equals("multiple")) {
-                /* Create a new window. */
-                final Window mywindow = new Window("Second Window");
-                mywindow.setName("mywindow");
-                mywindow.addComponent(new Label("This is a second window."));
-
-                /* Add the window to the application. */
-                main.getApplication().addWindow(mywindow);
-
-                /* Add link to the second window in the main window. */
-                main.addComponent(new Label("Second window: <a href='"
-                        + mywindow.getURL() + "'>middle-click to open</a>",
-                        Label.CONTENT_XHTML));
-                main.addComponent(new Label(
-                        "The second window can be accessed through URL: "
-                                + mywindow.getURL()));
-            }
-            return;
-        }
-
-        /* Create a new window. */
-        final Window mywindow = new Window("My Window");
-        mywindow.setName("mywindow");
-
-        /* Add some components in the window. */
-        mywindow.addComponent(new Label("A text label in the window."));
-        final Button okbutton = new Button("OK");
-        mywindow.addComponent(okbutton);
-
-        /* Set window size. */
-        mywindow.setHeight(200);
-        mywindow.setWidth(400);
-
-        /* Set window position. */
-        mywindow.setPositionX(200);
-        mywindow.setPositionY(50);
-
-        /* Add the window to the Application object. */
-        main.addWindow(mywindow);
-
-    }
-
-    void example_ClassResource(Window main, String param) {
-        final DateField df = new DateField();
-        main.addComponent(df);
-        df.setIcon(new ClassResource("smiley.jpg", main.getApplication()));
-        main.addComponent(new Embedded("This is Embedded", new ClassResource(
-                "smiley.jpg", main.getApplication())));
-    }
-    
-    void example_ProgressIndicator(final Window main, String param) {
-        if (param != null) {
-            if (param.equals("thread")) {
-
-                // Create the indicator
-                final ProgressIndicator indicator = new ProgressIndicator(new Float(0.0));
-                main.addComponent(indicator);
-                
-                // Set polling frequency to 0.5 seconds.
-                indicator.setPollingInterval(1000);
-                
-                //indicator.addStyleName("invisible");
-                final Label text = new Label("-- Not running --");
-                main.addComponent(text);
-                
-                // Add a button to start the progress
-                final Button button = new Button("Click to start");
-                main.addComponent(button);
-        
-                // Another thread to do some work
-                class WorkThread extends Thread {
-                    public void run () {
-                        double current = 0.0;
-                        while (true) {
-                            // Do some "heavy work"
-                            try {
-                                sleep(50); // Sleep for 50 milliseconds
-                            } catch (InterruptedException e) {}
-                            
-                            // Grow the progress value until it reaches 1.0.
-                            current += 0.01;
-                            if (current>1.0)
-                                indicator.setValue(new Float(1.0));
-                            else 
-                                indicator.setValue(new Float(current));
-                            
-                            // After the progress is full for a while, stop.
-                            if (current > 1.2) {
-                                // Restore the state to initial.
-                                indicator.setValue(new Float(0.0));
-                                button.setVisible(true);
-                                break;
-                            }
-                        }
-                    }
-                }
-                
-                // Clicking the button creates and runs a work thread
-                button.addListener(new Button.ClickListener() {
-                    public void buttonClick(ClickEvent event) {
-                        final WorkThread thread = new WorkThread();
-                        thread.start();
-                        
-                        // The button hides until the work is done.
-                        button.setVisible(false);
-                    }
-                });
-            } else if (param.equals("window")) {
-                // Create a table in the main window to hold items added in the second window
-                final Table table = new Table();
-                table.setPageLength(5);
-                table.setWidth(100, Sizeable.UNITS_PERCENTAGE);
-                table.addContainerProperty("Name", String.class, "");
-                main.addComponent(table);
-
-                // Create the second window
-                final Window adderWindow = new Window("Add Items");
-                adderWindow.setName("win-adder");
-                main.getApplication().addWindow(adderWindow);
-
-                // Create selection component to add items to the table
-                final NativeSelect select = new NativeSelect("Select item to add");
-                select.setImmediate(true);
-                adderWindow.addComponent(select);
-                
-                // Add some items to the selection
-                String items[] = new String[]{"-- Select --", "Mercury", "Venus", 
-                        "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"};
-                for (int i=0; i<items.length; i++)
-                    select.addItem(items[i]);
-                select.setNullSelectionItemId(items[0]);
-                
-                // When an item is selected in the second window, add
-                // table in the main window
-                select.addListener(new ValueChangeListener() {
-                    public void valueChange(ValueChangeEvent event) {
-                        // If the selected value is something else but null selection item.
-                        if (select.getValue() != null) {
-                            // Add the selected item to the table in the main window
-                            table.addItem(new Object[]{select.getValue()}, new Integer(table.size()));
-                        }
-                    }
-                });
-
-                // Link to open the selection window
-                Link link = new Link("Click to open second window",
-                                     new ExternalResource(adderWindow.getURL()),
-                                     "_new", 50, 200, Link.TARGET_BORDER_DEFAULT);
-                main.addComponent(link);
-
-                // Enable polling to update the main window
-                ProgressIndicator poller = new ProgressIndicator();
-                poller.addStyleName("invisible");
-                main.addComponent(poller);
-            } else if (param.equals("centered")) {
-/*                GridLayout grid = new GridLayout(3,3);
-                main.setLayout(grid);
-                grid().setWidth(100, Sizeable.UNITS_PERCENTAGE);
-                
-                ExpandLayout layout2 = new ExpandLayout(OrderedLayout.ORIENTATION_HORIZONTAL);
-                layout2().setWidth(50, Sizeable.UNITS_PERCENTAGE);
-
-                ProgressIndicator poller = new ProgressIndicator(new Float(0.4));
-                poller.setPollingInterval(1000000);
-                poller.setIndeterminate(false);
-                layout2.addComponent(poller);
-
-                grid.addComponent(layout2, 1, 1);
-                */
-
-                //ExpandLayout layout2 = new ExpandLayout(OrderedLayout.ORIENTATION_HORIZONTAL);
-                
-                /*ProgressIndicator poller = new ProgressIndicator(new Float(0.4));
-                poller.setPollingInterval(1000000);
-                poller.setIndeterminate(false);*/
-                /*layout2.addComponent(poller);
-                layout2().setWidth(50, Sizeable.UNITS_PERCENTAGE);*/
-                
-                //layout.setComponentAlignment(poller, OrderedLayout.ALIGNMENT_HORIZONTAL_CENTER, OrderedLayout.ALIGNMENT_VERTICAL_CENTER);
-                /*GridLayout grid = new GridLayout(1,1);
-                grid.addComponent(layout2, 0, 0);
-                grid().setWidth(100, Sizeable.UNITS_PERCENTAGE);*/
-                
-                /*GridLayout layout = new GridLayout(1,1); //OrderedLayout.ORIENTATION_HORIZONTAL);
-                layout.addComponent(poller);
-                //layout.expand(poller);
-                layout.setComponentAlignment(poller, OrderedLayout.ALIGNMENT_HORIZONTAL_CENTER, OrderedLayout.ALIGNMENT_VERTICAL_CENTER);
-                layout().setWidth(100, Sizeable.UNITS_PERCENTAGE);
-                layout().setHeight(100, Sizeable.UNITS_PERCENTAGE);*/
-                
-            }
-        } else {
-            ProgressIndicator poller = new ProgressIndicator(new Float(0.0));
-            poller.setPollingInterval(1000000);
-            poller.setIndeterminate(true);
-            main.addComponent(poller);
-        }
-    }
-    
-    void example_CustomLayout(final Window main, String param) {
-        Window sub = new Window("Login");
-        sub.setModal(true);
-        main.addWindow(sub);
-        
-        // Create the custom layout and set it as the root layout of
-        // the containing window.
-        CustomLayout custom = new CustomLayout("layoutname");
-        sub.setLayout(custom);
-        
-        // Create components and bind them to the location tags
-        // in the custom layout.
-        TextField username = new TextField();
-        custom.addComponent(username, "username");
-        
-        TextField password = new TextField();
-        custom.addComponent(password, "password");
-        
-        Button ok = new Button("Login");
-        custom.addComponent(ok, "okbutton");
-    }
-
-    void example_Spacing(final Window main, String param) {
-        OrderedLayout containinglayout = new OrderedLayout();
-        main.setLayout(containinglayout);
-
-        GridLayout grid = new GridLayout(4,3);
-        grid.addStyleName("spacingexample");
-        containinglayout.addComponent(grid);
-        grid.addComponent(new Label(""), 0, 0);
-        grid.addComponent(new Label(""), 1, 0);
-        
-        grid.addComponent(new Label("No spacing:"),0,1);
-        OrderedLayout layout1 = new OrderedLayout(OrderedLayout.ORIENTATION_HORIZONTAL);
-        grid.addComponent(layout1,1,1);
-        layout1.addStyleName("spacingexample");
-        layout1.addComponent(new Button("Component 1"));
-        layout1.addComponent(new Button("Component 2"));
-        layout1.addComponent(new Button("Component 3"));
-        
-        grid.addComponent(new Label("Horizontal spacing:"), 0, 2);
-        OrderedLayout layout2 = new OrderedLayout(OrderedLayout.ORIENTATION_HORIZONTAL);
-        grid.addComponent(layout2,1,2);
-        layout2.addStyleName("spacingexample");
-        layout2.setSpacing(true);
-        layout2.addComponent(new Button("Component 1"));
-        layout2.addComponent(new Button("Component 2"));
-        layout2.addComponent(new Button("Component 3"));
-
-        grid.addComponent(new Label("No spacing:"),2,0);
-        OrderedLayout layout3 = new OrderedLayout(OrderedLayout.ORIENTATION_VERTICAL);
-        grid.addComponent(layout3,2,1,2,2);
-        layout3.addStyleName("spacingexample");
-        layout3.addComponent(new Button("Component 1"));
-        layout3.addComponent(new Button("Component 2"));
-        layout3.addComponent(new Button("Component 3"));
-
-        grid.addComponent(new Label("Vertical spacing:"),3,0);
-        OrderedLayout layout4 = new OrderedLayout(OrderedLayout.ORIENTATION_VERTICAL);
-        grid.addComponent(layout4,3,1,3,2);
-        layout4.addStyleName("spacingexample");
-        layout4.setSpacing(true);
-        layout4.addComponent(new Button("Component 1"));
-        layout4.addComponent(new Button("Component 2"));
-        layout4.addComponent(new Button("Component 3"));
-}
-
-    void example_Margin(final Window main, String param) {
-        OrderedLayout hor = new OrderedLayout(OrderedLayout.ORIENTATION_HORIZONTAL);
-        main.setLayout(hor);
-        
-        OrderedLayout containinglayout = new OrderedLayout();
-        hor.addComponent(containinglayout);
-
-        OrderedLayout layout1 = new OrderedLayout();
-        containinglayout.addComponent(new Label("Regular layout margins:"));
-        containinglayout.addComponent(layout1);
-        layout1.addStyleName("marginexample1");
-        layout1.addComponent(new Button("Component 1"));
-        layout1.addComponent(new Button("Component 2"));
-        layout1.addComponent(new Button("Component 3"));
-
-        // Create a layout
-        OrderedLayout layout2 = new OrderedLayout();
-        containinglayout.addComponent(new Label("Layout with a special margin element:"));
-        containinglayout.addComponent(layout2);
-        
-        // Set style name for the layout to allow styling it
-        layout2.addStyleName("marginexample2");
-        
-        // Have margin on all sides around the layout
-        layout2.setMargin(true);
-        
-        // Put something inside the layout
-        layout2.addComponent(new Button("Component 1"));
-        layout2.addComponent(new Button("Component 2"));
-        layout2.addComponent(new Button("Component 3"));
-    }
-
-    void example_ClientInfo(final Window main, String param) {
-        // Get the client identification string
-        WebApplicationContext context2 = (WebApplicationContext) getContext();
-        String browserApplication = context2.getBrowser().getBrowserApplication();
-        
-        // Add a browser-dependent style name for the main window
-        if (browserApplication.indexOf("Firefox/2") != -1)
-            main.addStyleName("firefox2");
-        
-        // Display the client identification string
-        main.addComponent(new Label(browserApplication));
-    }
-
-    void example_FillInForm(final Window main, String param) {
-       if (param.equals("templates")) {        
-               // Create a custom layout from the fill-in-form.html template.
-               CustomLayout fillinlayout = new CustomLayout("fill-in-form");
-       
-               // The style will set the display to be "inline".
-               fillinlayout.addStyleName("fillinlayout");
-       
-               // Create the fields that occur in the text.
-               TextField field1 = new TextField();
-               TextField field2 = new TextField();
-               fillinlayout.addComponent(field1, "q1");
-               fillinlayout.addComponent(field2, "q2");
-       
-               main.addComponent(fillinlayout);
-       } else {
-               String fillintext = "The <q1> is mightier than <q2>.";
-               int pos = 0;
-               while (pos < fillintext.length()) {
-                       int nexttag = fillintext.indexOf("<", pos);
-                       if (nexttag == -1) {
-                               
-                       }
-               }
-       }
-    }
-}
diff --git a/src/com/itmill/toolkit/tests/book/images/Earth_small.png b/src/com/itmill/toolkit/tests/book/images/Earth_small.png
new file mode 100644 (file)
index 0000000..abe9227
Binary files /dev/null and b/src/com/itmill/toolkit/tests/book/images/Earth_small.png differ
diff --git a/src/com/itmill/toolkit/tests/book/images/Earth_symbol.png b/src/com/itmill/toolkit/tests/book/images/Earth_symbol.png
new file mode 100644 (file)
index 0000000..6060358
Binary files /dev/null and b/src/com/itmill/toolkit/tests/book/images/Earth_symbol.png differ
diff --git a/src/com/itmill/toolkit/tests/book/images/Jupiter_symbol.png b/src/com/itmill/toolkit/tests/book/images/Jupiter_symbol.png
new file mode 100644 (file)
index 0000000..7a973be
Binary files /dev/null and b/src/com/itmill/toolkit/tests/book/images/Jupiter_symbol.png differ
diff --git a/src/com/itmill/toolkit/tests/book/images/Mars_symbol.png b/src/com/itmill/toolkit/tests/book/images/Mars_symbol.png
new file mode 100644 (file)
index 0000000..7ab7616
Binary files /dev/null and b/src/com/itmill/toolkit/tests/book/images/Mars_symbol.png differ
diff --git a/src/com/itmill/toolkit/tests/book/images/Mercury_small.png b/src/com/itmill/toolkit/tests/book/images/Mercury_small.png
new file mode 100644 (file)
index 0000000..ef69931
Binary files /dev/null and b/src/com/itmill/toolkit/tests/book/images/Mercury_small.png differ
diff --git a/src/com/itmill/toolkit/tests/book/images/Mercury_symbol.png b/src/com/itmill/toolkit/tests/book/images/Mercury_symbol.png
new file mode 100644 (file)
index 0000000..97c09d1
Binary files /dev/null and b/src/com/itmill/toolkit/tests/book/images/Mercury_symbol.png differ
diff --git a/src/com/itmill/toolkit/tests/book/images/Neptune_symbol.png b/src/com/itmill/toolkit/tests/book/images/Neptune_symbol.png
new file mode 100644 (file)
index 0000000..2b84811
Binary files /dev/null and b/src/com/itmill/toolkit/tests/book/images/Neptune_symbol.png differ
diff --git a/src/com/itmill/toolkit/tests/book/images/Saturn_symbol.png b/src/com/itmill/toolkit/tests/book/images/Saturn_symbol.png
new file mode 100644 (file)
index 0000000..f4b7e5c
Binary files /dev/null and b/src/com/itmill/toolkit/tests/book/images/Saturn_symbol.png differ
diff --git a/src/com/itmill/toolkit/tests/book/images/Uranus_symbol.png b/src/com/itmill/toolkit/tests/book/images/Uranus_symbol.png
new file mode 100644 (file)
index 0000000..74f755f
Binary files /dev/null and b/src/com/itmill/toolkit/tests/book/images/Uranus_symbol.png differ
diff --git a/src/com/itmill/toolkit/tests/book/images/Venus_small.png b/src/com/itmill/toolkit/tests/book/images/Venus_small.png
new file mode 100644 (file)
index 0000000..7bcac3f
Binary files /dev/null and b/src/com/itmill/toolkit/tests/book/images/Venus_small.png differ
diff --git a/src/com/itmill/toolkit/tests/book/images/Venus_symbol.png b/src/com/itmill/toolkit/tests/book/images/Venus_symbol.png
new file mode 100644 (file)
index 0000000..6d08313
Binary files /dev/null and b/src/com/itmill/toolkit/tests/book/images/Venus_symbol.png differ
diff --git a/src/com/itmill/toolkit/tests/magi/images/Earth_small.png b/src/com/itmill/toolkit/tests/magi/images/Earth_small.png
deleted file mode 100644 (file)
index abe9227..0000000
Binary files a/src/com/itmill/toolkit/tests/magi/images/Earth_small.png and /dev/null differ
diff --git a/src/com/itmill/toolkit/tests/magi/images/Earth_symbol.png b/src/com/itmill/toolkit/tests/magi/images/Earth_symbol.png
deleted file mode 100644 (file)
index 6060358..0000000
Binary files a/src/com/itmill/toolkit/tests/magi/images/Earth_symbol.png and /dev/null differ
diff --git a/src/com/itmill/toolkit/tests/magi/images/Jupiter_symbol.png b/src/com/itmill/toolkit/tests/magi/images/Jupiter_symbol.png
deleted file mode 100644 (file)
index 7a973be..0000000
Binary files a/src/com/itmill/toolkit/tests/magi/images/Jupiter_symbol.png and /dev/null differ
diff --git a/src/com/itmill/toolkit/tests/magi/images/Mars_symbol.png b/src/com/itmill/toolkit/tests/magi/images/Mars_symbol.png
deleted file mode 100644 (file)
index 7ab7616..0000000
Binary files a/src/com/itmill/toolkit/tests/magi/images/Mars_symbol.png and /dev/null differ
diff --git a/src/com/itmill/toolkit/tests/magi/images/Mercury_small.png b/src/com/itmill/toolkit/tests/magi/images/Mercury_small.png
deleted file mode 100644 (file)
index ef69931..0000000
Binary files a/src/com/itmill/toolkit/tests/magi/images/Mercury_small.png and /dev/null differ
diff --git a/src/com/itmill/toolkit/tests/magi/images/Mercury_symbol.png b/src/com/itmill/toolkit/tests/magi/images/Mercury_symbol.png
deleted file mode 100644 (file)
index 97c09d1..0000000
Binary files a/src/com/itmill/toolkit/tests/magi/images/Mercury_symbol.png and /dev/null differ
diff --git a/src/com/itmill/toolkit/tests/magi/images/Neptune_symbol.png b/src/com/itmill/toolkit/tests/magi/images/Neptune_symbol.png
deleted file mode 100644 (file)
index 2b84811..0000000
Binary files a/src/com/itmill/toolkit/tests/magi/images/Neptune_symbol.png and /dev/null differ
diff --git a/src/com/itmill/toolkit/tests/magi/images/Saturn_symbol.png b/src/com/itmill/toolkit/tests/magi/images/Saturn_symbol.png
deleted file mode 100644 (file)
index f4b7e5c..0000000
Binary files a/src/com/itmill/toolkit/tests/magi/images/Saturn_symbol.png and /dev/null differ
diff --git a/src/com/itmill/toolkit/tests/magi/images/Uranus_symbol.png b/src/com/itmill/toolkit/tests/magi/images/Uranus_symbol.png
deleted file mode 100644 (file)
index 74f755f..0000000
Binary files a/src/com/itmill/toolkit/tests/magi/images/Uranus_symbol.png and /dev/null differ
diff --git a/src/com/itmill/toolkit/tests/magi/images/Venus_small.png b/src/com/itmill/toolkit/tests/magi/images/Venus_small.png
deleted file mode 100644 (file)
index 7bcac3f..0000000
Binary files a/src/com/itmill/toolkit/tests/magi/images/Venus_small.png and /dev/null differ
diff --git a/src/com/itmill/toolkit/tests/magi/images/Venus_symbol.png b/src/com/itmill/toolkit/tests/magi/images/Venus_symbol.png
deleted file mode 100644 (file)
index 6d08313..0000000
Binary files a/src/com/itmill/toolkit/tests/magi/images/Venus_symbol.png and /dev/null differ