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 2009/06/13 15:52:15 UTC

svn commit: r784391 - in /incubator/pivot/trunk: core/src/pivot/util/ demos/src/pivot/demos/dnd/ demos/src/pivot/demos/dom/ demos/src/pivot/demos/million/ demos/src/pivot/demos/roweditor/ demos/src/pivot/demos/rss/ demos/src/pivot/demos/scripting/ demo...

Author: gbrown
Date: Sat Jun 13 13:52:14 2009
New Revision: 784391

URL: http://svn.apache.org/viewvc?rev=784391&view=rev
Log:
Fix design issue in WTKXSerializer#bind(); minor repaint fix in Component.DecoratorSequence; minor fixes to Sheet.

Modified:
    incubator/pivot/trunk/core/src/pivot/util/Vote.java
    incubator/pivot/trunk/demos/src/pivot/demos/dnd/DragAndDropDemo.java
    incubator/pivot/trunk/demos/src/pivot/demos/dnd/FileDropTargetDemo.java
    incubator/pivot/trunk/demos/src/pivot/demos/dom/IMClient.java
    incubator/pivot/trunk/demos/src/pivot/demos/million/LargeData.java
    incubator/pivot/trunk/demos/src/pivot/demos/roweditor/Demo.java
    incubator/pivot/trunk/demos/src/pivot/demos/rss/RSSFeedDemo.java
    incubator/pivot/trunk/demos/src/pivot/demos/scripting/ScriptingDemo.java
    incubator/pivot/trunk/demos/src/pivot/demos/scripting/scripting_demo.wtkx
    incubator/pivot/trunk/demos/src/pivot/demos/tables/FixedColumnTable.java
    incubator/pivot/trunk/tutorials/src/pivot/tutorials/Demo.java
    incubator/pivot/trunk/tutorials/src/pivot/tutorials/buttons/Checkboxes.java
    incubator/pivot/trunk/tutorials/src/pivot/tutorials/buttons/LinkButtons.java
    incubator/pivot/trunk/tutorials/src/pivot/tutorials/buttons/PushButtons.java
    incubator/pivot/trunk/tutorials/src/pivot/tutorials/buttons/RadioButtons.java
    incubator/pivot/trunk/tutorials/src/pivot/tutorials/databinding/DataBinding.java
    incubator/pivot/trunk/tutorials/src/pivot/tutorials/drawing/RotateLine.java
    incubator/pivot/trunk/tutorials/src/pivot/tutorials/filebrowser/FileBrowser.java
    incubator/pivot/trunk/tutorials/src/pivot/tutorials/layout/FlowPanes.java
    incubator/pivot/trunk/tutorials/src/pivot/tutorials/layout/Forms.java
    incubator/pivot/trunk/tutorials/src/pivot/tutorials/lists/ListButtons.java
    incubator/pivot/trunk/tutorials/src/pivot/tutorials/lists/ListViews.java
    incubator/pivot/trunk/tutorials/src/pivot/tutorials/navigation/Accordions.java
    incubator/pivot/trunk/tutorials/src/pivot/tutorials/navigation/CardPanes.java
    incubator/pivot/trunk/tutorials/src/pivot/tutorials/navigation/Expanders.java
    incubator/pivot/trunk/tutorials/src/pivot/tutorials/navigation/TabPanes.java
    incubator/pivot/trunk/tutorials/src/pivot/tutorials/progress/ActivityIndicators.java
    incubator/pivot/trunk/tutorials/src/pivot/tutorials/progress/Meters.java
    incubator/pivot/trunk/tutorials/src/pivot/tutorials/stocktracker/StockTracker.java
    incubator/pivot/trunk/tutorials/src/pivot/tutorials/text/Text.java
    incubator/pivot/trunk/tutorials/src/pivot/tutorials/transition/Transitions.java
    incubator/pivot/trunk/wtk/src/pivot/wtk/Component.java
    incubator/pivot/trunk/wtk/src/pivot/wtk/Sheet.java
    incubator/pivot/trunk/wtk/src/pivot/wtkx/WTKXSerializer.java
    incubator/pivot/trunk/wtk/test/pivot/wtk/test/CardPaneTest.java
    incubator/pivot/trunk/wtk/test/pivot/wtk/test/SheetTest.java

Modified: incubator/pivot/trunk/core/src/pivot/util/Vote.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/core/src/pivot/util/Vote.java?rev=784391&r1=784390&r2=784391&view=diff
==============================================================================
--- incubator/pivot/trunk/core/src/pivot/util/Vote.java (original)
+++ incubator/pivot/trunk/core/src/pivot/util/Vote.java Sat Jun 13 13:52:14 2009
@@ -36,24 +36,28 @@
     public Vote tally(Vote vote) {
         Vote tally;
 
-        switch(vote) {
-            case APPROVE: {
-                tally = this;
-                break;
-            }
-
-            case DENY: {
-                tally = vote;
-                break;
-            }
-
-            case DEFER: {
-                tally = (this == DENY) ? this : vote;
-                break;
-            }
-
-            default: {
-                throw new IllegalArgumentException();
+        if (vote == null) {
+            tally = this;
+        } else {
+            switch(vote) {
+                case APPROVE: {
+                    tally = this;
+                    break;
+                }
+
+                case DENY: {
+                    tally = vote;
+                    break;
+                }
+
+                case DEFER: {
+                    tally = (this == DENY) ? this : vote;
+                    break;
+                }
+
+                default: {
+                    throw new IllegalArgumentException();
+                }
             }
         }
 

Modified: incubator/pivot/trunk/demos/src/pivot/demos/dnd/DragAndDropDemo.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/demos/src/pivot/demos/dnd/DragAndDropDemo.java?rev=784391&r1=784390&r2=784391&view=diff
==============================================================================
--- incubator/pivot/trunk/demos/src/pivot/demos/dnd/DragAndDropDemo.java (original)
+++ incubator/pivot/trunk/demos/src/pivot/demos/dnd/DragAndDropDemo.java Sat Jun 13 13:52:14 2009
@@ -60,7 +60,7 @@
         throws Exception {
         WTKXSerializer wtkxSerializer = new WTKXSerializer();
         window = (Window)wtkxSerializer.readObject(this, "drag_and_drop.wtkx");
-        wtkxSerializer.bind(this);
+        wtkxSerializer.bind(this, DragAndDropDemo.class);
 
         // Text
         label.setDragSource(new DragSource() {

Modified: incubator/pivot/trunk/demos/src/pivot/demos/dnd/FileDropTargetDemo.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/demos/src/pivot/demos/dnd/FileDropTargetDemo.java?rev=784391&r1=784390&r2=784391&view=diff
==============================================================================
--- incubator/pivot/trunk/demos/src/pivot/demos/dnd/FileDropTargetDemo.java (original)
+++ incubator/pivot/trunk/demos/src/pivot/demos/dnd/FileDropTargetDemo.java Sat Jun 13 13:52:14 2009
@@ -57,7 +57,7 @@
         throws Exception {
         WTKXSerializer wtkxSerializer = new WTKXSerializer();
         window = (Window)wtkxSerializer.readObject(this, "file_drop_target_demo.wtkx");
-        wtkxSerializer.bind(this);
+        wtkxSerializer.bind(this, FileDropTargetDemo.class);
 
         fileList = new FileList();
         fileTableView.setTableData(fileList);

Modified: incubator/pivot/trunk/demos/src/pivot/demos/dom/IMClient.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/demos/src/pivot/demos/dom/IMClient.java?rev=784391&r1=784390&r2=784391&view=diff
==============================================================================
--- incubator/pivot/trunk/demos/src/pivot/demos/dom/IMClient.java (original)
+++ incubator/pivot/trunk/demos/src/pivot/demos/dom/IMClient.java Sat Jun 13 13:52:14 2009
@@ -96,7 +96,7 @@
         throws Exception {
         WTKXSerializer wtkxSerializer = new WTKXSerializer();
         window = (Window)wtkxSerializer.readObject(this, "im_client.wtkx");
-        wtkxSerializer.bind(this);
+        wtkxSerializer.bind(this, IMClient.class);
 
         loginForm.getComponentKeyListeners().add(new ComponentKeyListener() {
             public boolean keyTyped(Component component, char character) {

Modified: incubator/pivot/trunk/demos/src/pivot/demos/million/LargeData.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/demos/src/pivot/demos/million/LargeData.java?rev=784391&r1=784390&r2=784391&view=diff
==============================================================================
--- incubator/pivot/trunk/demos/src/pivot/demos/million/LargeData.java (original)
+++ incubator/pivot/trunk/demos/src/pivot/demos/million/LargeData.java Sat Jun 13 13:52:14 2009
@@ -167,7 +167,7 @@
 
         WTKXSerializer wtkxSerializer = new WTKXSerializer();
         window = (Window)wtkxSerializer.readObject(this, "large_data.wtkx");
-        wtkxSerializer.bind(this);
+        wtkxSerializer.bind(this, LargeData.class);
 
         loadDataButton.getButtonPressListeners().add(new ButtonPressListener() {
             public void buttonPressed(Button button) {

Modified: incubator/pivot/trunk/demos/src/pivot/demos/roweditor/Demo.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/demos/src/pivot/demos/roweditor/Demo.java?rev=784391&r1=784390&r2=784391&view=diff
==============================================================================
--- incubator/pivot/trunk/demos/src/pivot/demos/roweditor/Demo.java (original)
+++ incubator/pivot/trunk/demos/src/pivot/demos/roweditor/Demo.java Sat Jun 13 13:52:14 2009
@@ -45,7 +45,7 @@
         throws Exception {
         WTKXSerializer wtkxSerializer = new WTKXSerializer();
         window = (Window)wtkxSerializer.readObject(this, "demo.wtkx");
-        wtkxSerializer.bind(this);
+        wtkxSerializer.bind(this, Demo.class);
 
         TableViewRowEditor tableViewRowEditor = new TableViewRowEditor();
         tableView.setRowEditor(tableViewRowEditor);

Modified: incubator/pivot/trunk/demos/src/pivot/demos/rss/RSSFeedDemo.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/demos/src/pivot/demos/rss/RSSFeedDemo.java?rev=784391&r1=784390&r2=784391&view=diff
==============================================================================
--- incubator/pivot/trunk/demos/src/pivot/demos/rss/RSSFeedDemo.java (original)
+++ incubator/pivot/trunk/demos/src/pivot/demos/rss/RSSFeedDemo.java Sat Jun 13 13:52:14 2009
@@ -265,7 +265,7 @@
         throws Exception {
         WTKXSerializer wtkxSerializer = new WTKXSerializer();
         window = (Window)wtkxSerializer.readObject(this, "rss_feed_demo.wtkx");
-        wtkxSerializer.bind(this);
+        wtkxSerializer.bind(this, RSSFeedDemo.class);
 
         feedListView.setItemRenderer(new RSSItemRenderer());
         feedListView.getComponentMouseButtonListeners().add(new FeedViewMouseButtonHandler());

Modified: incubator/pivot/trunk/demos/src/pivot/demos/scripting/ScriptingDemo.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/demos/src/pivot/demos/scripting/ScriptingDemo.java?rev=784391&r1=784390&r2=784391&view=diff
==============================================================================
--- incubator/pivot/trunk/demos/src/pivot/demos/scripting/ScriptingDemo.java (original)
+++ incubator/pivot/trunk/demos/src/pivot/demos/scripting/ScriptingDemo.java Sat Jun 13 13:52:14 2009
@@ -43,7 +43,7 @@
         throws Exception {
         WTKXSerializer wtkxSerializer = new WTKXSerializer();
         window = (Window)wtkxSerializer.readObject(this, "scripting_demo.wtkx");
-        wtkxSerializer.bind(this);
+        wtkxSerializer.bind(this, ScriptingDemo.class);
 
         System.out.println("foo = " + (foo == null ? null : "\"" + foo + "\""));
         System.out.println("listData.getLength() = " + listData.getLength());

Modified: incubator/pivot/trunk/demos/src/pivot/demos/scripting/scripting_demo.wtkx
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/demos/src/pivot/demos/scripting/scripting_demo.wtkx?rev=784391&r1=784390&r2=784391&view=diff
==============================================================================
--- incubator/pivot/trunk/demos/src/pivot/demos/scripting/scripting_demo.wtkx (original)
+++ incubator/pivot/trunk/demos/src/pivot/demos/scripting/scripting_demo.wtkx Sat Jun 13 13:52:14 2009
@@ -23,6 +23,22 @@
     <wtkx:script src="demo.js"/>
     <wtkx:script src="demo.groovy"/>
 
+    <windowStateListeners>
+        <wtkx:script language="javascript">
+        <![CDATA[
+        importPackage(java.lang);
+
+        function windowOpened(window) {
+            System.out.println("Window opened");
+        }
+
+        function windowClosed(window, display) {
+            System.out.println("Window closed");
+        }
+        ]]>
+        </wtkx:script>
+    </windowStateListeners>
+
     <content>
         <Border>
             <content>

Modified: incubator/pivot/trunk/demos/src/pivot/demos/tables/FixedColumnTable.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/demos/src/pivot/demos/tables/FixedColumnTable.java?rev=784391&r1=784390&r2=784391&view=diff
==============================================================================
--- incubator/pivot/trunk/demos/src/pivot/demos/tables/FixedColumnTable.java (original)
+++ incubator/pivot/trunk/demos/src/pivot/demos/tables/FixedColumnTable.java Sat Jun 13 13:52:14 2009
@@ -44,7 +44,7 @@
         throws Exception {
         WTKXSerializer wtkxSerializer = new WTKXSerializer();
         window = (Window)wtkxSerializer.readObject(this, "fixed_column_table.wtkx");
-        wtkxSerializer.bind(this);
+        wtkxSerializer.bind(this, FixedColumnTable.class);
 
         // Keep selection state in sync
         primaryTableView.getTableViewSelectionListeners().add(new TableViewSelectionListener() {

Modified: incubator/pivot/trunk/tutorials/src/pivot/tutorials/Demo.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/tutorials/src/pivot/tutorials/Demo.java?rev=784391&r1=784390&r2=784391&view=diff
==============================================================================
--- incubator/pivot/trunk/tutorials/src/pivot/tutorials/Demo.java (original)
+++ incubator/pivot/trunk/tutorials/src/pivot/tutorials/Demo.java Sat Jun 13 13:52:14 2009
@@ -141,7 +141,7 @@
                 rollup.setContent(component);
 
                 try {
-                    wtkxSerializer.bind(this);
+                    wtkxSerializer.bind(this, ListsRollupStateHandler.class);
                 } catch(BindException exception) {
                     throw new RuntimeException(exception);
                 }
@@ -186,7 +186,7 @@
                 rollup.setContent(component);
 
                 try {
-                    wtkxSerializer.bind(this);
+                    wtkxSerializer.bind(this, TextRollupStateHandler.class);
                 } catch(BindException exception) {
                     throw new RuntimeException(exception);
                 }
@@ -339,7 +339,7 @@
                 rollup.setContent(component);
 
                 try {
-                    wtkxSerializer.bind(this);
+                    wtkxSerializer.bind(this, MenusRollupStateHandler.class);
                 } catch(BindException exception) {
                     throw new RuntimeException(exception);
                 }
@@ -397,7 +397,7 @@
                 rollup.setContent(component);
 
                 try {
-                    wtkxSerializer.bind(this);
+                    wtkxSerializer.bind(this, MetersRollupStateHandler.class);
                 } catch(BindException exception) {
                     throw new RuntimeException(exception);
                 }
@@ -448,7 +448,7 @@
                 rollup.setContent(component);
 
                 try {
-                    wtkxSerializer.bind(this);
+                    wtkxSerializer.bind(this, SpinnersRollupStateHandler.class);
                 } catch(BindException exception) {
                     throw new RuntimeException(exception);
                 }
@@ -514,7 +514,7 @@
                 rollup.setContent(component);
 
                 try {
-                    wtkxSerializer.bind(this);
+                    wtkxSerializer.bind(this, TablesRollupStateHandler.class);
                 } catch(BindException exception) {
                     throw new RuntimeException(exception);
                 }
@@ -593,7 +593,7 @@
                 rollup.setContent(component);
 
                 try {
-                    wtkxSerializer.bind(this);
+                    wtkxSerializer.bind(this, TreesRollupStateHandler.class);
                 } catch(BindException exception) {
                     throw new RuntimeException(exception);
                 }
@@ -627,7 +627,7 @@
                 rollup.setContent(component);
 
                 try {
-                    wtkxSerializer.bind(this);
+                    wtkxSerializer.bind(this, DragDropRollupStateHandler.class);
                 } catch(BindException exception) {
                     throw new RuntimeException(exception);
                 }
@@ -768,7 +768,7 @@
                 rollup.setContent(component);
 
                 try {
-                    wtkxSerializer.bind(this);
+                    wtkxSerializer.bind(this, AlertsRollupStateHandler.class);
                 } catch(BindException exception) {
                     throw new RuntimeException(exception);
                 }
@@ -873,7 +873,7 @@
     public void startup(Display display, Dictionary<String, String> properties) throws Exception {
         WTKXSerializer wtkxSerializer = new WTKXSerializer();
         window = (Window)wtkxSerializer.readObject(this, "demo.wtkx");
-        wtkxSerializer.bind(this);
+        wtkxSerializer.bind(this, Demo.class);
 
         buttonsRollup.getRollupStateListeners().add(new ButtonsRollupStateHandler());
         listsRollup.getRollupStateListeners().add(new ListsRollupStateHandler());

Modified: incubator/pivot/trunk/tutorials/src/pivot/tutorials/buttons/Checkboxes.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/tutorials/src/pivot/tutorials/buttons/Checkboxes.java?rev=784391&r1=784390&r2=784391&view=diff
==============================================================================
--- incubator/pivot/trunk/tutorials/src/pivot/tutorials/buttons/Checkboxes.java (original)
+++ incubator/pivot/trunk/tutorials/src/pivot/tutorials/buttons/Checkboxes.java Sat Jun 13 13:52:14 2009
@@ -41,7 +41,7 @@
     public void startup(Display display, Dictionary<String, String> properties) throws Exception {
         WTKXSerializer wtkxSerializer = new WTKXSerializer();
         window = (Window)wtkxSerializer.readObject(this, "checkboxes.wtkx");
-        wtkxSerializer.bind(this);
+        wtkxSerializer.bind(this, Checkboxes.class);
 
         // Wire up event listeners
         bellCheckbox.getButtonPressListeners().add(new ButtonPressListener() {

Modified: incubator/pivot/trunk/tutorials/src/pivot/tutorials/buttons/LinkButtons.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/tutorials/src/pivot/tutorials/buttons/LinkButtons.java?rev=784391&r1=784390&r2=784391&view=diff
==============================================================================
--- incubator/pivot/trunk/tutorials/src/pivot/tutorials/buttons/LinkButtons.java (original)
+++ incubator/pivot/trunk/tutorials/src/pivot/tutorials/buttons/LinkButtons.java Sat Jun 13 13:52:14 2009
@@ -38,7 +38,7 @@
     public void startup(Display display, Dictionary<String, String> properties) throws Exception {
         WTKXSerializer wtkxSerializer = new WTKXSerializer();
         window = (Window)wtkxSerializer.readObject(this, "link_buttons.wtkx");
-        wtkxSerializer.bind(this);
+        wtkxSerializer.bind(this, LinkButtons.class);
 
         nextButton.getButtonPressListeners().add(new ButtonPressListener() {
             public void buttonPressed(Button button) {

Modified: incubator/pivot/trunk/tutorials/src/pivot/tutorials/buttons/PushButtons.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/tutorials/src/pivot/tutorials/buttons/PushButtons.java?rev=784391&r1=784390&r2=784391&view=diff
==============================================================================
--- incubator/pivot/trunk/tutorials/src/pivot/tutorials/buttons/PushButtons.java (original)
+++ incubator/pivot/trunk/tutorials/src/pivot/tutorials/buttons/PushButtons.java Sat Jun 13 13:52:14 2009
@@ -37,7 +37,7 @@
     public void startup(Display display, Dictionary<String, String> properties) throws Exception {
         WTKXSerializer wtkxSerializer = new WTKXSerializer();
         window = (Window)wtkxSerializer.readObject(this, "push_buttons.wtkx");
-        wtkxSerializer.bind(this);
+        wtkxSerializer.bind(this, PushButtons.class);
 
         // Add a button press listener
         pushButton.getButtonPressListeners().add(new ButtonPressListener() {

Modified: incubator/pivot/trunk/tutorials/src/pivot/tutorials/buttons/RadioButtons.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/tutorials/src/pivot/tutorials/buttons/RadioButtons.java?rev=784391&r1=784390&r2=784391&view=diff
==============================================================================
--- incubator/pivot/trunk/tutorials/src/pivot/tutorials/buttons/RadioButtons.java (original)
+++ incubator/pivot/trunk/tutorials/src/pivot/tutorials/buttons/RadioButtons.java Sat Jun 13 13:52:14 2009
@@ -40,7 +40,7 @@
         throws Exception {
         WTKXSerializer wtkxSerializer = new WTKXSerializer();
         window = (Window)wtkxSerializer.readObject(this, "radio_buttons.wtkx");
-        wtkxSerializer.bind(this);
+        wtkxSerializer.bind(this, RadioButtons.class);
 
         // Get a reference to the button group
         final Button.Group numbersGroup = oneButton.getGroup();

Modified: incubator/pivot/trunk/tutorials/src/pivot/tutorials/databinding/DataBinding.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/tutorials/src/pivot/tutorials/databinding/DataBinding.java?rev=784391&r1=784390&r2=784391&view=diff
==============================================================================
--- incubator/pivot/trunk/tutorials/src/pivot/tutorials/databinding/DataBinding.java (original)
+++ incubator/pivot/trunk/tutorials/src/pivot/tutorials/databinding/DataBinding.java Sat Jun 13 13:52:14 2009
@@ -51,7 +51,7 @@
         throws Exception {
         WTKXSerializer wtkxSerializer = new WTKXSerializer();
         window = (Window)wtkxSerializer.readObject(this, "data_binding.wtkx");
-        wtkxSerializer.bind(this);
+        wtkxSerializer.bind(this, DataBinding.class);
 
         loadJavaButton.getButtonPressListeners().add(new ButtonPressListener() {
             public void buttonPressed(Button button) {

Modified: incubator/pivot/trunk/tutorials/src/pivot/tutorials/drawing/RotateLine.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/tutorials/src/pivot/tutorials/drawing/RotateLine.java?rev=784391&r1=784390&r2=784391&view=diff
==============================================================================
--- incubator/pivot/trunk/tutorials/src/pivot/tutorials/drawing/RotateLine.java (original)
+++ incubator/pivot/trunk/tutorials/src/pivot/tutorials/drawing/RotateLine.java Sat Jun 13 13:52:14 2009
@@ -39,7 +39,7 @@
         throws Exception{
         WTKXSerializer wtkxSerializer = new WTKXSerializer();
         drawing = (Drawing)wtkxSerializer.readObject(this, "rotate_line.wtkd");
-        wtkxSerializer.bind(this);
+        wtkxSerializer.bind(this, RotateLine.class);
 
         ApplicationContext.scheduleRecurringCallback(new Runnable() {
             public void run() {

Modified: incubator/pivot/trunk/tutorials/src/pivot/tutorials/filebrowser/FileBrowser.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/tutorials/src/pivot/tutorials/filebrowser/FileBrowser.java?rev=784391&r1=784390&r2=784391&view=diff
==============================================================================
--- incubator/pivot/trunk/tutorials/src/pivot/tutorials/filebrowser/FileBrowser.java (original)
+++ incubator/pivot/trunk/tutorials/src/pivot/tutorials/filebrowser/FileBrowser.java Sat Jun 13 13:52:14 2009
@@ -48,7 +48,7 @@
         throws Exception {
         WTKXSerializer wtkxSerializer = new WTKXSerializer();
         window = (Window)wtkxSerializer.readObject(this, "file_browser.wtkx");
-        wtkxSerializer.bind(this);
+        wtkxSerializer.bind(this, FileBrowser.class);
 
         String pathname = System.getProperty("user.home");
         FileFilter fileFilter = new FileFilter() {

Modified: incubator/pivot/trunk/tutorials/src/pivot/tutorials/layout/FlowPanes.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/tutorials/src/pivot/tutorials/layout/FlowPanes.java?rev=784391&r1=784390&r2=784391&view=diff
==============================================================================
--- incubator/pivot/trunk/tutorials/src/pivot/tutorials/layout/FlowPanes.java (original)
+++ incubator/pivot/trunk/tutorials/src/pivot/tutorials/layout/FlowPanes.java Sat Jun 13 13:52:14 2009
@@ -49,7 +49,7 @@
     public void startup(Display display, Dictionary<String, String> properties) throws Exception {
         WTKXSerializer wtkxSerializer = new WTKXSerializer();
         window = (Window)wtkxSerializer.readObject(this, "flow_panes.wtkx");
-        wtkxSerializer.bind(this);
+        wtkxSerializer.bind(this, FlowPanes.class);
 
         ButtonStateListener radioButtonStateListener = new ButtonStateListener() {
             public void stateChanged(Button button, Button.State previousState) {

Modified: incubator/pivot/trunk/tutorials/src/pivot/tutorials/layout/Forms.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/tutorials/src/pivot/tutorials/layout/Forms.java?rev=784391&r1=784390&r2=784391&view=diff
==============================================================================
--- incubator/pivot/trunk/tutorials/src/pivot/tutorials/layout/Forms.java (original)
+++ incubator/pivot/trunk/tutorials/src/pivot/tutorials/layout/Forms.java Sat Jun 13 13:52:14 2009
@@ -45,7 +45,7 @@
     public void startup(Display display, Dictionary<String, String> properties) throws Exception {
         WTKXSerializer wtkxSerializer = new WTKXSerializer();
         window = (Window)wtkxSerializer.readObject(this, "forms.wtkx");
-        wtkxSerializer.bind(this);
+        wtkxSerializer.bind(this, Forms.class);
 
         submitButton.getButtonPressListeners().add(new ButtonPressListener() {
             public void buttonPressed(Button button) {

Modified: incubator/pivot/trunk/tutorials/src/pivot/tutorials/lists/ListButtons.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/tutorials/src/pivot/tutorials/lists/ListButtons.java?rev=784391&r1=784390&r2=784391&view=diff
==============================================================================
--- incubator/pivot/trunk/tutorials/src/pivot/tutorials/lists/ListButtons.java (original)
+++ incubator/pivot/trunk/tutorials/src/pivot/tutorials/lists/ListButtons.java Sat Jun 13 13:52:14 2009
@@ -67,7 +67,7 @@
     public void startup(Display display, Dictionary<String, String> properties) throws Exception {
         WTKXSerializer wtkxSerializer = new WTKXSerializer();
         window = (Window)wtkxSerializer.readObject(this, "list_buttons.wtkx");
-        wtkxSerializer.bind(this);
+        wtkxSerializer.bind(this, ListButtons.class);
 
         listButton.getListButtonSelectionListeners().add(listButtonSelectionListener);
         listButton.setSelectedIndex(0);

Modified: incubator/pivot/trunk/tutorials/src/pivot/tutorials/lists/ListViews.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/tutorials/src/pivot/tutorials/lists/ListViews.java?rev=784391&r1=784390&r2=784391&view=diff
==============================================================================
--- incubator/pivot/trunk/tutorials/src/pivot/tutorials/lists/ListViews.java (original)
+++ incubator/pivot/trunk/tutorials/src/pivot/tutorials/lists/ListViews.java Sat Jun 13 13:52:14 2009
@@ -76,7 +76,7 @@
         throws Exception {
         WTKXSerializer wtkxSerializer = new WTKXSerializer();
         window = (Window)wtkxSerializer.readObject(this, "list_views.wtkx");
-        wtkxSerializer.bind(this);
+        wtkxSerializer.bind(this, ListViews.class);
 
         listView.getListViewSelectionListeners().add(listViewSelectionListener);
 

Modified: incubator/pivot/trunk/tutorials/src/pivot/tutorials/navigation/Accordions.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/tutorials/src/pivot/tutorials/navigation/Accordions.java?rev=784391&r1=784390&r2=784391&view=diff
==============================================================================
--- incubator/pivot/trunk/tutorials/src/pivot/tutorials/navigation/Accordions.java (original)
+++ incubator/pivot/trunk/tutorials/src/pivot/tutorials/navigation/Accordions.java Sat Jun 13 13:52:14 2009
@@ -82,7 +82,7 @@
         throws Exception {
         WTKXSerializer wtkxSerializer = new WTKXSerializer();
         window = (Window)wtkxSerializer.readObject(this, "accordions.wtkx");
-        wtkxSerializer.bind(this);
+        wtkxSerializer.bind(this, Accordions.class);
 
         accordion.getAccordionSelectionListeners().add(accordionSelectionListener);
 

Modified: incubator/pivot/trunk/tutorials/src/pivot/tutorials/navigation/CardPanes.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/tutorials/src/pivot/tutorials/navigation/CardPanes.java?rev=784391&r1=784390&r2=784391&view=diff
==============================================================================
--- incubator/pivot/trunk/tutorials/src/pivot/tutorials/navigation/CardPanes.java (original)
+++ incubator/pivot/trunk/tutorials/src/pivot/tutorials/navigation/CardPanes.java Sat Jun 13 13:52:14 2009
@@ -49,7 +49,7 @@
         throws Exception {
         WTKXSerializer wtkxSerializer = new WTKXSerializer();
         window = (Window)wtkxSerializer.readObject(this, "card_panes.wtkx");
-        wtkxSerializer.bind(this);
+        wtkxSerializer.bind(this, CardPanes.class);
 
         cardPane.getCardPaneListeners().add(new CardPaneListener.Adapter() {
             public void selectedIndexChanged(CardPane cardPane, int previousSelectedIndex) {

Modified: incubator/pivot/trunk/tutorials/src/pivot/tutorials/navigation/Expanders.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/tutorials/src/pivot/tutorials/navigation/Expanders.java?rev=784391&r1=784390&r2=784391&view=diff
==============================================================================
--- incubator/pivot/trunk/tutorials/src/pivot/tutorials/navigation/Expanders.java (original)
+++ incubator/pivot/trunk/tutorials/src/pivot/tutorials/navigation/Expanders.java Sat Jun 13 13:52:14 2009
@@ -37,7 +37,7 @@
         throws Exception {
         WTKXSerializer wtkxSerializer = new WTKXSerializer();
         window = (Window)wtkxSerializer.readObject(this, "expanders.wtkx");
-        wtkxSerializer.bind(this);
+        wtkxSerializer.bind(this, Expanders.class);
 
         ExpanderListener expanderListener = new ExpanderListener.Adapter() {
             public void expandedChanged(Expander expander) {

Modified: incubator/pivot/trunk/tutorials/src/pivot/tutorials/navigation/TabPanes.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/tutorials/src/pivot/tutorials/navigation/TabPanes.java?rev=784391&r1=784390&r2=784391&view=diff
==============================================================================
--- incubator/pivot/trunk/tutorials/src/pivot/tutorials/navigation/TabPanes.java (original)
+++ incubator/pivot/trunk/tutorials/src/pivot/tutorials/navigation/TabPanes.java Sat Jun 13 13:52:14 2009
@@ -44,7 +44,7 @@
         throws Exception {
         WTKXSerializer wtkxSerializer = new WTKXSerializer();
         window = (Window)wtkxSerializer.readObject(this, "tab_panes.wtkx");
-        wtkxSerializer.bind(this);
+        wtkxSerializer.bind(this, TabPanes.class);
 
         ButtonStateListener checkboxStateListener = new ButtonStateListener() {
             public void stateChanged(Button button, Button.State previousState) {

Modified: incubator/pivot/trunk/tutorials/src/pivot/tutorials/progress/ActivityIndicators.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/tutorials/src/pivot/tutorials/progress/ActivityIndicators.java?rev=784391&r1=784390&r2=784391&view=diff
==============================================================================
--- incubator/pivot/trunk/tutorials/src/pivot/tutorials/progress/ActivityIndicators.java (original)
+++ incubator/pivot/trunk/tutorials/src/pivot/tutorials/progress/ActivityIndicators.java Sat Jun 13 13:52:14 2009
@@ -40,7 +40,7 @@
         throws Exception {
         WTKXSerializer wtkxSerializer = new WTKXSerializer();
         window = (Window)wtkxSerializer.readObject(this, "activity_indicators.wtkx");
-        wtkxSerializer.bind(this);
+        wtkxSerializer.bind(this, ActivityIndicators.class);
 
         activityButton.getButtonPressListeners().add(new ButtonPressListener() {
             public void buttonPressed(Button button) {

Modified: incubator/pivot/trunk/tutorials/src/pivot/tutorials/progress/Meters.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/tutorials/src/pivot/tutorials/progress/Meters.java?rev=784391&r1=784390&r2=784391&view=diff
==============================================================================
--- incubator/pivot/trunk/tutorials/src/pivot/tutorials/progress/Meters.java (original)
+++ incubator/pivot/trunk/tutorials/src/pivot/tutorials/progress/Meters.java Sat Jun 13 13:52:14 2009
@@ -72,7 +72,7 @@
         throws Exception {
         WTKXSerializer wtkxSerializer = new WTKXSerializer();
         window = (Window)wtkxSerializer.readObject(this, "meters.wtkx");
-        wtkxSerializer.bind(this);
+        wtkxSerializer.bind(this, Meters.class);
 
         progressButton.getButtonPressListeners().add(new ButtonPressListener() {
             public void buttonPressed(Button button) {

Modified: incubator/pivot/trunk/tutorials/src/pivot/tutorials/stocktracker/StockTracker.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/tutorials/src/pivot/tutorials/stocktracker/StockTracker.java?rev=784391&r1=784390&r2=784391&view=diff
==============================================================================
--- incubator/pivot/trunk/tutorials/src/pivot/tutorials/stocktracker/StockTracker.java (original)
+++ incubator/pivot/trunk/tutorials/src/pivot/tutorials/stocktracker/StockTracker.java Sat Jun 13 13:52:14 2009
@@ -106,7 +106,7 @@
         Resources resources = new Resources(this);
         WTKXSerializer wtkxSerializer = new WTKXSerializer(resources);
         window = (Window)wtkxSerializer.readObject(this, "stocktracker.wtkx");
-        wtkxSerializer.bind(this);
+        wtkxSerializer.bind(this, StockTracker.class);
 
         // Wire up event handlers
         stocksTableView.getTableViewSelectionListeners().add(new TableViewSelectionListener.Adapter() {

Modified: incubator/pivot/trunk/tutorials/src/pivot/tutorials/text/Text.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/tutorials/src/pivot/tutorials/text/Text.java?rev=784391&r1=784390&r2=784391&view=diff
==============================================================================
--- incubator/pivot/trunk/tutorials/src/pivot/tutorials/text/Text.java (original)
+++ incubator/pivot/trunk/tutorials/src/pivot/tutorials/text/Text.java Sat Jun 13 13:52:14 2009
@@ -126,7 +126,7 @@
         throws Exception {
         WTKXSerializer wtkxSerializer = new WTKXSerializer();
         window = (Window)wtkxSerializer.readObject(this, "text.wtkx");
-        wtkxSerializer.bind(this);
+        wtkxSerializer.bind(this, Text.class);
 
         stateTextInput.getTextInputCharacterListeners().add(textInputCharacterListener);
 

Modified: incubator/pivot/trunk/tutorials/src/pivot/tutorials/transition/Transitions.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/tutorials/src/pivot/tutorials/transition/Transitions.java?rev=784391&r1=784390&r2=784391&view=diff
==============================================================================
--- incubator/pivot/trunk/tutorials/src/pivot/tutorials/transition/Transitions.java (original)
+++ incubator/pivot/trunk/tutorials/src/pivot/tutorials/transition/Transitions.java Sat Jun 13 13:52:14 2009
@@ -38,7 +38,7 @@
         throws Exception {
         WTKXSerializer wtkxSerializer = new WTKXSerializer();
         window = (Window)wtkxSerializer.readObject(this, "transitions.wtkx");
-        wtkxSerializer.bind(this);
+        wtkxSerializer.bind(this, Transitions.class);
 
         ButtonPressListener trigger = new ButtonPressListener() {
             public void buttonPressed(Button button) {

Modified: incubator/pivot/trunk/wtk/src/pivot/wtk/Component.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/pivot/wtk/Component.java?rev=784391&r1=784390&r2=784391&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/pivot/wtk/Component.java (original)
+++ incubator/pivot/trunk/wtk/src/pivot/wtk/Component.java Sat Jun 13 13:52:14 2009
@@ -147,8 +147,17 @@
                 throw new IllegalArgumentException("decorator is null");
             }
 
+            // Repaint the the component's previous decorated region
+            if (parent != null) {
+                parent.repaint(getDecoratedBounds());
+            }
+
             decorators.insert(decorator, index);
-            repaint();
+
+            // Repaint the the component's current decorated region
+            if (parent != null) {
+                parent.repaint(getDecoratedBounds());
+            }
 
             componentDecoratorListeners.decoratorInserted(Component.this, index);
         }
@@ -158,8 +167,17 @@
                 throw new IllegalArgumentException("decorator is null.");
             }
 
+            // Repaint the the component's previous decorated region
+            if (parent != null) {
+                parent.repaint(getDecoratedBounds());
+            }
+
             Decorator previousDecorator = decorators.update(index, decorator);
-            repaint();
+
+            // Repaint the the component's current decorated region
+            if (parent != null) {
+                parent.repaint(getDecoratedBounds());
+            }
 
             componentDecoratorListeners.decoratorUpdated(Component.this, index,
                 previousDecorator);
@@ -177,10 +195,21 @@
         }
 
         public Sequence<Decorator> remove(int index, int count) {
+            if (count > 0) {
+                // Repaint the the component's previous decorated region
+                if (parent != null) {
+                    parent.repaint(getDecoratedBounds());
+                }
+            }
+
             Sequence<Decorator> removed = decorators.remove(index, count);
 
             if (count > 0) {
-                repaint();
+                if (parent != null) {
+                    // Repaint the the component's current decorated region
+                    parent.repaint(getDecoratedBounds());
+                }
+
                 componentDecoratorListeners.decoratorsRemoved(Component.this, index, removed);
             }
 

Modified: incubator/pivot/trunk/wtk/src/pivot/wtk/Sheet.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/pivot/wtk/Sheet.java?rev=784391&r1=784390&r2=784391&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/pivot/wtk/Sheet.java (original)
+++ incubator/pivot/trunk/wtk/src/pivot/wtk/Sheet.java Sat Jun 13 13:52:14 2009
@@ -54,38 +54,14 @@
     private boolean result = false;
     private SheetCloseListener sheetCloseListener = null;
 
-    private ComponentListener ownerListener = new ComponentListener() {
-        public void parentChanged(Component component, Container previousParent) {
-            // No-op
-        }
-
+    private ComponentListener ownerListener = new ComponentListener.Adapter() {
         public void sizeChanged(Component component, int previousWidth, int previousHeight) {
-            ApplicationContext.queueCallback(new Runnable() {
-                public void run() {
-                    alignToOwnerContent();
-                }
-            });
+            alignToOwnerContent();
         }
 
         public void locationChanged(Component component, int previousX, int previousY) {
             alignToOwnerContent();
         }
-
-        public void visibleChanged(Component component) {
-            // No-op
-        }
-
-        public void styleUpdated(Component component, String styleKey, Object previousValue) {
-            // No-op
-        }
-
-        public void cursorChanged(Component component, Cursor previousCursor) {
-            // No-op
-        }
-
-        public void tooltipTextChanged(Component component, String previousTooltipText) {
-            // No-op
-        }
     };
 
     private SheetStateListenerList sheetStateListeners = new SheetStateListenerList();
@@ -113,11 +89,7 @@
     public void setSize(int width, int height) {
         super.setSize(width, height);
 
-        ApplicationContext.queueCallback(new Runnable() {
-            public void run() {
-                alignToOwnerContent();
-            }
-        });
+        alignToOwnerContent();
     }
 
     @Override
@@ -148,6 +120,7 @@
 
             content.setEnabled(false);
 
+            // Defer alignment until the display has laid this window out
             ApplicationContext.queueCallback(new Runnable() {
                 public void run() {
                     alignToOwnerContent();

Modified: incubator/pivot/trunk/wtk/src/pivot/wtkx/WTKXSerializer.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/pivot/wtkx/WTKXSerializer.java?rev=784391&r1=784390&r2=784391&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/pivot/wtkx/WTKXSerializer.java (original)
+++ incubator/pivot/trunk/wtk/src/pivot/wtkx/WTKXSerializer.java Sat Jun 13 13:52:14 2009
@@ -951,12 +951,13 @@
      * be applied at compile time. See {@link BindProcessor} for more
      * information.
      *
+     * @param t
+     * @param type
+     *
      * @throws BindException
      * If an error occurs during binding
      */
-    public void bind(Object object) throws BindException {
-        Class<?> type = object.getClass();
-
+    public <T> void bind(T t, Class<? super T> type) throws BindException {
         Method __bindMethod = null;
         try {
             __bindMethod = type.getDeclaredMethod("__bind", new Class<?>[] {type, WTKXSerializer.class});
@@ -998,7 +999,7 @@
                         // Set the value into the field
                         Object value = get(id);
                         try {
-                            field.set(object, value);
+                            field.set(t, value);
                         } catch (IllegalAccessException exception) {
                             throw new BindException(exception);
                         }
@@ -1007,7 +1008,7 @@
             }
         } else {
             try {
-                __bindMethod.invoke(null, new Object[] {object, this});
+                __bindMethod.invoke(null, new Object[] {t, this});
             } catch (IllegalAccessException exception) {
                 throw new BindException(exception);
             } catch (InvocationTargetException exception) {

Modified: incubator/pivot/trunk/wtk/test/pivot/wtk/test/CardPaneTest.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/test/pivot/wtk/test/CardPaneTest.java?rev=784391&r1=784390&r2=784391&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/test/pivot/wtk/test/CardPaneTest.java (original)
+++ incubator/pivot/trunk/wtk/test/pivot/wtk/test/CardPaneTest.java Sat Jun 13 13:52:14 2009
@@ -46,7 +46,7 @@
 
         WTKXSerializer wtkxSerializer = new WTKXSerializer();
         sheet = (Sheet)wtkxSerializer.readObject(this, "card_pane_test.wtkx");
-        wtkxSerializer.bind(this);
+        wtkxSerializer.bind(this, CardPaneTest.class);
 
         Button.Group sizeGroup = Button.getGroup("sizeGroup");
         sizeGroup.getGroupListeners().add(new Button.GroupListener() {

Modified: incubator/pivot/trunk/wtk/test/pivot/wtk/test/SheetTest.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/test/pivot/wtk/test/SheetTest.java?rev=784391&r1=784390&r2=784391&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/test/pivot/wtk/test/SheetTest.java (original)
+++ incubator/pivot/trunk/wtk/test/pivot/wtk/test/SheetTest.java Sat Jun 13 13:52:14 2009
@@ -21,6 +21,7 @@
 import pivot.wtk.Application;
 import pivot.wtk.Button;
 import pivot.wtk.ButtonPressListener;
+import pivot.wtk.DesktopApplicationContext;
 import pivot.wtk.Display;
 import pivot.wtk.FlowPane;
 import pivot.wtk.Frame;
@@ -116,4 +117,8 @@
 
     public void resume() {
     }
+
+    public static void main(String[] args) {
+        DesktopApplicationContext.main(SheetTest.class, args);
+    }
 }