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/03/11 16:14:02 UTC

svn commit: r921889 [1/3] - in /pivot/trunk: wtk-terra/src/org/apache/pivot/wtk/skin/terra/ wtk/src/org/apache/pivot/wtk/ wtk/src/org/apache/pivot/wtk/content/ wtk/src/org/apache/pivot/wtk/skin/

Author: gbrown
Date: Thu Mar 11 15:14:00 2010
New Revision: 921889

URL: http://svn.apache.org/viewvc?rev=921889&view=rev
Log:
Split data binding events into their own interfaces.

Added:
    pivot/trunk/wtk/src/org/apache/pivot/wtk/ButtonBindingListener.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/CalendarBindingListener.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/CalendarButtonBindingListener.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/LabelBindingListener.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/ListButtonBindingListener.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/ListViewBindingListener.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/SpinnerBindingListener.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/TableViewBindingListener.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/TextAreaBindingListener.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/TextInputBindingListener.java
Modified:
    pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraListViewSkin.java
    pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraSpinnerSkin.java
    pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTableViewSkin.java
    pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTextInputSkin.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/Button.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/ButtonListener.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/Calendar.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/CalendarButton.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/CalendarButtonListener.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/CalendarListener.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/Label.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/LabelListener.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/ListButton.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/ListButtonListener.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/ListView.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/ListViewListener.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/Spinner.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/SpinnerListener.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/TableView.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/TableViewListener.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/TextArea.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/TextAreaListener.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/TextInput.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/TextInputListener.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewRowEditor.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/ButtonSkin.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/CalendarButtonSkin.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/CalendarSkin.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/LabelSkin.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/ListButtonSkin.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/TextAreaSkin.java

Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraListViewSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraListViewSkin.java?rev=921889&r1=921888&r2=921889&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraListViewSkin.java (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraListViewSkin.java Thu Mar 11 15:14:00 2010
@@ -27,7 +27,6 @@ import org.apache.pivot.collections.Dict
 import org.apache.pivot.collections.List;
 import org.apache.pivot.collections.Sequence;
 import org.apache.pivot.util.Filter;
-import org.apache.pivot.wtk.BindType;
 import org.apache.pivot.wtk.Bounds;
 import org.apache.pivot.wtk.Checkbox;
 import org.apache.pivot.wtk.Component;
@@ -1065,70 +1064,6 @@ public class TerraListViewSkin extends C
         repaintComponent();
     }
 
-    @Override
-    public void listDataKeyChanged(ListView listView, String previousListDataKey) {
-        // No-op
-    }
-
-    @Override
-    public void listDataBindTypeChanged(ListView listView, BindType previousListDataBindType) {
-        // No-op
-    }
-
-    @Override
-    public void listDataBindMappingChanged(ListView listView,
-        ListView.ListDataBindMapping previousListDataBindMapping) {
-        // No-op
-    }
-
-    @Override
-    public void selectedItemKeyChanged(ListView listView, String previousSelectedItemKey) {
-        // No-op
-    }
-
-    @Override
-    public void selectedItemBindTypeChanged(ListView listView, BindType previousSelectedItemBindType) {
-        // No-op
-    }
-
-    @Override
-    public void selectedItemBindMappingChanged(ListView listView,
-        ListView.ItemBindMapping previousSelectedItemBindMapping) {
-        // No-op
-    }
-
-    @Override
-    public void selectedItemsKeyChanged(ListView listView, String previousSelectedItemsKey) {
-        // No-op
-    }
-
-    @Override
-    public void selectedItemsBindTypeChanged(ListView listView, BindType previousSelectedItemsBindType) {
-        // No-op
-    }
-
-    @Override
-    public void selectedItemsBindMappingChanged(ListView listView,
-        ListView.ItemBindMapping previousSelectedItemsBindMapping) {
-        // No-op
-    }
-
-    @Override
-    public void checkedItemsKeyChanged(ListView listView, String previousCheckedItemsKey) {
-        // No-op
-    }
-
-    @Override
-    public void checkedItemsBindTypeChanged(ListView listView, BindType previousCheckedItemsBindType) {
-        // No-op
-    }
-
-    @Override
-    public void checkedItemsBindMappingChanged(ListView listView,
-        ListView.ItemBindMapping previousCheckedItemsBindMapping) {
-        // No-op
-    }
-
     // List view item events
     @Override
     public void itemInserted(ListView listView, int index) {

Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraSpinnerSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraSpinnerSkin.java?rev=921889&r1=921888&r2=921889&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraSpinnerSkin.java (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraSpinnerSkin.java Thu Mar 11 15:14:00 2010
@@ -855,18 +855,7 @@ public class TerraSpinnerSkin extends Co
         // No-op
     }
 
-    @Override
-    public void selectedItemKeyChanged(Spinner spinner, String previousSelectedItemKey) {
-        // No-op
-    }
-
-    @Override
-    public void selectedItemBindMappingChanged(Spinner spinner, Spinner.ItemBindMapping previousSelectedItemBindMapping) {
-        // No-op
-    }
-
     // SpinnerSelectionListener methods
-
     @Override
     public void selectedIndexChanged(Spinner spinner, int previousSelectedIndex) {
         invalidateContent();

Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTableViewSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTableViewSkin.java?rev=921889&r1=921888&r2=921889&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTableViewSkin.java (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTableViewSkin.java Thu Mar 11 15:14:00 2010
@@ -27,7 +27,6 @@ import org.apache.pivot.collections.Dict
 import org.apache.pivot.collections.List;
 import org.apache.pivot.collections.Sequence;
 import org.apache.pivot.util.Filter;
-import org.apache.pivot.wtk.BindType;
 import org.apache.pivot.wtk.Bounds;
 import org.apache.pivot.wtk.Component;
 import org.apache.pivot.wtk.Dimensions;
@@ -1363,54 +1362,6 @@ public class TerraTableViewSkin extends 
         repaintComponent();
     }
 
-    @Override
-    public void tableDataKeyChanged(TableView tableView, String previousTableDataKey) {
-        // No-op
-    }
-
-    @Override
-    public void tableDataBindTypeChanged(TableView tableView, BindType previousTableDataBindType) {
-        // No-op
-    }
-
-    @Override
-    public void tableDataBindMappingChanged(TableView tableView,
-        TableView.TableDataBindMapping previousTableDataBindMapping) {
-        // No-op
-    }
-
-    @Override
-    public void selectedRowKeyChanged(TableView tableView, String previousSelectedRowKey) {
-        // No-op
-    }
-
-    @Override
-    public void selectedRowBindTypeChanged(TableView tableView, BindType previousSelectedRowBindType) {
-        // No-op
-    }
-
-    @Override
-    public void selectedRowBindMappingChanged(TableView tableView,
-        TableView.SelectedRowBindMapping previousSelectedRowBindMapping) {
-        // No-op
-    }
-
-    @Override
-    public void selectedRowsKeyChanged(TableView tableView, String previousSelectedRowsKey) {
-        // No-op
-    }
-
-    @Override
-    public void selectedRowsBindTypeChanged(TableView tableView, BindType previousSelectedRowsBindType) {
-        // No-op
-    }
-
-    @Override
-    public void selectedRowsBindMappingChanged(TableView tableView,
-        TableView.SelectedRowBindMapping previousSelectedRowsBindMapping) {
-        // No-op
-    }
-
     // Table view column events
     @Override
     public void columnInserted(TableView tableView, int index) {

Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTextInputSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTextInputSkin.java?rev=921889&r1=921888&r2=921889&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTextInputSkin.java (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTextInputSkin.java Thu Mar 11 15:14:00 2010
@@ -34,7 +34,6 @@ import java.text.StringCharacterIterator
 
 import org.apache.pivot.collections.Dictionary;
 import org.apache.pivot.wtk.ApplicationContext;
-import org.apache.pivot.wtk.BindType;
 import org.apache.pivot.wtk.Bounds;
 import org.apache.pivot.wtk.Component;
 import org.apache.pivot.wtk.Cursor;
@@ -1352,21 +1351,6 @@ public class TerraTextInputSkin extends 
     }
 
     @Override
-    public void textKeyChanged(TextInput textInput, String previousTextKey) {
-        // No-op
-    }
-
-    @Override
-    public void textBindTypeChanged(TextInput textInput, BindType previousTextBindType) {
-        // No-op
-    }
-
-    @Override
-    public void textBindMappingChanged(TextInput textInput, TextInput.TextBindMapping previousTextBindMapping) {
-        // No-op
-    }
-
-    @Override
     public void textValidChanged(TextInput textInput) {
         repaintComponent();
     }

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/Button.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/Button.java?rev=921889&r1=921888&r2=921889&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/Button.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/Button.java Thu Mar 11 15:14:00 2010
@@ -109,9 +109,6 @@ public abstract class Button extends Com
         public Object valueOf(State state);
     }
 
-    /**
-     * Button listener list.
-     */
     private static class ButtonListenerList extends ListenerList<ButtonListener>
         implements ButtonListener {
         @Override
@@ -155,78 +152,76 @@ public abstract class Button extends Com
                 listener.buttonGroupChanged(button, previousButtonGroup);
             }
         }
+    }
+
+    private static class ButtonStateListenerList extends ListenerList<ButtonStateListener>
+        implements ButtonStateListener {
+        @Override
+        public void stateChanged(Button button, Button.State previousState) {
+            for (ButtonStateListener listener : this) {
+                listener.stateChanged(button, previousState);
+            }
+        }
+    }
+
+    private static class ButtonPressListenerList extends ListenerList<ButtonPressListener>
+        implements ButtonPressListener {
+        @Override
+        public void buttonPressed(Button button) {
+            for (ButtonPressListener listener : this) {
+                listener.buttonPressed(button);
+            }
+        }
+    }
 
+    private static class ButtonBindingListenerList extends ListenerList<ButtonBindingListener>
+        implements ButtonBindingListener {
         @Override
         public void selectedKeyChanged(Button button, String previousSelectedKey) {
-            for (ButtonListener listener : this) {
+            for (ButtonBindingListener listener : this) {
                 listener.selectedKeyChanged(button, previousSelectedKey);
             }
         }
 
         @Override
         public void selectedBindTypeChanged(Button button, BindType previousSelectedBindType) {
-            for (ButtonListener listener : this) {
+            for (ButtonBindingListener listener : this) {
                 listener.selectedBindTypeChanged(button, previousSelectedBindType);
             }
         }
 
         @Override
         public void selectedBindMappingChanged(Button button, Button.SelectedBindMapping previousSelectedBindMapping) {
-            for (ButtonListener listener : this) {
+            for (ButtonBindingListener listener : this) {
                 listener.selectedBindMappingChanged(button, previousSelectedBindMapping);
             }
         }
 
         @Override
         public void stateKeyChanged(Button button, String previousStateKey) {
-            for (ButtonListener listener : this) {
+            for (ButtonBindingListener listener : this) {
                 listener.stateKeyChanged(button, previousStateKey);
             }
         }
 
         @Override
         public void stateBindTypeChanged(Button button, BindType previousStateBindType) {
-            for (ButtonListener listener : this) {
+            for (ButtonBindingListener listener : this) {
                 listener.stateBindTypeChanged(button, previousStateBindType);
             }
         }
 
         @Override
         public void stateBindMappingChanged(Button button, Button.StateBindMapping previousStateBindMapping) {
-            for (ButtonListener listener : this) {
+            for (ButtonBindingListener listener : this) {
                 listener.stateBindMappingChanged(button, previousStateBindMapping);
             }
         }
     }
 
-    /**
-     * Button state listener list.
-     */
-    private static class ButtonStateListenerList extends ListenerList<ButtonStateListener>
-        implements ButtonStateListener {
-        @Override
-        public void stateChanged(Button button, Button.State previousState) {
-            for (ButtonStateListener listener : this) {
-                listener.stateChanged(button, previousState);
-            }
-        }
-    }
-
-    /**
-     * Button press listener list.
-     */
-    private static class ButtonPressListenerList extends ListenerList<ButtonPressListener>
-        implements ButtonPressListener {
-        @Override
-        public void buttonPressed(Button button) {
-            for (ButtonPressListener listener : this) {
-                listener.buttonPressed(button);
-            }
-        }
-    }
-
     private Object buttonData = null;
     private DataRenderer dataRenderer = null;
+
     private Action action = null;
     private ActionListener actionListener = new ActionListener() {
         @Override
@@ -253,6 +248,7 @@ public abstract class Button extends Com
     private ButtonListenerList buttonListeners = new ButtonListenerList();
     private ButtonStateListenerList buttonStateListeners = new ButtonStateListenerList();
     private ButtonPressListenerList buttonPressListeners = new ButtonPressListenerList();
+    private ButtonBindingListenerList buttonBindingListeners = new ButtonBindingListenerList();
 
     public Button() {
         this(null);
@@ -553,7 +549,7 @@ public abstract class Button extends Com
 
         if (previousSelectedKey != selectedKey) {
             this.selectedKey = selectedKey;
-            buttonListeners.selectedKeyChanged(this, previousSelectedKey);
+            buttonBindingListeners.selectedKeyChanged(this, previousSelectedKey);
         }
     }
 
@@ -570,7 +566,7 @@ public abstract class Button extends Com
 
         if (previousSelectedBindType != selectedBindType) {
             this.selectedBindType = selectedBindType;
-            buttonListeners.selectedBindTypeChanged(this, previousSelectedBindType);
+            buttonBindingListeners.selectedBindTypeChanged(this, previousSelectedBindType);
         }
     }
 
@@ -583,7 +579,7 @@ public abstract class Button extends Com
 
         if (previousSelectedBindMapping != selectedBindMapping) {
             this.selectedBindMapping = selectedBindMapping;
-            buttonListeners.selectedBindMappingChanged(this, previousSelectedBindMapping);
+            buttonBindingListeners.selectedBindMappingChanged(this, previousSelectedBindMapping);
         }
     }
 
@@ -596,7 +592,7 @@ public abstract class Button extends Com
 
         if (previousStateKey != stateKey) {
             this.stateKey = stateKey;
-            buttonListeners.stateKeyChanged(this, previousStateKey);
+            buttonBindingListeners.stateKeyChanged(this, previousStateKey);
         }
     }
 
@@ -613,7 +609,7 @@ public abstract class Button extends Com
 
         if (previousStateBindType != stateBindType) {
             this.stateBindType = stateBindType;
-            buttonListeners.stateBindTypeChanged(this, previousStateBindType);
+            buttonBindingListeners.stateBindTypeChanged(this, previousStateBindType);
         }
     }
 
@@ -626,7 +622,7 @@ public abstract class Button extends Com
 
         if (previousStateBindMapping != stateBindMapping) {
             this.stateBindMapping = stateBindMapping;
-            buttonListeners.stateBindMappingChanged(this, previousStateBindMapping);
+            buttonBindingListeners.stateBindMappingChanged(this, previousStateBindMapping);
         }
     }
 
@@ -717,4 +713,8 @@ public abstract class Button extends Com
     public ListenerList<ButtonPressListener> getButtonPressListeners() {
         return buttonPressListeners;
     }
+
+    public ListenerList<ButtonBindingListener> getButtonBindingListeners() {
+        return buttonBindingListeners;
+    }
 }

Added: pivot/trunk/wtk/src/org/apache/pivot/wtk/ButtonBindingListener.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/ButtonBindingListener.java?rev=921889&view=auto
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/ButtonBindingListener.java (added)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/ButtonBindingListener.java Thu Mar 11 15:14:00 2010
@@ -0,0 +1,99 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.pivot.wtk;
+
+/**
+ * Button binding listener interface.
+ */
+public interface ButtonBindingListener {
+    /**
+     * Button binding listener adapter.
+     */
+    public static class Adapter implements ButtonBindingListener {
+        @Override
+        public void selectedKeyChanged(Button button, String previousSelectedKey) {
+        }
+
+        @Override
+        public void selectedBindTypeChanged(Button button, BindType previousSelectedBindType) {
+        }
+
+        @Override
+        public void selectedBindMappingChanged(Button button, Button.SelectedBindMapping previousSelectedBindMapping) {
+        }
+
+        @Override
+        public void stateKeyChanged(Button button, String previousStateKey) {
+        }
+
+        @Override
+        public void stateBindTypeChanged(Button button, BindType previousStateBindType) {
+        }
+
+        @Override
+        public void stateBindMappingChanged(Button button, Button.StateBindMapping previousStateBindMapping) {
+        }
+    }
+
+    /**
+     * Called when a button's selected key has changed.
+     *
+     * @param button
+     * @param previousSelectedKey
+     */
+    public void selectedKeyChanged(Button button, String previousSelectedKey);
+
+    /**
+     * Called when a button's selected bind type has changed.
+     *
+     * @param button
+     * @param previousSelectedBindType
+     */
+    public void selectedBindTypeChanged(Button button, BindType previousSelectedBindType);
+
+    /**
+     * Called when a button's selected bind mapping has changed.
+     *
+     * @param button
+     * @param previousSelectedBindMapping
+     */
+    public void selectedBindMappingChanged(Button button, Button.SelectedBindMapping previousSelectedBindMapping);
+
+    /**
+     * Called when a button's state key has changed.
+     *
+     * @param button
+     * @param previousStateKey
+     */
+    public void stateKeyChanged(Button button, String previousStateKey);
+
+    /**
+     * Called when a button's state bind type has changed.
+     *
+     * @param button
+     * @param previousStateBindType
+     */
+    public void stateBindTypeChanged(Button button, BindType previousStateBindType);
+
+    /**
+     * Called when a button's state bind mapping has changed.
+     *
+     * @param button
+     * @param previousStateBindMapping
+     */
+    public void stateBindMappingChanged(Button button, Button.StateBindMapping previousStateBindMapping);
+}

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/ButtonListener.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/ButtonListener.java?rev=921889&r1=921888&r2=921889&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/ButtonListener.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/ButtonListener.java Thu Mar 11 15:14:00 2010
@@ -47,30 +47,6 @@ public interface ButtonListener {
         @Override
         public void buttonGroupChanged(Button button, ButtonGroup previousButtonGroup) {
         }
-
-        @Override
-        public void selectedKeyChanged(Button button, String previousSelectedKey) {
-        }
-
-        @Override
-        public void selectedBindTypeChanged(Button button, BindType previousSelectedBindType) {
-        }
-
-        @Override
-        public void selectedBindMappingChanged(Button button, Button.SelectedBindMapping previousSelectedBindMapping) {
-        }
-
-        @Override
-        public void stateKeyChanged(Button button, String previousStateKey) {
-        }
-
-        @Override
-        public void stateBindTypeChanged(Button button, BindType previousStateBindType) {
-        }
-
-        @Override
-        public void stateBindMappingChanged(Button button, Button.StateBindMapping previousStateBindMapping) {
-        }
     }
 
     /**
@@ -118,52 +94,4 @@ public interface ButtonListener {
      * @param previousButtonGroup
      */
     public void buttonGroupChanged(Button button, ButtonGroup previousButtonGroup);
-
-    /**
-     * Called when a button's selected key has changed.
-     *
-     * @param button
-     * @param previousSelectedKey
-     */
-    public void selectedKeyChanged(Button button, String previousSelectedKey);
-
-    /**
-     * Called when a button's selected bind type has changed.
-     *
-     * @param button
-     * @param previousSelectedBindType
-     */
-    public void selectedBindTypeChanged(Button button, BindType previousSelectedBindType);
-
-    /**
-     * Called when a button's selected bind mapping has changed.
-     *
-     * @param button
-     * @param previousSelectedBindMapping
-     */
-    public void selectedBindMappingChanged(Button button, Button.SelectedBindMapping previousSelectedBindMapping);
-
-    /**
-     * Called when a button's state key has changed.
-     *
-     * @param button
-     * @param previousStateKey
-     */
-    public void stateKeyChanged(Button button, String previousStateKey);
-
-    /**
-     * Called when a button's state bind type has changed.
-     *
-     * @param button
-     * @param previousStateBindType
-     */
-    public void stateBindTypeChanged(Button button, BindType previousStateBindType);
-
-    /**
-     * Called when a button's bind mapping has changed.
-     *
-     * @param button
-     * @param previousStateBindMapping
-     */
-    public void stateBindMappingChanged(Button button, Button.StateBindMapping previousStateBindMapping);
 }

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/Calendar.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/Calendar.java?rev=921889&r1=921888&r2=921889&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/Calendar.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/Calendar.java Thu Mar 11 15:14:00 2010
@@ -49,9 +49,6 @@ public class Calendar extends Container 
         public Object valueOf(CalendarDate calendarDate);
     }
 
-    /**
-     * Calendar listener list.
-     */
     private static class CalendarListenerList extends ListenerList<CalendarListener>
         implements CalendarListener {
         @Override
@@ -81,35 +78,41 @@ public class Calendar extends Container 
                 listener.disabledDateFilterChanged(calendar, previousDisabledDateFilter);
             }
         }
+    }
+
+    private static class CalendarSelectionListenerList extends ListenerList<CalendarSelectionListener>
+        implements CalendarSelectionListener {
+
+        @Override
+        public void selectedDateChanged(Calendar calendar,
+            CalendarDate previousSelectedDate) {
+            for (CalendarSelectionListener listener : this) {
+                listener.selectedDateChanged(calendar, previousSelectedDate);
+            }
+        }
+    }
 
+    private static class CalendarBindingListenerList extends ListenerList<CalendarBindingListener>
+        implements CalendarBindingListener {
         @Override
         public void selectedDateKeyChanged(Calendar calendar,
             String previousSelectedDateKey) {
-            for (CalendarListener listener : this) {
+            for (CalendarBindingListener listener : this) {
                 listener.selectedDateKeyChanged(calendar, previousSelectedDateKey);
             }
         }
 
         @Override
-        public void selectedDateBindMappingChanged(Calendar calendar, SelectedDateBindMapping previousSelectedDateBindMapping) {
-            for (CalendarListener listener : this) {
-                listener.selectedDateBindMappingChanged(calendar, previousSelectedDateBindMapping);
+        public void selectedDateBindTypeChanged(Calendar calendar, BindType previousSelectedDateBindType) {
+            for (CalendarBindingListener listener : this) {
+                listener.selectedDateBindTypeChanged(calendar, previousSelectedDateBindType);
             }
         }
-    }
-
-    /**
-     * Calendar selection listener list.
-     */
-    private static class CalendarSelectionListenerList
-        extends ListenerList<CalendarSelectionListener>
-        implements CalendarSelectionListener {
 
         @Override
-        public void selectedDateChanged(Calendar calendar,
-            CalendarDate previousSelectedDate) {
-            for (CalendarSelectionListener listener : this) {
-                listener.selectedDateChanged(calendar, previousSelectedDate);
+        public void selectedDateBindMappingChanged(Calendar calendar, SelectedDateBindMapping previousSelectedDateBindMapping) {
+            for (CalendarBindingListener listener : this) {
+                listener.selectedDateBindMappingChanged(calendar, previousSelectedDateBindMapping);
             }
         }
     }
@@ -120,12 +123,15 @@ public class Calendar extends Container 
     private CalendarDate selectedDate = null;
     private Locale locale = Locale.getDefault();
     private Filter<CalendarDate> disabledDateFilter = null;
+
     private String selectedDateKey = null;
+    private BindType selectedDateBindType = BindType.BOTH;
     private SelectedDateBindMapping selectedDateBindMapping = null;
 
     private CalendarListenerList calendarListeners = new CalendarListenerList();
     private CalendarSelectionListenerList calendarSelectionListeners =
         new CalendarSelectionListenerList();
+    private CalendarBindingListenerList calendarBindingListeners = new CalendarBindingListenerList();
 
     public static final String LANGUAGE_KEY = "language";
     public static final String COUNTRY_KEY = "country";
@@ -327,7 +333,20 @@ public class Calendar extends Container 
 
         if (selectedDateKey != previousSelectedDateKey) {
             this.selectedDateKey = selectedDateKey;
-            calendarListeners.selectedDateKeyChanged(this, previousSelectedDateKey);
+            calendarBindingListeners.selectedDateKeyChanged(this, previousSelectedDateKey);
+        }
+    }
+
+    public BindType getSelectedDateBindType() {
+        return selectedDateBindType;
+    }
+
+    public void setSelectedDateBindType(BindType selectedDateBindType) {
+        BindType previousSelectedDateBindType = this.selectedDateBindType;
+
+        if (previousSelectedDateBindType != selectedDateBindType) {
+            this.selectedDateBindType = selectedDateBindType;
+            calendarBindingListeners.selectedDateBindTypeChanged(this, previousSelectedDateBindType);
         }
     }
 
@@ -340,18 +359,15 @@ public class Calendar extends Container 
 
         if (previousSelectedDateBindMapping != selectedDateBindMapping) {
             this.selectedDateBindMapping = selectedDateBindMapping;
-            calendarListeners.selectedDateBindMappingChanged(this, previousSelectedDateBindMapping);
+            calendarBindingListeners.selectedDateBindMappingChanged(this, previousSelectedDateBindMapping);
         }
     }
 
-    /**
-     * Loads the selected date from the specified bind context using this date
-     * picker's bind key, if one is set.
-     */
     @Override
     public void load(Dictionary<String, ?> context) {
         if (selectedDateKey != null
-            && JSON.containsKey(context, selectedDateKey)) {
+            && JSON.containsKey(context, selectedDateKey)
+            && selectedDateBindType != BindType.STORE) {
             Object value = JSON.get(context, selectedDateKey);
 
             CalendarDate selectedDate = null;
@@ -370,22 +386,15 @@ public class Calendar extends Container 
         }
     }
 
-    /**
-     * Stores the selected date into the specified bind context using this date
-     * picker's bind key, if one is set.
-     */
     @Override
     public void store(Dictionary<String, ?> context) {
-        if (isEnabled()
-            && selectedDateKey != null) {
+        if (selectedDateKey != null
+            && selectedDateBindType != BindType.LOAD) {
             JSON.put(context, selectedDateKey, (selectedDateBindMapping == null) ?
                 selectedDate : selectedDateBindMapping.valueOf(selectedDate));
         }
     }
 
-    /**
-     * If a bind key is set, clears the selected date.
-     */
     @Override
     public void clear() {
         if (selectedDateKey != null) {
@@ -406,4 +415,11 @@ public class Calendar extends Container 
     public ListenerList<CalendarSelectionListener> getCalendarSelectionListeners() {
         return calendarSelectionListeners;
     }
+
+    /**
+     * Returns the calendar binding listener list.
+     */
+    public ListenerList<CalendarBindingListener> getCalendarBindingListeners() {
+        return calendarBindingListeners;
+    }
 }

Added: pivot/trunk/wtk/src/org/apache/pivot/wtk/CalendarBindingListener.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/CalendarBindingListener.java?rev=921889&view=auto
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/CalendarBindingListener.java (added)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/CalendarBindingListener.java Thu Mar 11 15:14:00 2010
@@ -0,0 +1,65 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.pivot.wtk;
+
+/**
+ * Calendar binding listener interface.
+ */
+public interface CalendarBindingListener {
+    /**
+     * Calendar binding listener adapter.
+     */
+    public static class Adapter implements CalendarBindingListener {
+        @Override
+        public void selectedDateKeyChanged(Calendar calendar, String previousSelectedDateKey) {
+        }
+
+        @Override
+        public void selectedDateBindTypeChanged(Calendar calendar, BindType previousSelectedDateBindType) {
+        }
+
+        @Override
+        public void selectedDateBindMappingChanged(Calendar calendar, Calendar.SelectedDateBindMapping previousSelectedDateBindMapping) {
+        }
+    }
+
+    /**
+     * Called when a calendar's selected date key has changed.
+     *
+     * @param calendar
+     * @param previousSelectedDateKey
+     */
+    public void selectedDateKeyChanged(Calendar calendar, String previousSelectedDateKey);
+
+    /**
+     * Called when a calendar's selected date bind type has changed.
+     *
+     * @param calendar
+     * @param previousSelectedDateBindType
+     */
+    public void selectedDateBindTypeChanged(Calendar calendar, BindType previousSelectedDateBindType);
+
+    /**
+     * Called when a calendar's selected date bind mapping has changed.
+     *
+     * @param calendar
+     * @param previousSelectedDateBindMapping
+     */
+    public void selectedDateBindMappingChanged(Calendar calendar,
+        Calendar.SelectedDateBindMapping previousSelectedDateBindMapping);
+
+}

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/CalendarButton.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/CalendarButton.java?rev=921889&r1=921888&r2=921889&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/CalendarButton.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/CalendarButton.java Thu Mar 11 15:14:00 2010
@@ -32,9 +32,6 @@ import org.apache.pivot.wtk.content.Cale
  * is hidden until the user pushes the button.
  */
 public class CalendarButton extends Button {
-    /**
-     * Calendar button listener list.
-     */
     private static class CalendarButtonListenerList
         extends ListenerList<CalendarButtonListener>
         implements CalendarButtonListener {
@@ -52,36 +49,44 @@ public class CalendarButton extends Butt
                 listener.disabledDateFilterChanged(calendarButton, previousDisabledDateFilter);
             }
         }
+    }
+
+    private static class CalendarButtonSelectionListenerList
+        extends ListenerList<CalendarButtonSelectionListener>
+        implements CalendarButtonSelectionListener {
 
         @Override
+        public void selectedDateChanged(CalendarButton calendarButton,
+            CalendarDate previousSelectedDate) {
+            for (CalendarButtonSelectionListener listener : this) {
+                listener.selectedDateChanged(calendarButton, previousSelectedDate);
+            }
+        }
+    }
+
+    private static class CalendarButtonBindingListenerList extends ListenerList<CalendarButtonBindingListener>
+        implements CalendarButtonBindingListener {
+        @Override
         public void selectedDateKeyChanged(CalendarButton calendarButton,
             String previousSelectedDateKey) {
-            for (CalendarButtonListener listener : this) {
+            for (CalendarButtonBindingListener listener : this) {
                 listener.selectedDateKeyChanged(calendarButton, previousSelectedDateKey);
             }
         }
 
         @Override
-        public void selectedDateBindMappingChanged(CalendarButton calendarButton,
-            Calendar.SelectedDateBindMapping previousSelectedDateBindMapping) {
-            for (CalendarButtonListener listener : this) {
-                listener.selectedDateBindMappingChanged(calendarButton, previousSelectedDateBindMapping);
+        public void selectedDateBindTypeChanged(CalendarButton calendarButton,
+            BindType previousSelectedDateBindType) {
+            for (CalendarButtonBindingListener listener : this) {
+                listener.selectedDateBindTypeChanged(calendarButton, previousSelectedDateBindType);
             }
         }
-    }
-
-    /**
-     * Calendar button selection listener list.
-     */
-    private static class CalendarButtonSelectionListenerList
-        extends ListenerList<CalendarButtonSelectionListener>
-        implements CalendarButtonSelectionListener {
 
         @Override
-        public void selectedDateChanged(CalendarButton calendarButton,
-            CalendarDate previousSelectedDate) {
-            for (CalendarButtonSelectionListener listener : this) {
-                listener.selectedDateChanged(calendarButton, previousSelectedDate);
+        public void selectedDateBindMappingChanged(CalendarButton calendarButton,
+            Calendar.SelectedDateBindMapping previousSelectedDateBindMapping) {
+            for (CalendarButtonBindingListener listener : this) {
+                listener.selectedDateBindMappingChanged(calendarButton, previousSelectedDateBindMapping);
             }
         }
     }
@@ -89,13 +94,17 @@ public class CalendarButton extends Butt
     private CalendarDate selectedDate = null;
     private Locale locale = Locale.getDefault();
     private Filter<CalendarDate> disabledDateFilter = null;
+
     private String selectedDateKey = null;
+    private BindType selectedDateBindType = BindType.BOTH;
     private Calendar.SelectedDateBindMapping selectedDateBindMapping = null;
 
     private CalendarButtonListenerList calendarButtonListeners =
         new CalendarButtonListenerList();
     private CalendarButtonSelectionListenerList calendarButtonSelectionListeners =
         new CalendarButtonSelectionListenerList();
+    private CalendarButtonBindingListenerList calendarButtonBindingListeners =
+        new CalendarButtonBindingListenerList();
 
     public static final String LANGUAGE_KEY = "language";
     public static final String COUNTRY_KEY = "country";
@@ -271,7 +280,20 @@ public class CalendarButton extends Butt
 
         if (previousSelectedDateKey != selectedDateKey) {
             this.selectedDateKey = selectedDateKey;
-            calendarButtonListeners.selectedDateKeyChanged(this, previousSelectedDateKey);
+            calendarButtonBindingListeners.selectedDateKeyChanged(this, previousSelectedDateKey);
+        }
+    }
+
+    public BindType getSelectedDateBindType() {
+        return selectedDateBindType;
+    }
+
+    public void setSelectedDateBindType(BindType selectedDateBindType) {
+        BindType previousSelectedDateBindType = this.selectedDateBindType;
+
+        if (previousSelectedDateBindType != selectedDateBindType) {
+            this.selectedDateBindType = selectedDateBindType;
+            calendarButtonBindingListeners.selectedDateBindTypeChanged(this, previousSelectedDateBindType);
         }
     }
 
@@ -284,20 +306,15 @@ public class CalendarButton extends Butt
 
         if (previousSelectedDateBindMapping != bindMapping) {
             this.selectedDateBindMapping = bindMapping;
-            calendarButtonListeners.selectedDateBindMappingChanged(this, previousSelectedDateBindMapping);
+            calendarButtonBindingListeners.selectedDateBindMappingChanged(this, previousSelectedDateBindMapping);
         }
     }
 
-    /**
-     * Loads the selected date from the specified bind context using this date
-     * picker button's bind key, if one is set.
-     */
     @Override
     public void load(Dictionary<String, ?> context) {
-        String selectedDateKey = getSelectedDateKey();
-
         if (selectedDateKey != null
-            && JSON.containsKey(context, selectedDateKey)) {
+            && JSON.containsKey(context, selectedDateKey)
+            && selectedDateBindType != BindType.STORE) {
             Object value = JSON.get(context, selectedDateKey);
 
             CalendarDate selectedDate = null;
@@ -316,22 +333,15 @@ public class CalendarButton extends Butt
         }
     }
 
-    /**
-     * Stores the selected date into the specified bind context using this date
-     * picker button's bind key, if one is set.
-     */
     @Override
     public void store(Dictionary<String, ?> context) {
-        if (isEnabled()
-            && selectedDateKey != null) {
+        if (selectedDateKey != null
+            && selectedDateBindType != BindType.LOAD) {
             JSON.put(context, selectedDateKey, (selectedDateBindMapping == null) ?
                 selectedDate : selectedDateBindMapping.valueOf(selectedDate));
         }
     }
 
-    /**
-     * If a bind key is set, clears the selected date.
-     */
     @Override
     public void clear() {
         if (selectedDateKey != null) {

Added: pivot/trunk/wtk/src/org/apache/pivot/wtk/CalendarButtonBindingListener.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/CalendarButtonBindingListener.java?rev=921889&view=auto
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/CalendarButtonBindingListener.java (added)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/CalendarButtonBindingListener.java Thu Mar 11 15:14:00 2010
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.pivot.wtk;
+
+/**
+ * Calender button binding listener interface.
+ */
+public interface CalendarButtonBindingListener {
+    /**
+     * Calendar button binding listener adapter.
+     */
+    public static class Adapter implements CalendarButtonBindingListener {
+        @Override
+        public void selectedDateKeyChanged(CalendarButton calendarButton,
+            String previousSelectedDateKey) {
+        }
+
+        @Override
+        public void selectedDateBindTypeChanged(CalendarButton calendarButton,
+            BindType previousSelectedDateBindType) {
+        }
+
+        @Override
+        public void selectedDateBindMappingChanged(CalendarButton calendarButton,
+            Calendar.SelectedDateBindMapping previousSelectedDateBindMapping) {
+        }
+    }
+
+    /**
+     * Called when a calendar button's selected date key has changed.
+     *
+     * @param calendarButton
+     * @param previousSelectedDateKey
+     */
+    public void selectedDateKeyChanged(CalendarButton calendarButton,
+        String previousSelectedDateKey);
+
+    /**
+     * Called when a calendar button's selected date bind type has changed.
+     *
+     * @param calendarButton
+     * @param previousSelectedDateBindType
+     */
+    public void selectedDateBindTypeChanged(CalendarButton calendarButton,
+        BindType previousSelectedDateBindType);
+
+    /**
+     * Called when a calendar button's selected date bind mapping has changed.
+     *
+     * @param calendarButton
+     * @param previousSelectedDateBindMapping
+     */
+    public void selectedDateBindMappingChanged(CalendarButton calendarButton,
+        Calendar.SelectedDateBindMapping previousSelectedDateBindMapping);
+
+}

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/CalendarButtonListener.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/CalendarButtonListener.java?rev=921889&r1=921888&r2=921889&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/CalendarButtonListener.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/CalendarButtonListener.java Thu Mar 11 15:14:00 2010
@@ -37,16 +37,6 @@ public interface CalendarButtonListener 
         public void disabledDateFilterChanged(CalendarButton calendarButton,
             Filter<CalendarDate> previousDisabledDateFilter) {
         }
-
-        @Override
-        public void selectedDateKeyChanged(CalendarButton calendarButton,
-            String previousSelectedDateKey) {
-        }
-
-        @Override
-        public void selectedDateBindMappingChanged(CalendarButton calendarButton,
-            Calendar.SelectedDateBindMapping previousSelectedDateBindMapping) {
-        }
     }
 
     /**
@@ -65,22 +55,4 @@ public interface CalendarButtonListener 
      */
     public void disabledDateFilterChanged(CalendarButton calendarButton,
         Filter<CalendarDate> previousDisabledDateFilter);
-
-    /**
-     * Called when a calendar button's selected date key has changed.
-     *
-     * @param calendarButton
-     * @param previousSelectedDateKey
-     */
-    public void selectedDateKeyChanged(CalendarButton calendarButton,
-        String previousSelectedDateKey);
-
-    /**
-     * Called when a calendar button's selection bind mapping has changed.
-     *
-     * @param calendarButton
-     * @param previousSelectedDateBindMapping
-     */
-    public void selectedDateBindMappingChanged(CalendarButton calendarButton,
-        Calendar.SelectedDateBindMapping previousSelectedDateBindMapping);
 }

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/CalendarListener.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/CalendarListener.java?rev=921889&r1=921888&r2=921889&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/CalendarListener.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/CalendarListener.java Thu Mar 11 15:14:00 2010
@@ -44,14 +44,6 @@ public interface CalendarListener {
         @Override
         public void disabledDateFilterChanged(Calendar calendar, Filter<CalendarDate> previousDisabledDateFilter) {
         }
-
-        @Override
-        public void selectedDateKeyChanged(Calendar calendar, String previousSelectedDateKey) {
-        }
-
-        @Override
-        public void selectedDateBindMappingChanged(Calendar calendar, Calendar.SelectedDateBindMapping previousSelectedDateBindMapping) {
-        }
     }
 
     /**
@@ -85,21 +77,4 @@ public interface CalendarListener {
      * @param previousDisabledDateFilter
      */
     public void disabledDateFilterChanged(Calendar calendar, Filter<CalendarDate> previousDisabledDateFilter);
-
-    /**
-     * Called when a calendar's selected date key has changed.
-     *
-     * @param calendar
-     * @param previousSelectedDateKey
-     */
-    public void selectedDateKeyChanged(Calendar calendar, String previousSelectedDateKey);
-
-    /**
-     * Called when a calendar's bind mapping has changed.
-     *
-     * @param calendar
-     * @param previousSelectedDateBindMapping
-     */
-    public void selectedDateBindMappingChanged(Calendar calendar,
-        Calendar.SelectedDateBindMapping previousSelectedDateBindMapping);
 }

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/Label.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/Label.java?rev=921889&r1=921888&r2=921889&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/Label.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/Label.java Thu Mar 11 15:14:00 2010
@@ -53,24 +53,27 @@ public class Label extends Component {
                 listener.textChanged(label, previousText);
             }
         }
+    }
 
+    private static class LabelBindingListenerList extends ListenerList<LabelBindingListener>
+        implements LabelBindingListener {
         @Override
         public void textKeyChanged(Label label, String previousTextKey) {
-            for (LabelListener listener : this) {
+            for (LabelBindingListener listener : this) {
                 listener.textKeyChanged(label, previousTextKey);
             }
         }
 
         @Override
         public void textBindTypeChanged(Label label, BindType previousTextBindType) {
-            for (LabelListener listener : this) {
+            for (LabelBindingListener listener : this) {
                 listener.textBindTypeChanged(label, previousTextBindType);
             }
         }
 
         @Override
         public void textBindMappingChanged(Label label, Label.TextBindMapping previousTextBindMapping) {
-            for (LabelListener listener : this) {
+            for (LabelBindingListener listener : this) {
                 listener.textBindMappingChanged(label, previousTextBindMapping);
             }
         }
@@ -83,6 +86,7 @@ public class Label extends Component {
     private TextBindMapping textBindMapping = null;
 
     private LabelListenerList labelListeners = new LabelListenerList();
+    private LabelBindingListenerList labelBindingListeners = new LabelBindingListenerList();
 
     public Label() {
         this(null);
@@ -127,7 +131,7 @@ public class Label extends Component {
 
         if (previousTextKey != textKey) {
             this.textKey = textKey;
-            labelListeners.textKeyChanged(this, previousTextKey);
+            labelBindingListeners.textKeyChanged(this, previousTextKey);
         }
     }
 
@@ -139,7 +143,7 @@ public class Label extends Component {
         BindType previousTextBindType = this.textBindType;
         if (previousTextBindType != textBindType) {
             this.textBindType = textBindType;
-            labelListeners.textBindTypeChanged(this, previousTextBindType);
+            labelBindingListeners.textBindTypeChanged(this, previousTextBindType);
         }
 
     }
@@ -153,7 +157,7 @@ public class Label extends Component {
 
         if (previousTextBindMapping != textBindMapping) {
             this.textBindMapping = textBindMapping;
-            labelListeners.textBindMappingChanged(this, previousTextBindMapping);
+            labelBindingListeners.textBindMappingChanged(this, previousTextBindMapping);
         }
     }
 
@@ -196,4 +200,8 @@ public class Label extends Component {
     public ListenerList<LabelListener> getLabelListeners() {
         return labelListeners;
     }
+
+    public ListenerList<LabelBindingListener> getLabelBindingListeners() {
+        return labelBindingListeners;
+    }
 }

Added: pivot/trunk/wtk/src/org/apache/pivot/wtk/LabelBindingListener.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/LabelBindingListener.java?rev=921889&view=auto
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/LabelBindingListener.java (added)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/LabelBindingListener.java Thu Mar 11 15:14:00 2010
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.pivot.wtk;
+
+/**
+ * Label binding listener interface.
+ */
+public interface LabelBindingListener {
+    /**
+     * Label binding listener adapter.
+     */
+    public static class Adapter implements LabelBindingListener {
+        @Override
+        public void textKeyChanged(Label label, String previousTextKey) {
+        }
+
+        @Override
+        public void textBindTypeChanged(Label label, BindType previousTextBindType) {
+        }
+
+        @Override
+        public void textBindMappingChanged(Label label, Label.TextBindMapping previousTextBindMapping) {
+        }
+    }
+
+    /**
+     * Called when a label's text key has changed.
+     *
+     * @param label
+     * @param previousTextKey
+     */
+    public void textKeyChanged(Label label, String previousTextKey);
+
+    /**
+     * Called when a label's text bind type has changed.
+     *
+     * @param label
+     * @param previousTextBindType
+     */
+    public void textBindTypeChanged(Label label, BindType previousTextBindType);
+
+    /**
+     * Called when a label's text bind mapping has changed.
+     *
+     * @param label
+     * @param previousTextBindMapping
+     */
+    public void textBindMappingChanged(Label label, Label.TextBindMapping previousTextBindMapping);
+}

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/LabelListener.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/LabelListener.java?rev=921889&r1=921888&r2=921889&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/LabelListener.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/LabelListener.java Thu Mar 11 15:14:00 2010
@@ -21,55 +21,10 @@ package org.apache.pivot.wtk;
  */
 public interface LabelListener {
     /**
-     * Label listener adapter.
-     */
-    public static class Adapter implements LabelListener {
-        @Override
-        public void textChanged(Label label, String previousText) {
-        }
-
-        @Override
-        public void textKeyChanged(Label label, String previousTextKey) {
-        }
-
-        @Override
-        public void textBindTypeChanged(Label label, BindType previousTextBindType) {
-        }
-
-        @Override
-        public void textBindMappingChanged(Label label, Label.TextBindMapping previousTextBindMapping) {
-        }
-    }
-
-    /**
      * Called when a label's text has changed.
      *
      * @param label
      * @param previousText
      */
     public void textChanged(Label label, String previousText);
-
-    /**
-     * Called when a label's text key has changed.
-     *
-     * @param label
-     * @param previousTextKey
-     */
-    public void textKeyChanged(Label label, String previousTextKey);
-
-    /**
-     * Called when a label's text bind type has changed.
-     *
-     * @param label
-     * @param previousTextBindType
-     */
-    public void textBindTypeChanged(Label label, BindType previousTextBindType);
-
-    /**
-     * Called when a label's bind mapping has changed.
-     *
-     * @param label
-     * @param previousTextBindMapping
-     */
-    public void textBindMappingChanged(Label label, Label.TextBindMapping previousTextBindMapping);
 }

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/ListButton.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/ListButton.java?rev=921889&r1=921888&r2=921889&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/ListButton.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/ListButton.java Thu Mar 11 15:14:00 2010
@@ -55,17 +55,30 @@ public class ListButton extends Button {
                 listener.disabledItemFilterChanged(listButton, previousDisabledItemFilter);
             }
         }
+    }
 
+    private static class ListButtonSelectionListenerList extends ListenerList<ListButtonSelectionListener>
+        implements ListButtonSelectionListener {
+        @Override
+        public void selectedIndexChanged(ListButton listButton, int previousSelectedIndex) {
+            for (ListButtonSelectionListener listener : this) {
+                listener.selectedIndexChanged(listButton, previousSelectedIndex);
+            }
+        }
+    }
+
+    private static class ListButtonBindingListenerList extends ListenerList<ListButtonBindingListener>
+        implements ListButtonBindingListener {
         @Override
         public void listDataKeyChanged(ListButton listButton, String previousListDataKey) {
-            for (ListButtonListener listener : this) {
+            for (ListButtonBindingListener listener : this) {
                 listener.listDataKeyChanged(listButton, previousListDataKey);
             }
         }
 
         @Override
         public void listDataBindTypeChanged(ListButton listButton, BindType previousListDataBindType) {
-            for (ListButtonListener listener : this) {
+            for (ListButtonBindingListener listener : this) {
                 listener.listDataBindTypeChanged(listButton, previousListDataBindType);
             }
         }
@@ -73,43 +86,33 @@ public class ListButton extends Button {
         @Override
         public void listDataBindMappingChanged(ListButton listButton,
             ListView.ListDataBindMapping previousListDataBindMapping) {
-            for (ListButtonListener listener : this) {
+            for (ListButtonBindingListener listener : this) {
                 listener.listDataBindMappingChanged(listButton, previousListDataBindMapping);
             }
         }
 
         @Override
         public void selectedItemKeyChanged(ListButton listButton, String previousSelectedItemKey) {
-            for (ListButtonListener listener : this) {
+            for (ListButtonBindingListener listener : this) {
                 listener.selectedItemKeyChanged(listButton, previousSelectedItemKey);
             }
         }
 
         @Override
         public void selectedItemBindTypeChanged(ListButton listButton, BindType previousSelectedItemBindType) {
-            for (ListButtonListener listener : this) {
+            for (ListButtonBindingListener listener : this) {
                 listener.selectedItemBindTypeChanged(listButton, previousSelectedItemBindType);
             }
         }
 
         @Override
         public void selectedItemBindMappingChanged(ListButton listButton, ListView.ItemBindMapping previousSelectedItemBindMapping) {
-            for (ListButtonListener listener : this) {
+            for (ListButtonBindingListener listener : this) {
                 listener.selectedItemBindMappingChanged(listButton, previousSelectedItemBindMapping);
             }
         }
     }
 
-    private static class ListButtonSelectionListenerList extends ListenerList<ListButtonSelectionListener>
-        implements ListButtonSelectionListener {
-        @Override
-        public void selectedIndexChanged(ListButton listButton, int previousSelectedIndex) {
-            for (ListButtonSelectionListener listener : this) {
-                listener.selectedIndexChanged(listButton, previousSelectedIndex);
-            }
-        }
-    }
-
     private List<?> listData;
     private ListView.ItemRenderer itemRenderer;
     private int selectedIndex = -1;
@@ -125,6 +128,7 @@ public class ListButton extends Button {
 
     private ListButtonListenerList listButtonListeners = new ListButtonListenerList();
     private ListButtonSelectionListenerList listButtonSelectionListeners = new ListButtonSelectionListenerList();
+    private ListButtonBindingListenerList listButtonBindingListeners = new ListButtonBindingListenerList();
 
     private static final Button.DataRenderer DEFAULT_DATA_RENDERER = new ListButtonDataRenderer();
     private static final ListView.ItemRenderer DEFAULT_ITEM_RENDERER = new ListViewItemRenderer();
@@ -362,7 +366,7 @@ public class ListButton extends Button {
         String previousListDataKey = this.listDataKey;
         if (previousListDataKey != listDataKey) {
             this.listDataKey = listDataKey;
-            listButtonListeners.listDataKeyChanged(this, previousListDataKey);
+            listButtonBindingListeners.listDataKeyChanged(this, previousListDataKey);
         }
     }
 
@@ -379,7 +383,7 @@ public class ListButton extends Button {
 
         if (previousListDataBindType != listDataBindType) {
             this.listDataBindType = listDataBindType;
-            listButtonListeners.listDataBindTypeChanged(this, previousListDataBindType);
+            listButtonBindingListeners.listDataBindTypeChanged(this, previousListDataBindType);
         }
     }
 
@@ -392,7 +396,7 @@ public class ListButton extends Button {
 
         if (previousListDataBindMapping != listDataBindMapping) {
             this.listDataBindMapping = listDataBindMapping;
-            listButtonListeners.listDataBindMappingChanged(this, previousListDataBindMapping);
+            listButtonBindingListeners.listDataBindMappingChanged(this, previousListDataBindMapping);
         }
     }
 
@@ -405,7 +409,7 @@ public class ListButton extends Button {
 
         if (previousSelectedItemKey != selectedItemKey) {
             this.selectedItemKey = selectedItemKey;
-            listButtonListeners.selectedItemKeyChanged(this, previousSelectedItemKey);
+            listButtonBindingListeners.selectedItemKeyChanged(this, previousSelectedItemKey);
         }
     }
 
@@ -421,7 +425,7 @@ public class ListButton extends Button {
         BindType previousSelectedItemBindType = this.selectedItemBindType;
         if (previousSelectedItemBindType != selectedItemBindType) {
             this.selectedItemBindType = selectedItemBindType;
-            listButtonListeners.selectedItemBindTypeChanged(this, previousSelectedItemBindType);
+            listButtonBindingListeners.selectedItemBindTypeChanged(this, previousSelectedItemBindType);
         }
     }
 
@@ -434,7 +438,7 @@ public class ListButton extends Button {
 
         if (previousSelectedItemBindMapping != selectedItemBindMapping) {
             this.selectedItemBindMapping = selectedItemBindMapping;
-            listButtonListeners.selectedItemBindMappingChanged(this, previousSelectedItemBindMapping);
+            listButtonBindingListeners.selectedItemBindMappingChanged(this, previousSelectedItemBindMapping);
         }
     }
 
@@ -534,4 +538,11 @@ public class ListButton extends Button {
     public ListenerList<ListButtonSelectionListener> getListButtonSelectionListeners() {
         return listButtonSelectionListeners;
     }
+
+    /**
+     * Returns the list button binding listener list.
+     */
+    public ListenerList<ListButtonBindingListener> getListButtonBindingListeners() {
+        return listButtonBindingListeners;
+    }
 }

Added: pivot/trunk/wtk/src/org/apache/pivot/wtk/ListButtonBindingListener.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/ListButtonBindingListener.java?rev=921889&view=auto
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/ListButtonBindingListener.java (added)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/ListButtonBindingListener.java Thu Mar 11 15:14:00 2010
@@ -0,0 +1,102 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.pivot.wtk;
+
+/**
+ * List button binding listener list interface.
+ */
+public interface ListButtonBindingListener {
+    /**
+     * List button binding listener adapter.
+     */
+    public static class Adapter implements ListButtonBindingListener {
+        @Override
+        public void listDataKeyChanged(ListButton listButton, String previousListDataKey) {
+        }
+
+        @Override
+        public void listDataBindTypeChanged(ListButton listButton, BindType previousListDataBindType) {
+        }
+
+        @Override
+        public void listDataBindMappingChanged(ListButton listButton,
+            ListView.ListDataBindMapping previousListDataBindMapping) {
+        }
+
+        @Override
+        public void selectedItemKeyChanged(ListButton listButton, String previousSelectedItemKey) {
+        }
+
+        @Override
+        public void selectedItemBindTypeChanged(ListButton listButton, BindType previousSelectedItemBindType) {
+        }
+
+        @Override
+        public void selectedItemBindMappingChanged(ListButton listButton,
+            ListView.ItemBindMapping previousSelectedItemBindMapping) {
+        }
+    }
+
+    /**
+     * Called when a list button's list data key has changed.
+     *
+     * @param listButton
+     * @param previousListDataKey
+     */
+    public void listDataKeyChanged(ListButton listButton, String previousListDataKey);
+
+    /**
+     * Called when a list button's list data bind type has changed.
+     *
+     * @param listButton
+     * @param previousListDataBindType
+     */
+    public void listDataBindTypeChanged(ListButton listButton, BindType previousListDataBindType);
+
+    /**
+     * Called when a list button's list data bind mapping has changed.
+     *
+     * @param listButton
+     * @param previousListDataBindMapping
+     */
+    public void listDataBindMappingChanged(ListButton listButton, ListView.ListDataBindMapping previousListDataBindMapping);
+
+    /**
+     * Called when a list button's selected item key has changed.
+     *
+     * @param listButton
+     * @param previousSelectedItemKey
+     */
+    public void selectedItemKeyChanged(ListButton listButton, String previousSelectedItemKey);
+
+    /**
+     * Called when a list button's selected item bind type has changed.
+     *
+     * @param listButton
+     * @param previousSelectedItemBindType
+     */
+    public void selectedItemBindTypeChanged(ListButton listButton, BindType previousSelectedItemBindType);
+
+    /**
+     * Called when a list button's selected item bind mapping has changed.
+     *
+     * @param listButton
+     * @param previousSelectedItemBindMapping
+     */
+    public void selectedItemBindMappingChanged(ListButton listButton,
+        ListView.ItemBindMapping previousSelectedItemBindMapping);
+}

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/ListButtonListener.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/ListButtonListener.java?rev=921889&r1=921888&r2=921889&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/ListButtonListener.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/ListButtonListener.java Thu Mar 11 15:14:00 2010
@@ -38,32 +38,6 @@ public interface ListButtonListener {
         @Override
         public void disabledItemFilterChanged(ListButton listButton, Filter<?> previousDisabledItemFilter) {
         }
-
-        @Override
-        public void listDataKeyChanged(ListButton listButton, String previousListDataKey) {
-        }
-
-        @Override
-        public void listDataBindTypeChanged(ListButton listButton, BindType previousListDataBindType) {
-        }
-
-        @Override
-        public void listDataBindMappingChanged(ListButton listButton,
-            ListView.ListDataBindMapping previousListDataBindMapping) {
-        }
-
-        @Override
-        public void selectedItemKeyChanged(ListButton listButton, String previousSelectedItemKey) {
-        }
-
-        @Override
-        public void selectedItemBindTypeChanged(ListButton listButton, BindType previousSelectedItemBindType) {
-        }
-
-        @Override
-        public void selectedItemBindMappingChanged(ListButton listButton,
-            ListView.ItemBindMapping previousSelectedItemBindMapping) {
-        }
     }
 
     /**
@@ -89,53 +63,4 @@ public interface ListButtonListener {
      * @param previousDisabledItemFilter
      */
     public void disabledItemFilterChanged(ListButton listButton, Filter<?> previousDisabledItemFilter);
-
-    /**
-     * Called when a list button's list data key has changed.
-     *
-     * @param listButton
-     * @param previousListDataKey
-     */
-    public void listDataKeyChanged(ListButton listButton, String previousListDataKey);
-
-    /**
-     * Called when a list button's list data bind type has changed.
-     *
-     * @param listButton
-     * @param previousListDataBindType
-     */
-    public void listDataBindTypeChanged(ListButton listButton, BindType previousListDataBindType);
-
-    /**
-     * Called when a list button's list data bind mapping has changed.
-     *
-     * @param listButton
-     * @param previousListDataBindMapping
-     */
-    public void listDataBindMappingChanged(ListButton listButton, ListView.ListDataBindMapping previousListDataBindMapping);
-
-    /**
-     * Called when a list button's selected value key has changed.
-     *
-     * @param listButton
-     * @param previousSelectedItemKey
-     */
-    public void selectedItemKeyChanged(ListButton listButton, String previousSelectedItemKey);
-
-    /**
-     * Called when a list button's selected item bind type has changed.
-     *
-     * @param listButton
-     * @param previousSelectedItemBindType
-     */
-    public void selectedItemBindTypeChanged(ListButton listButton, BindType previousSelectedItemBindType);
-
-    /**
-     * Called when a list button's selection bind mapping has changed.
-     *
-     * @param listButton
-     * @param previousSelectedItemBindMapping
-     */
-    public void selectedItemBindMappingChanged(ListButton listButton,
-        ListView.ItemBindMapping previousSelectedItemBindMapping);
 }