You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pivot.apache.org by gb...@apache.org on 2010/06/25 00:07:41 UTC

svn commit: r957733 - in /pivot/trunk: core/src/org/apache/pivot/beans/ tools/src/org/apache/pivot/tools/wtk/ tutorials/src/org/apache/pivot/tutorials/menus/ tutorials/src/org/apache/pivot/tutorials/progress/

Author: gbrown
Date: Thu Jun 24 22:07:40 2010
New Revision: 957733

URL: http://svn.apache.org/viewvc?rev=957733&view=rev
Log:
Update more tutorials to use Bindable.

Modified:
    pivot/trunk/core/src/org/apache/pivot/beans/BeanSerializer.java
    pivot/trunk/tools/src/org/apache/pivot/tools/wtk/EventLoggerSkin.java
    pivot/trunk/tutorials/src/org/apache/pivot/tutorials/menus/ContextMenus.java
    pivot/trunk/tutorials/src/org/apache/pivot/tutorials/menus/MenuBars.java
    pivot/trunk/tutorials/src/org/apache/pivot/tutorials/menus/MenuButtons.java
    pivot/trunk/tutorials/src/org/apache/pivot/tutorials/menus/context_menus.bxml
    pivot/trunk/tutorials/src/org/apache/pivot/tutorials/menus/document.bxml
    pivot/trunk/tutorials/src/org/apache/pivot/tutorials/menus/menu_bars.bxml
    pivot/trunk/tutorials/src/org/apache/pivot/tutorials/menus/menu_buttons.bxml
    pivot/trunk/tutorials/src/org/apache/pivot/tutorials/progress/ActivityIndicators.java
    pivot/trunk/tutorials/src/org/apache/pivot/tutorials/progress/Meters.java
    pivot/trunk/tutorials/src/org/apache/pivot/tutorials/progress/activity_indicators.bxml
    pivot/trunk/tutorials/src/org/apache/pivot/tutorials/progress/meters.bxml

Modified: pivot/trunk/core/src/org/apache/pivot/beans/BeanSerializer.java
URL: http://svn.apache.org/viewvc/pivot/trunk/core/src/org/apache/pivot/beans/BeanSerializer.java?rev=957733&r1=957732&r2=957733&view=diff
==============================================================================
--- pivot/trunk/core/src/org/apache/pivot/beans/BeanSerializer.java (original)
+++ pivot/trunk/core/src/org/apache/pivot/beans/BeanSerializer.java Thu Jun 24 22:07:40 2010
@@ -1199,17 +1199,6 @@ public class BeanSerializer implements S
         return value;
     }
 
-    /**
-     * Provides typed access to named objects. Delegates to {@link #get(String)} and casts
-     * the return value to <tt>T</tt>.
-     *
-     * @param name
-     */
-    @SuppressWarnings("unchecked")
-    public <T> T getValue(String name) {
-        return (T)get(name);
-    }
-
     @Override
     public Object put(String name, Object value) {
         if (name == null) {

Modified: pivot/trunk/tools/src/org/apache/pivot/tools/wtk/EventLoggerSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/tools/src/org/apache/pivot/tools/wtk/EventLoggerSkin.java?rev=957733&r1=957732&r2=957733&view=diff
==============================================================================
--- pivot/trunk/tools/src/org/apache/pivot/tools/wtk/EventLoggerSkin.java (original)
+++ pivot/trunk/tools/src/org/apache/pivot/tools/wtk/EventLoggerSkin.java Thu Jun 24 22:07:40 2010
@@ -97,8 +97,8 @@ class EventLoggerSkin extends ContainerS
 
         eventLogger.add(content);
 
-        declaredEventsTreeView = beanSerializer.getValue("declaredEventsTreeView");
-        firedEventsTableView = beanSerializer.getValue("firedEventsTableView");
+        declaredEventsTreeView = (TreeView)beanSerializer.get("declaredEventsTreeView");
+        firedEventsTableView = (TableView)beanSerializer.get("firedEventsTableView");
 
         // Propagate check state upwards or downwards as necessary
         declaredEventsTreeView.getTreeViewNodeStateListeners().add(new TreeViewNodeStateListener() {

Modified: pivot/trunk/tutorials/src/org/apache/pivot/tutorials/menus/ContextMenus.java
URL: http://svn.apache.org/viewvc/pivot/trunk/tutorials/src/org/apache/pivot/tutorials/menus/ContextMenus.java?rev=957733&r1=957732&r2=957733&view=diff
==============================================================================
--- pivot/trunk/tutorials/src/org/apache/pivot/tutorials/menus/ContextMenus.java (original)
+++ pivot/trunk/tutorials/src/org/apache/pivot/tutorials/menus/ContextMenus.java Thu Jun 24 22:07:40 2010
@@ -16,24 +16,21 @@
  */
 package org.apache.pivot.tutorials.menus;
 
-import org.apache.pivot.beans.BeanSerializer;
-import org.apache.pivot.collections.Map;
+import org.apache.pivot.beans.Bindable;
+import org.apache.pivot.collections.Dictionary;
+import org.apache.pivot.util.Resources;
 import org.apache.pivot.wtk.Action;
-import org.apache.pivot.wtk.Application;
 import org.apache.pivot.wtk.Component;
-import org.apache.pivot.wtk.DesktopApplicationContext;
-import org.apache.pivot.wtk.Display;
 import org.apache.pivot.wtk.Menu;
 import org.apache.pivot.wtk.MenuHandler;
 import org.apache.pivot.wtk.Prompt;
 import org.apache.pivot.wtk.Window;
 
-public class ContextMenus implements Application {
-    private Window window = null;
+public class ContextMenus extends Window implements Bindable {
     private MenuHandler menuHandler = new MenuHandler.Adapter() {
         @Override
         public boolean configureContextMenu(Component component, Menu menu, int x, int y) {
-            final Component descendant = window.getDescendantAt(x, y);
+            final Component descendant = getDescendantAt(x, y);
 
             Menu.Section menuSection = new Menu.Section();
             menu.getSections().add(menuSection);
@@ -45,7 +42,7 @@ public class ContextMenus implements App
                     String description = (String)descendant.getUserData().get("description");
                     String message = "This is a " + description + ".";
 
-                    Prompt.prompt(message, window);
+                    Prompt.prompt(message, ContextMenus.this);
                 }
             });
 
@@ -56,32 +53,7 @@ public class ContextMenus implements App
     };
 
     @Override
-    public void startup(Display display, Map<String, String> properties) throws Exception {
-        BeanSerializer beanSerializer = new BeanSerializer();
-        window = (Window)beanSerializer.readObject(this, "context_menus.bxml");
-        window.setMenuHandler(menuHandler);
-
-        window.open(display);
-    }
-
-    @Override
-    public boolean shutdown(boolean optional) {
-        if (window != null) {
-            window.close();
-        }
-
-        return false;
-    }
-
-    @Override
-    public void suspend() {
-    }
-
-    @Override
-    public void resume() {
-    }
-
-    public static void main(String[] args) {
-        DesktopApplicationContext.main(ContextMenus.class, args);
+    public void initialize(Dictionary<String, Object> context, Resources resources) {
+        setMenuHandler(menuHandler);
     }
 }

Modified: pivot/trunk/tutorials/src/org/apache/pivot/tutorials/menus/MenuBars.java
URL: http://svn.apache.org/viewvc/pivot/trunk/tutorials/src/org/apache/pivot/tutorials/menus/MenuBars.java?rev=957733&r1=957732&r2=957733&view=diff
==============================================================================
--- pivot/trunk/tutorials/src/org/apache/pivot/tutorials/menus/MenuBars.java (original)
+++ pivot/trunk/tutorials/src/org/apache/pivot/tutorials/menus/MenuBars.java Thu Jun 24 22:07:40 2010
@@ -18,29 +18,27 @@ package org.apache.pivot.tutorials.menus
 
 import java.io.IOException;
 
+import org.apache.pivot.beans.BXML;
 import org.apache.pivot.beans.BeanSerializer;
-import org.apache.pivot.collections.Map;
+import org.apache.pivot.beans.Bindable;
+import org.apache.pivot.collections.Dictionary;
 import org.apache.pivot.serialization.SerializationException;
+import org.apache.pivot.util.Resources;
 import org.apache.pivot.wtk.Action;
-import org.apache.pivot.wtk.Application;
 import org.apache.pivot.wtk.Border;
 import org.apache.pivot.wtk.Component;
-import org.apache.pivot.wtk.DesktopApplicationContext;
-import org.apache.pivot.wtk.Display;
 import org.apache.pivot.wtk.FileBrowserSheet;
+import org.apache.pivot.wtk.Frame;
 import org.apache.pivot.wtk.MenuBar;
 import org.apache.pivot.wtk.MenuHandler;
-import org.apache.pivot.wtk.PushButton;
 import org.apache.pivot.wtk.TabPane;
 import org.apache.pivot.wtk.TextInput;
 import org.apache.pivot.wtk.TextInputSelectionListener;
 import org.apache.pivot.wtk.TextInputTextListener;
-import org.apache.pivot.wtk.Window;
 
-public class MenuBars implements Application {
-    private Window window = null;
-    private TabPane tabPane = null;
-    private FileBrowserSheet fileBrowserSheet = null;
+public class MenuBars extends Frame implements Bindable {
+    @BXML private FileBrowserSheet fileBrowserSheet;
+    @BXML private TabPane tabPane = null;
 
     private MenuHandler menuHandler = new MenuHandler.Adapter() {
         TextInputTextListener textInputTextListener = new TextInputTextListener() {
@@ -95,18 +93,11 @@ public class MenuBars implements Applica
             @Override
             public void perform() {
                 BeanSerializer beanSerializer = new BeanSerializer();
+                beanSerializer.put("menuHandler", menuHandler);
+
                 Component tab;
                 try {
                     tab = new Border((Component)beanSerializer.readObject(this, "document.bxml"));
-
-                    TextInput textInput1 = (TextInput)beanSerializer.get("textInput1");
-                    textInput1.setMenuHandler(menuHandler);
-
-                    TextInput textInput2 = (TextInput)beanSerializer.get("textInput2");
-                    textInput2.setMenuHandler(menuHandler);
-
-                    PushButton pushButton = (PushButton)beanSerializer.get("pushButton");
-                    pushButton.setMenuHandler(menuHandler);
                 } catch (IOException exception) {
                     throw new RuntimeException(exception);
                 } catch (SerializationException exception) {
@@ -122,14 +113,14 @@ public class MenuBars implements Applica
         Action.getNamedActions().put("fileOpen", new Action() {
             @Override
             public void perform() {
-                fileBrowserSheet.open(window);
+                fileBrowserSheet.open(MenuBars.this);
             }
         });
 
         Action.getNamedActions().put("cut", new Action(false) {
             @Override
             public void perform() {
-                TextInput textInput = (TextInput)window.getFocusDescendant();
+                TextInput textInput = (TextInput)MenuBars.this.getFocusDescendant();
                 textInput.cut();
             }
         });
@@ -137,7 +128,7 @@ public class MenuBars implements Applica
         Action.getNamedActions().put("copy", new Action(false) {
             @Override
             public void perform() {
-                TextInput textInput = (TextInput)window.getFocusDescendant();
+                TextInput textInput = (TextInput)MenuBars.this.getFocusDescendant();
                 textInput.copy();
             }
         });
@@ -145,43 +136,13 @@ public class MenuBars implements Applica
         Action.getNamedActions().put("paste", new Action(false) {
             @Override
             public void perform() {
-                TextInput textInput = (TextInput)window.getFocusDescendant();
+                TextInput textInput = (TextInput)MenuBars.this.getFocusDescendant();
                 textInput.paste();
             }
         });
     }
 
     @Override
-    public void startup(Display display, Map<String, String> properties)
-        throws Exception {
-        BeanSerializer beanSerializer = new BeanSerializer();
-        window = (Window)beanSerializer.readObject(this, "menu_bars.bxml");
-
-        tabPane = (TabPane)beanSerializer.get("tabPane");
-
-        fileBrowserSheet = new FileBrowserSheet();
-
-        window.open(display);
-    }
-
-    @Override
-    public boolean shutdown(boolean optional) {
-        if (window != null) {
-            window.close();
-        }
-
-        return false;
-    }
-
-    @Override
-    public void suspend() {
-    }
-
-    @Override
-    public void resume() {
-    }
-
-    public static void main(String[] args) {
-        DesktopApplicationContext.main(MenuBars.class, args);
+    public void initialize(Dictionary<String, Object> context, Resources resources) {
     }
 }

Modified: pivot/trunk/tutorials/src/org/apache/pivot/tutorials/menus/MenuButtons.java
URL: http://svn.apache.org/viewvc/pivot/trunk/tutorials/src/org/apache/pivot/tutorials/menus/MenuButtons.java?rev=957733&r1=957732&r2=957733&view=diff
==============================================================================
--- pivot/trunk/tutorials/src/org/apache/pivot/tutorials/menus/MenuButtons.java (original)
+++ pivot/trunk/tutorials/src/org/apache/pivot/tutorials/menus/MenuButtons.java Thu Jun 24 22:07:40 2010
@@ -19,34 +19,25 @@ package org.apache.pivot.tutorials.menus
 import java.awt.Color;
 import java.awt.Paint;
 
-import org.apache.pivot.beans.BeanSerializer;
-import org.apache.pivot.collections.Map;
+import org.apache.pivot.beans.Bindable;
+import org.apache.pivot.collections.Dictionary;
+import org.apache.pivot.util.Resources;
 import org.apache.pivot.wtk.Action;
-import org.apache.pivot.wtk.Application;
 import org.apache.pivot.wtk.Bounds;
-import org.apache.pivot.wtk.DesktopApplicationContext;
-import org.apache.pivot.wtk.Display;
-import org.apache.pivot.wtk.ImageView;
 import org.apache.pivot.wtk.ListButton;
 import org.apache.pivot.wtk.Point;
 import org.apache.pivot.wtk.Window;
 import org.apache.pivot.wtk.content.ColorItem;
 import org.apache.pivot.wtk.media.Drawing;
-import org.apache.pivot.wtk.media.drawing.Canvas;
 import org.apache.pivot.wtk.media.drawing.Ellipse;
 import org.apache.pivot.wtk.media.drawing.Rectangle;
 import org.apache.pivot.wtk.media.drawing.Shape;
 import org.apache.pivot.wtk.media.drawing.Text;
 
-public class MenuButtons implements Application {
-    private Window window = null;
+public class MenuButtons extends Window implements Bindable {
     private ListButton colorListButton = null;
-    private ImageView imageView = null;
-
     private Drawing drawing = null;
-
-    public static final int MAX_X = 480;
-    public static final int MAX_Y = 360;
+    private Rectangle border = null;
 
     public MenuButtons() {
         Action.getNamedActions().put("newCircle", new Action() {
@@ -93,43 +84,10 @@ public class MenuButtons implements Appl
     }
 
     @Override
-    public void startup(Display display, Map<String, String> properties) throws Exception {
-        BeanSerializer beanSerializer = new BeanSerializer();
-        window = (Window)beanSerializer.readObject(this, "menu_buttons.bxml");
-        colorListButton = (ListButton)beanSerializer.get("colorListButton");
-        imageView = (ImageView)beanSerializer.get("imageView");
-
-
-        Rectangle borderRectangle = new Rectangle();
-        borderRectangle.setSize(MAX_X, MAX_Y);
-        borderRectangle.setStroke((Paint)null);
-        borderRectangle.setFill("#eeeeee");
-
-        Canvas canvas = new Canvas();
-        canvas.add(borderRectangle);
-
-        drawing = new Drawing(canvas);
-
-        imageView.setImage(drawing);
-
-        window.open(display);
-    }
-
-    @Override
-    public boolean shutdown(boolean optional) {
-        if (window != null) {
-            window.close();
-        }
-
-        return false;
-    }
-
-    @Override
-    public void suspend() {
-    }
-
-    @Override
-    public void resume() {
+    public void initialize(Dictionary<String, Object> context, Resources resources) {
+        colorListButton = (ListButton)context.get("colorListButton");
+        drawing = (Drawing)context.get("drawing");
+        border = (Rectangle)context.get("border");
     }
 
     public Color getSelectedColor() {
@@ -139,14 +97,9 @@ public class MenuButtons implements Appl
 
     public Point getRandomLocation(Shape shape) {
         Bounds bounds = shape.getBounds();
-
-        int x = (int)(Math.random() * (MAX_X - bounds.width));
-        int y = (int)(Math.random() * (MAX_Y - bounds.height));
+        int x = (int)(Math.random() * (border.getWidth() - bounds.width));
+        int y = (int)(Math.random() * (border.getHeight() - bounds.height));
 
         return new Point(x, y);
     }
-
-    public static void main(String[] args) {
-        DesktopApplicationContext.main(MenuButtons.class, args);
-    }
 }

Modified: pivot/trunk/tutorials/src/org/apache/pivot/tutorials/menus/context_menus.bxml
URL: http://svn.apache.org/viewvc/pivot/trunk/tutorials/src/org/apache/pivot/tutorials/menus/context_menus.bxml?rev=957733&r1=957732&r2=957733&view=diff
==============================================================================
--- pivot/trunk/tutorials/src/org/apache/pivot/tutorials/menus/context_menus.bxml (original)
+++ pivot/trunk/tutorials/src/org/apache/pivot/tutorials/menus/context_menus.bxml Thu Jun 24 22:07:40 2010
@@ -16,8 +16,9 @@ See the License for the specific languag
 limitations under the License.
 -->
 
-<Window title="Context Menus" maximized="true"
+<menus:ContextMenus title="Context Menus" maximized="true"
     xmlns:bxml="http://pivot.apache.org/bxml"
+    xmlns:menus="org.apache.pivot.tutorials.menus"
     xmlns="org.apache.pivot.wtk">
     <Border styles="{color:10}">
         <TablePane styles="{horizontalSpacing:1, verticalSpacing:1,
@@ -47,4 +48,4 @@ limitations under the License.
             </TablePane.Row>
         </TablePane>
     </Border>
-</Window>
+</menus:ContextMenus>

Modified: pivot/trunk/tutorials/src/org/apache/pivot/tutorials/menus/document.bxml
URL: http://svn.apache.org/viewvc/pivot/trunk/tutorials/src/org/apache/pivot/tutorials/menus/document.bxml?rev=957733&r1=957732&r2=957733&view=diff
==============================================================================
--- pivot/trunk/tutorials/src/org/apache/pivot/tutorials/menus/document.bxml (original)
+++ pivot/trunk/tutorials/src/org/apache/pivot/tutorials/menus/document.bxml Thu Jun 24 22:07:40 2010
@@ -19,7 +19,7 @@ limitations under the License.
 <BoxPane orientation="vertical" styles="{padding:4}"
     xmlns:bxml="http://pivot.apache.org/bxml"
     xmlns="org.apache.pivot.wtk">
-    <TextInput bxml:id="textInput1" text="abcd"/>
-    <TextInput bxml:id="textInput2" text="1234"/>
-    <PushButton bxml:id="pushButton" buttonData="Click Me"/>
+    <TextInput bxml:id="textInput1" text="abcd" menuHandler="$menuHandler"/>
+    <TextInput bxml:id="textInput2" text="1234" menuHandler="$menuHandler"/>
+    <PushButton bxml:id="pushButton" buttonData="Click Me" menuHandler="$menuHandler"/>
 </BoxPane>

Modified: pivot/trunk/tutorials/src/org/apache/pivot/tutorials/menus/menu_bars.bxml
URL: http://svn.apache.org/viewvc/pivot/trunk/tutorials/src/org/apache/pivot/tutorials/menus/menu_bars.bxml?rev=957733&r1=957732&r2=957733&view=diff
==============================================================================
--- pivot/trunk/tutorials/src/org/apache/pivot/tutorials/menus/menu_bars.bxml (original)
+++ pivot/trunk/tutorials/src/org/apache/pivot/tutorials/menus/menu_bars.bxml Thu Jun 24 22:07:40 2010
@@ -16,11 +16,16 @@ See the License for the specific languag
 limitations under the License.
 -->
 
-<Frame title="Menu Bars" maximized="true"
+<menus:MenuBars title="Menu Bars" maximized="true"
     styles="{padding:{top:0, left:4, bottom:4, right:4}, showWindowControls:false}"
     xmlns:bxml="http://pivot.apache.org/bxml"
     xmlns:content="org.apache.pivot.wtk.content"
+    xmlns:menus="org.apache.pivot.tutorials.menus"
     xmlns="org.apache.pivot.wtk">
+    <bxml:define>
+        <FileBrowserSheet bxml:id="fileBrowserSheet"/>
+    </bxml:define>
+
     <actionMappings>
         <Window.ActionMapping action="cut" keyStroke="CTRL-X"/>
         <Window.ActionMapping action="copy" keyStroke="CTRL-C"/>
@@ -65,4 +70,4 @@ limitations under the License.
     <Border styles="{backgroundColor:null, padding:2}">
         <TabPane bxml:id="tabPane"/>
     </Border>
-</Frame>
+</menus:MenuBars>

Modified: pivot/trunk/tutorials/src/org/apache/pivot/tutorials/menus/menu_buttons.bxml
URL: http://svn.apache.org/viewvc/pivot/trunk/tutorials/src/org/apache/pivot/tutorials/menus/menu_buttons.bxml?rev=957733&r1=957732&r2=957733&view=diff
==============================================================================
--- pivot/trunk/tutorials/src/org/apache/pivot/tutorials/menus/menu_buttons.bxml (original)
+++ pivot/trunk/tutorials/src/org/apache/pivot/tutorials/menus/menu_buttons.bxml Thu Jun 24 22:07:40 2010
@@ -16,9 +16,10 @@ See the License for the specific languag
 limitations under the License.
 -->
 
-<Window title="Menu Buttons" maximized="true"
+<menus:MenuButtons title="Menu Buttons" maximized="true"
     xmlns:bxml="http://pivot.apache.org/bxml"
     xmlns:content="org.apache.pivot.wtk.content"
+    xmlns:menus="org.apache.pivot.tutorials.menus"
     xmlns="org.apache.pivot.wtk">
     <TablePane styles="{verticalSpacing:2}">
         <columns>
@@ -74,9 +75,18 @@ limitations under the License.
             <Border styles="{padding:2}">
                 <ScrollPane horizontalScrollBarPolicy="fill_to_capacity"
                     verticalScrollBarPolicy="fill_to_capacity">
-                    <ImageView bxml:id="imageView"/>
+                    <ImageView bxml:id="imageView">
+                        <image>
+                            <Drawing bxml:id="drawing"
+                                xmlns="org.apache.pivot.wtk.media">
+                                <Canvas xmlns="org.apache.pivot.wtk.media.drawing">
+                                    <Rectangle bxml:id="border" stroke="" fill="#eeeeee" width="480" height="360"/>
+                                </Canvas>
+                            </Drawing>
+                        </image>
+                    </ImageView>
                 </ScrollPane>
             </Border>
         </TablePane.Row>
     </TablePane>
-</Window>
+</menus:MenuButtons>

Modified: pivot/trunk/tutorials/src/org/apache/pivot/tutorials/progress/ActivityIndicators.java
URL: http://svn.apache.org/viewvc/pivot/trunk/tutorials/src/org/apache/pivot/tutorials/progress/ActivityIndicators.java?rev=957733&r1=957732&r2=957733&view=diff
==============================================================================
--- pivot/trunk/tutorials/src/org/apache/pivot/tutorials/progress/ActivityIndicators.java (original)
+++ pivot/trunk/tutorials/src/org/apache/pivot/tutorials/progress/ActivityIndicators.java Thu Jun 24 22:07:40 2010
@@ -16,33 +16,27 @@
  */
 package org.apache.pivot.tutorials.progress;
 
-import org.apache.pivot.beans.BeanSerializer;
-import org.apache.pivot.collections.Map;
+import org.apache.pivot.beans.Bindable;
+import org.apache.pivot.collections.Dictionary;
+import org.apache.pivot.util.Resources;
 import org.apache.pivot.wtk.ActivityIndicator;
-import org.apache.pivot.wtk.Application;
 import org.apache.pivot.wtk.Button;
 import org.apache.pivot.wtk.ButtonPressListener;
-import org.apache.pivot.wtk.DesktopApplicationContext;
-import org.apache.pivot.wtk.Display;
 import org.apache.pivot.wtk.PushButton;
 import org.apache.pivot.wtk.Window;
 
-public class ActivityIndicators implements Application {
-    private Window window = null;
+public class ActivityIndicators extends Window implements Bindable {
     private ActivityIndicator activityIndicator1 = null;
     private ActivityIndicator activityIndicator2 = null;
     private ActivityIndicator activityIndicator3 = null;
     private PushButton activityButton = null;
 
     @Override
-    public void startup(Display display, Map<String, String> properties)
-        throws Exception {
-        BeanSerializer beanSerializer = new BeanSerializer();
-        window = (Window)beanSerializer.readObject(this, "activity_indicators.bxml");
-        activityIndicator1 = (ActivityIndicator)beanSerializer.get("activityIndicator1");
-        activityIndicator2 = (ActivityIndicator)beanSerializer.get("activityIndicator2");
-        activityIndicator3 = (ActivityIndicator)beanSerializer.get("activityIndicator3");
-        activityButton = (PushButton)beanSerializer.get("activityButton");
+    public void initialize(Dictionary<String, Object> context, Resources resources) {
+        activityIndicator1 = (ActivityIndicator)context.get("activityIndicator1");
+        activityIndicator2 = (ActivityIndicator)context.get("activityIndicator2");
+        activityIndicator3 = (ActivityIndicator)context.get("activityIndicator3");
+        activityButton = (PushButton)context.get("activityButton");
 
         activityButton.getButtonPressListeners().add(new ButtonPressListener() {
             @Override
@@ -55,32 +49,9 @@ public class ActivityIndicators implemen
         });
 
         updateButtonData();
-
-        window.open(display);
-    }
-
-    @Override
-    public boolean shutdown(boolean optional) {
-        if (window != null) {
-            window.close();
-        }
-
-        return false;
-    }
-
-    @Override
-    public void suspend() {
-    }
-
-    @Override
-    public void resume() {
     }
 
     private void updateButtonData() {
         activityButton.setButtonData(activityIndicator1.isActive() ? "Stop" : "Start");
     }
-
-    public static void main(String[] args) {
-        DesktopApplicationContext.main(ActivityIndicators.class, args);
-    }
 }

Modified: pivot/trunk/tutorials/src/org/apache/pivot/tutorials/progress/Meters.java
URL: http://svn.apache.org/viewvc/pivot/trunk/tutorials/src/org/apache/pivot/tutorials/progress/Meters.java?rev=957733&r1=957732&r2=957733&view=diff
==============================================================================
--- pivot/trunk/tutorials/src/org/apache/pivot/tutorials/progress/Meters.java (original)
+++ pivot/trunk/tutorials/src/org/apache/pivot/tutorials/progress/Meters.java Thu Jun 24 22:07:40 2010
@@ -16,23 +16,21 @@
  */
 package org.apache.pivot.tutorials.progress;
 
-import org.apache.pivot.beans.BeanSerializer;
-import org.apache.pivot.collections.Map;
+import org.apache.pivot.beans.Bindable;
+import org.apache.pivot.collections.Dictionary;
+import org.apache.pivot.util.Resources;
 import org.apache.pivot.util.concurrent.Task;
 import org.apache.pivot.util.concurrent.TaskExecutionException;
 import org.apache.pivot.util.concurrent.TaskListener;
-import org.apache.pivot.wtk.Application;
 import org.apache.pivot.wtk.ApplicationContext;
 import org.apache.pivot.wtk.Button;
 import org.apache.pivot.wtk.ButtonPressListener;
-import org.apache.pivot.wtk.DesktopApplicationContext;
-import org.apache.pivot.wtk.Display;
 import org.apache.pivot.wtk.Meter;
 import org.apache.pivot.wtk.PushButton;
 import org.apache.pivot.wtk.TaskAdapter;
 import org.apache.pivot.wtk.Window;
 
-public class Meters implements Application {
+public class Meters extends Window implements Bindable {
     public class SampleTask extends Task<Void> {
         private int percentage = 0;
 
@@ -63,19 +61,15 @@ public class Meters implements Applicati
         }
     }
 
-    private Window window = null;
     private Meter meter = null;
     private PushButton progressButton = null;
 
     private SampleTask sampleTask = null;
 
     @Override
-    public void startup(Display display, Map<String, String> properties)
-        throws Exception {
-        BeanSerializer beanSerializer = new BeanSerializer();
-        window = (Window)beanSerializer.readObject(this, "meters.bxml");
-        meter = (Meter)beanSerializer.get("meter");
-        progressButton = (PushButton)beanSerializer.get("progressButton");
+    public void initialize(Dictionary<String, Object> context, Resources resources) {
+        meter = (Meter)context.get("meter");
+        progressButton = (PushButton)context.get("progressButton");
 
         progressButton.getButtonPressListeners().add(new ButtonPressListener() {
             @Override
@@ -113,25 +107,6 @@ public class Meters implements Applicati
         });
 
         updateProgressButton();
-
-        window.open(display);
-    }
-
-    @Override
-    public boolean shutdown(boolean optional) {
-        if (window != null) {
-            window.close();
-        }
-
-        return false;
-    }
-
-    @Override
-    public void suspend() {
-    }
-
-    @Override
-    public void resume() {
     }
 
     private void updateProgressButton() {
@@ -141,8 +116,4 @@ public class Meters implements Applicati
             progressButton.setButtonData("Cancel");
         }
     }
-
-    public static void main(String[] args) {
-        DesktopApplicationContext.main(Meters.class, args);
-    }
 }

Modified: pivot/trunk/tutorials/src/org/apache/pivot/tutorials/progress/activity_indicators.bxml
URL: http://svn.apache.org/viewvc/pivot/trunk/tutorials/src/org/apache/pivot/tutorials/progress/activity_indicators.bxml?rev=957733&r1=957732&r2=957733&view=diff
==============================================================================
--- pivot/trunk/tutorials/src/org/apache/pivot/tutorials/progress/activity_indicators.bxml (original)
+++ pivot/trunk/tutorials/src/org/apache/pivot/tutorials/progress/activity_indicators.bxml Thu Jun 24 22:07:40 2010
@@ -16,8 +16,9 @@ See the License for the specific languag
 limitations under the License.
 -->
 
-<Window title="Activity Indicators" maximized="true"
+<progress:ActivityIndicators title="Activity Indicators" maximized="true"
     xmlns:bxml="http://pivot.apache.org/bxml"
+    xmlns:progress="org.apache.pivot.tutorials.progress"
     xmlns="org.apache.pivot.wtk">
     <TablePane>
         <columns>
@@ -43,4 +44,4 @@ limitations under the License.
             </BoxPane>
         </TablePane.Row>
     </TablePane>
-</Window>
+</progress:ActivityIndicators>

Modified: pivot/trunk/tutorials/src/org/apache/pivot/tutorials/progress/meters.bxml
URL: http://svn.apache.org/viewvc/pivot/trunk/tutorials/src/org/apache/pivot/tutorials/progress/meters.bxml?rev=957733&r1=957732&r2=957733&view=diff
==============================================================================
--- pivot/trunk/tutorials/src/org/apache/pivot/tutorials/progress/meters.bxml (original)
+++ pivot/trunk/tutorials/src/org/apache/pivot/tutorials/progress/meters.bxml Thu Jun 24 22:07:40 2010
@@ -16,8 +16,9 @@ See the License for the specific languag
 limitations under the License.
 -->
 
-<Window title="Meters" maximized="true"
+<progress:Meters title="Meters" maximized="true"
     xmlns:bxml="http://pivot.apache.org/bxml"
+    xmlns:progress="org.apache.pivot.tutorials.progress"
     xmlns="org.apache.pivot.wtk">
     <TablePane>
         <columns>
@@ -39,4 +40,4 @@ limitations under the License.
             </BoxPane>
         </TablePane.Row>
     </TablePane>
-</Window>
+</progress:Meters>