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 [2/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/

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/ListView.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/ListView.java?rev=921889&r1=921888&r2=921889&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/ListView.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/ListView.java Thu Mar 11 15:14:00 2010
@@ -415,9 +415,6 @@ public class ListView extends Component 
         public Object get(List<?> listData, int index);
     }
 
-    /**
-     * List view listener list.
-     */
     private static class ListViewListenerList extends ListenerList<ListViewListener>
         implements ListViewListener {
         @Override
@@ -473,173 +470,167 @@ public class ListView extends Component 
                 listener.disabledCheckmarkFilterChanged(listView, previousDisabledCheckmarkFilter);
             }
         }
+    }
 
+    private static class ListViewItemListenerList extends ListenerList<ListViewItemListener>
+        implements ListViewItemListener {
         @Override
-        public void listDataKeyChanged(ListView listView, String previousListDataKey) {
-            for (ListViewListener listener : this) {
-                listener.listDataKeyChanged(listView, previousListDataKey);
+        public void itemInserted(ListView listView, int index) {
+            for (ListViewItemListener listener : this) {
+                listener.itemInserted(listView, index);
             }
         }
 
         @Override
-        public void listDataBindTypeChanged(ListView listView, BindType previousListDataBindType) {
-            for (ListViewListener listener : this) {
-                listener.listDataBindTypeChanged(listView, previousListDataBindType);
+        public void itemsRemoved(ListView listView, int index, int count) {
+            for (ListViewItemListener listener : this) {
+                listener.itemsRemoved(listView, index, count);
             }
         }
 
         @Override
-        public void listDataBindMappingChanged(ListView listView,
-            ListView.ListDataBindMapping previousListDataBindMapping) {
-            for (ListViewListener listener : this) {
-                listener.listDataBindMappingChanged(listView, previousListDataBindMapping);
+        public void itemUpdated(ListView listView, int index) {
+            for (ListViewItemListener listener : this) {
+                listener.itemUpdated(listView, index);
             }
         }
 
         @Override
-        public void selectedItemKeyChanged(ListView listView, String previousSelectedItemKey) {
-            for (ListViewListener listener : this) {
-                listener.selectedItemKeyChanged(listView, previousSelectedItemKey);
+        public void itemsCleared(ListView listView) {
+            for (ListViewItemListener listener : this) {
+                listener.itemsCleared(listView);
             }
         }
 
         @Override
-        public void selectedItemBindTypeChanged(ListView listView, BindType previousSelectedItemBindType) {
-            for (ListViewListener listener : this) {
-                listener.selectedItemBindTypeChanged(listView, previousSelectedItemBindType);
+        public void itemsSorted(ListView listView) {
+            for (ListViewItemListener listener : this) {
+                listener.itemsSorted(listView);
             }
         }
+    }
 
+    private static class ListViewItemStateListenerList extends ListenerList<ListViewItemStateListener>
+        implements ListViewItemStateListener {
         @Override
-        public void selectedItemBindMappingChanged(ListView listView,
-            ItemBindMapping previousSelectedItemBindMapping) {
-            for (ListViewListener listener : this) {
-                listener.selectedItemBindMappingChanged(listView, previousSelectedItemBindMapping);
+        public void itemCheckedChanged(ListView listView, int index) {
+            for (ListViewItemStateListener listener : this) {
+                listener.itemCheckedChanged(listView, index);
             }
         }
+    }
 
+    private static class ListViewSelectionListenerList extends ListenerList<ListViewSelectionListener>
+        implements ListViewSelectionListener {
         @Override
-        public void selectedItemsKeyChanged(ListView listView, String previousSelectedItemsKey) {
-            for (ListViewListener listener : this) {
-                listener.selectedItemsKeyChanged(listView, previousSelectedItemsKey);
+        public void selectedRangeAdded(ListView listView, int rangeStart, int rangeEnd) {
+            for (ListViewSelectionListener listener : this) {
+                listener.selectedRangeAdded(listView, rangeStart, rangeEnd);
             }
         }
 
         @Override
-        public void selectedItemsBindTypeChanged(ListView listView, BindType previousSelectedItemsBindType) {
-            for (ListViewListener listener : this) {
-                listener.selectedItemsBindTypeChanged(listView, previousSelectedItemsBindType);
+        public void selectedRangeRemoved(ListView listView, int rangeStart, int rangeEnd) {
+            for (ListViewSelectionListener listener : this) {
+                listener.selectedRangeRemoved(listView, rangeStart, rangeEnd);
             }
         }
 
         @Override
-        public void selectedItemsBindMappingChanged(ListView listView,
-            ItemBindMapping previousSelectedItemsBindMapping) {
-            for (ListViewListener listener : this) {
-                listener.selectedItemsBindMappingChanged(listView, previousSelectedItemsBindMapping);
+        public void selectedRangesChanged(ListView listView, Sequence<Span> previousSelection) {
+            for (ListViewSelectionListener listener : this) {
+                listener.selectedRangesChanged(listView, previousSelection);
             }
         }
+    }
 
+    private static class ListViewBindingListenerList extends ListenerList<ListViewBindingListener>
+        implements ListViewBindingListener {
         @Override
-        public void checkedItemsKeyChanged(ListView listView, String previousCheckedItemsKey) {
-            for (ListViewListener listener : this) {
-                listener.checkedItemsKeyChanged(listView, previousCheckedItemsKey);
+        public void listDataKeyChanged(ListView listView, String previousListDataKey) {
+            for (ListViewBindingListener listener : this) {
+                listener.listDataKeyChanged(listView, previousListDataKey);
             }
         }
 
         @Override
-        public void checkedItemsBindTypeChanged(ListView listView, BindType previousCheckedItemsBindType) {
-            for (ListViewListener listener : this) {
-                listener.checkedItemsBindTypeChanged(listView, previousCheckedItemsBindType);
+        public void listDataBindTypeChanged(ListView listView, BindType previousListDataBindType) {
+            for (ListViewBindingListener listener : this) {
+                listener.listDataBindTypeChanged(listView, previousListDataBindType);
             }
         }
 
         @Override
-        public void checkedItemsBindMappingChanged(ListView listView,
-            ListView.ItemBindMapping previousCheckedItemsBindMapping) {
-            for (ListViewListener listener : this) {
-                listener.checkedItemsBindMappingChanged(listView, previousCheckedItemsBindMapping);
+        public void listDataBindMappingChanged(ListView listView,
+            ListView.ListDataBindMapping previousListDataBindMapping) {
+            for (ListViewBindingListener listener : this) {
+                listener.listDataBindMappingChanged(listView, previousListDataBindMapping);
             }
         }
-    }
 
-    /**
-     * List view item listener list.
-     */
-    private static class ListViewItemListenerList extends ListenerList<ListViewItemListener>
-        implements ListViewItemListener {
         @Override
-        public void itemInserted(ListView listView, int index) {
-            for (ListViewItemListener listener : this) {
-                listener.itemInserted(listView, index);
+        public void selectedItemKeyChanged(ListView listView, String previousSelectedItemKey) {
+            for (ListViewBindingListener listener : this) {
+                listener.selectedItemKeyChanged(listView, previousSelectedItemKey);
             }
         }
 
         @Override
-        public void itemsRemoved(ListView listView, int index, int count) {
-            for (ListViewItemListener listener : this) {
-                listener.itemsRemoved(listView, index, count);
+        public void selectedItemBindTypeChanged(ListView listView, BindType previousSelectedItemBindType) {
+            for (ListViewBindingListener listener : this) {
+                listener.selectedItemBindTypeChanged(listView, previousSelectedItemBindType);
             }
         }
 
         @Override
-        public void itemUpdated(ListView listView, int index) {
-            for (ListViewItemListener listener : this) {
-                listener.itemUpdated(listView, index);
+        public void selectedItemBindMappingChanged(ListView listView,
+            ItemBindMapping previousSelectedItemBindMapping) {
+            for (ListViewBindingListener listener : this) {
+                listener.selectedItemBindMappingChanged(listView, previousSelectedItemBindMapping);
             }
         }
 
         @Override
-        public void itemsCleared(ListView listView) {
-            for (ListViewItemListener listener : this) {
-                listener.itemsCleared(listView);
+        public void selectedItemsKeyChanged(ListView listView, String previousSelectedItemsKey) {
+            for (ListViewBindingListener listener : this) {
+                listener.selectedItemsKeyChanged(listView, previousSelectedItemsKey);
             }
         }
 
         @Override
-        public void itemsSorted(ListView listView) {
-            for (ListViewItemListener listener : this) {
-                listener.itemsSorted(listView);
+        public void selectedItemsBindTypeChanged(ListView listView, BindType previousSelectedItemsBindType) {
+            for (ListViewBindingListener listener : this) {
+                listener.selectedItemsBindTypeChanged(listView, previousSelectedItemsBindType);
             }
         }
-    }
 
-    /**
-     * List view item state listener list.
-     */
-    private static class ListViewItemStateListenerList extends ListenerList<ListViewItemStateListener>
-        implements ListViewItemStateListener {
         @Override
-        public void itemCheckedChanged(ListView listView, int index) {
-            for (ListViewItemStateListener listener : this) {
-                listener.itemCheckedChanged(listView, index);
+        public void selectedItemsBindMappingChanged(ListView listView,
+            ItemBindMapping previousSelectedItemsBindMapping) {
+            for (ListViewBindingListener listener : this) {
+                listener.selectedItemsBindMappingChanged(listView, previousSelectedItemsBindMapping);
             }
         }
-    }
 
-    /**
-     * List view selection detail listener list.
-     */
-    private static class ListViewSelectionListenerList extends ListenerList<ListViewSelectionListener>
-        implements ListViewSelectionListener {
         @Override
-        public void selectedRangeAdded(ListView listView, int rangeStart, int rangeEnd) {
-            for (ListViewSelectionListener listener : this) {
-                listener.selectedRangeAdded(listView, rangeStart, rangeEnd);
+        public void checkedItemsKeyChanged(ListView listView, String previousCheckedItemsKey) {
+            for (ListViewBindingListener listener : this) {
+                listener.checkedItemsKeyChanged(listView, previousCheckedItemsKey);
             }
         }
 
         @Override
-        public void selectedRangeRemoved(ListView listView, int rangeStart, int rangeEnd) {
-            for (ListViewSelectionListener listener : this) {
-                listener.selectedRangeRemoved(listView, rangeStart, rangeEnd);
+        public void checkedItemsBindTypeChanged(ListView listView, BindType previousCheckedItemsBindType) {
+            for (ListViewBindingListener listener : this) {
+                listener.checkedItemsBindTypeChanged(listView, previousCheckedItemsBindType);
             }
         }
 
         @Override
-        public void selectedRangesChanged(ListView listView, Sequence<Span> previousSelection) {
-            for (ListViewSelectionListener listener : this) {
-                listener.selectedRangesChanged(listView, previousSelection);
+        public void checkedItemsBindMappingChanged(ListView listView,
+            ListView.ItemBindMapping previousCheckedItemsBindMapping) {
+            for (ListViewBindingListener listener : this) {
+                listener.checkedItemsBindMappingChanged(listView, previousCheckedItemsBindMapping);
             }
         }
     }
@@ -759,10 +750,9 @@ public class ListView extends Component 
 
     private ListViewListenerList listViewListeners = new ListViewListenerList();
     private ListViewItemListenerList listViewItemListeners = new ListViewItemListenerList();
-    private ListViewItemStateListenerList listViewItemStateListeners =
-        new ListViewItemStateListenerList();
-    private ListViewSelectionListenerList listViewSelectionListeners =
-        new ListViewSelectionListenerList();
+    private ListViewItemStateListenerList listViewItemStateListeners = new ListViewItemStateListenerList();
+    private ListViewSelectionListenerList listViewSelectionListeners = new ListViewSelectionListenerList();
+    private ListViewBindingListenerList listViewBindingListeners = new ListViewBindingListenerList();
 
     private static final ItemRenderer DEFAULT_ITEM_RENDERER = new ListViewItemRenderer();
 
@@ -1570,7 +1560,7 @@ public class ListView extends Component 
         String previousListDataKey = this.listDataKey;
         if (previousListDataKey != listDataKey) {
             this.listDataKey = listDataKey;
-            listViewListeners.listDataKeyChanged(this, previousListDataKey);
+            listViewBindingListeners.listDataKeyChanged(this, previousListDataKey);
         }
     }
 
@@ -1587,7 +1577,7 @@ public class ListView extends Component 
 
         if (previousListDataBindType != listDataBindType) {
             this.listDataBindType = listDataBindType;
-            listViewListeners.listDataBindTypeChanged(this, previousListDataBindType);
+            listViewBindingListeners.listDataBindTypeChanged(this, previousListDataBindType);
         }
     }
 
@@ -1600,7 +1590,7 @@ public class ListView extends Component 
 
         if (previousListDataBindMapping != listDataBindMapping) {
             this.listDataBindMapping = listDataBindMapping;
-            listViewListeners.listDataBindMappingChanged(this, previousListDataBindMapping);
+            listViewBindingListeners.listDataBindMappingChanged(this, previousListDataBindMapping);
         }
     }
 
@@ -1613,7 +1603,7 @@ public class ListView extends Component 
 
         if (previousSelectedItemKey != selectedItemKey) {
             this.selectedItemKey = selectedItemKey;
-            listViewListeners.selectedItemKeyChanged(this, previousSelectedItemKey);
+            listViewBindingListeners.selectedItemKeyChanged(this, previousSelectedItemKey);
         }
     }
 
@@ -1629,7 +1619,7 @@ public class ListView extends Component 
         BindType previousSelectedItemBindType = this.selectedItemBindType;
         if (previousSelectedItemBindType != selectedItemBindType) {
             this.selectedItemBindType = selectedItemBindType;
-            listViewListeners.selectedItemBindTypeChanged(this, previousSelectedItemBindType);
+            listViewBindingListeners.selectedItemBindTypeChanged(this, previousSelectedItemBindType);
         }
     }
 
@@ -1642,7 +1632,7 @@ public class ListView extends Component 
 
         if (previousSelectedItemBindMapping != selectedItemBindMapping) {
             this.selectedItemBindMapping = selectedItemBindMapping;
-            listViewListeners.selectedItemBindMappingChanged(this, previousSelectedItemBindMapping);
+            listViewBindingListeners.selectedItemBindMappingChanged(this, previousSelectedItemBindMapping);
         }
     }
 
@@ -1655,7 +1645,7 @@ public class ListView extends Component 
 
         if (previousSelectedItemsKey != selectedItemsKey) {
             this.selectedItemsKey = selectedItemsKey;
-            listViewListeners.selectedItemsKeyChanged(this, previousSelectedItemsKey);
+            listViewBindingListeners.selectedItemsKeyChanged(this, previousSelectedItemsKey);
         }
     }
 
@@ -1671,7 +1661,7 @@ public class ListView extends Component 
         BindType previousSelectedItemsBindType = this.selectedItemsBindType;
         if (previousSelectedItemsBindType != selectedItemsBindType) {
             this.selectedItemsBindType = selectedItemsBindType;
-            listViewListeners.selectedItemsBindTypeChanged(this, previousSelectedItemsBindType);
+            listViewBindingListeners.selectedItemsBindTypeChanged(this, previousSelectedItemsBindType);
         }
     }
 
@@ -1684,7 +1674,7 @@ public class ListView extends Component 
 
         if (previousSelectedItemsBindMapping != selectedItemsBindMapping) {
             this.selectedItemsBindMapping = selectedItemsBindMapping;
-            listViewListeners.selectedItemsBindMappingChanged(this, previousSelectedItemsBindMapping);
+            listViewBindingListeners.selectedItemsBindMappingChanged(this, previousSelectedItemsBindMapping);
         }
     }
 
@@ -1697,7 +1687,7 @@ public class ListView extends Component 
 
         if (previousCheckedItemsKey != checkedItemsKey) {
             this.checkedItemsKey = checkedItemsKey;
-            listViewListeners.checkedItemsKeyChanged(this, previousCheckedItemsKey);
+            listViewBindingListeners.checkedItemsKeyChanged(this, previousCheckedItemsKey);
         }
     }
 
@@ -1713,7 +1703,7 @@ public class ListView extends Component 
         BindType previousCheckedItemsBindType = this.checkedItemsBindType;
         if (previousCheckedItemsBindType != checkedItemsBindType) {
             this.checkedItemsBindType = checkedItemsBindType;
-            listViewListeners.checkedItemsBindTypeChanged(this, previousCheckedItemsBindType);
+            listViewBindingListeners.checkedItemsBindTypeChanged(this, previousCheckedItemsBindType);
         }
     }
 
@@ -1726,7 +1716,7 @@ public class ListView extends Component 
 
         if (previousCheckedItemsBindMapping != checkedItemsBindMapping) {
             this.checkedItemsBindMapping = checkedItemsBindMapping;
-            listViewListeners.checkedItemsBindMappingChanged(this, previousCheckedItemsBindMapping);
+            listViewBindingListeners.checkedItemsBindMappingChanged(this, previousCheckedItemsBindMapping);
         }
     }
 
@@ -2001,4 +1991,8 @@ public class ListView extends Component 
     public ListenerList<ListViewSelectionListener> getListViewSelectionListeners() {
         return listViewSelectionListeners;
     }
+
+    public ListenerList<ListViewBindingListener> getListViewBindingListeners() {
+        return listViewBindingListeners;
+    }
 }

Added: pivot/trunk/wtk/src/org/apache/pivot/wtk/ListViewBindingListener.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/ListViewBindingListener.java?rev=921889&view=auto
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/ListViewBindingListener.java (added)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/ListViewBindingListener.java Thu Mar 11 15:14:00 2010
@@ -0,0 +1,178 @@
+/*
+ * 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 view binding listener interface.
+ */
+public interface ListViewBindingListener {
+    /**
+     * List view binding listener adapter.
+     */
+    public static class Adapter implements ListViewBindingListener {
+        @Override
+        public void listDataKeyChanged(ListView listView, String previousListDataKey) {
+        }
+
+        @Override
+        public void listDataBindTypeChanged(ListView listView, BindType previousListDataBindType) {
+        }
+
+        @Override
+        public void listDataBindMappingChanged(ListView listView,
+            ListView.ListDataBindMapping previousListDataBindMapping) {
+        }
+
+        @Override
+        public void selectedItemKeyChanged(ListView listView, String previousSelectedItemKey) {
+        }
+
+        @Override
+        public void selectedItemBindTypeChanged(ListView listView, BindType previousSelectedItemBindType) {
+        }
+
+        @Override
+        public void selectedItemBindMappingChanged(ListView listView,
+            ListView.ItemBindMapping previousSelectedItemBindMapping) {
+        }
+
+        @Override
+        public void selectedItemsKeyChanged(ListView listView, String previousSelectedItemsKey) {
+        }
+
+        @Override
+        public void selectedItemsBindTypeChanged(ListView listView, BindType previousSelectedItemsBindType) {
+        }
+
+        @Override
+        public void selectedItemsBindMappingChanged(ListView listView,
+            ListView.ItemBindMapping previousSelectedItemsBindMapping) {
+        }
+
+        @Override
+        public void checkedItemsKeyChanged(ListView listView, String previousCheckedItemsKey) {
+        }
+
+        @Override
+        public void checkedItemsBindTypeChanged(ListView listView, BindType previousCheckedItemsBindType) {
+        }
+
+        @Override
+        public void checkedItemsBindMappingChanged(ListView listView,
+            ListView.ItemBindMapping previousCheckedItemsBindMapping) {
+        }
+    }
+
+    /**
+     * Called when a list view's list data key has changed.
+     *
+     * @param listView
+     * @param previousListDataKey
+     */
+    public void listDataKeyChanged(ListView listView, String previousListDataKey);
+
+    /**
+     * Called when a list view's list data bind type has changed.
+     *
+     * @param listView
+     * @param previousListDataBindType
+     */
+    public void listDataBindTypeChanged(ListView listView, BindType previousListDataBindType);
+
+    /**
+     * Called when a list view's list data bind mapping has changed.
+     *
+     * @param listView
+     * @param previousListDataBindMapping
+     */
+    public void listDataBindMappingChanged(ListView listView, ListView.ListDataBindMapping previousListDataBindMapping);
+
+    /**
+     * Called when a list view's selected item key has changed.
+     *
+     * @param listView
+     * @param previousSelectedItemKey
+     */
+    public void selectedItemKeyChanged(ListView listView, String previousSelectedItemKey);
+
+    /**
+     * Called when a list view's selected item bind type has changed.
+     *
+     * @param listView
+     * @param previousSelectedItemBindType
+     */
+    public void selectedItemBindTypeChanged(ListView listView, BindType previousSelectedItemBindType);
+
+    /**
+     * Called when a list view's selected item bind mapping has changed.
+     *
+     * @param listView
+     * @param previousSelectedItemBindMapping
+     */
+    public void selectedItemBindMappingChanged(ListView listView,
+        ListView.ItemBindMapping previousSelectedItemBindMapping);
+
+    /**
+     * Called when a list view's selected items key has changed.
+     *
+     * @param listView
+     * @param previousSelectedItemsKey
+     */
+    public void selectedItemsKeyChanged(ListView listView, String previousSelectedItemsKey);
+
+    /**
+     * Called when a list view's selected items bind type has changed.
+     *
+     * @param listView
+     * @param previousSelectedItemsBindType
+     */
+    public void selectedItemsBindTypeChanged(ListView listView, BindType previousSelectedItemsBindType);
+
+    /**
+     * Called when a list view's selected items bind mapping has changed.
+     *
+     * @param listView
+     * @param previousSelectedItemsBindMapping
+     */
+    public void selectedItemsBindMappingChanged(ListView listView,
+        ListView.ItemBindMapping previousSelectedItemsBindMapping);
+
+    /**
+     * Called when a list view's checked items key has changed.
+     *
+     * @param listView
+     * @param previousCheckedItemsKey
+     */
+    public void checkedItemsKeyChanged(ListView listView, String previousCheckedItemsKey);
+
+    /**
+     * Called when a list view's checked items bind type has changed.
+     *
+     * @param listView
+     * @param previousCheckedItemsBindType
+     */
+    public void checkedItemsBindTypeChanged(ListView listView, BindType previousCheckedItemsBindType);
+
+    /**
+     * Called when a list view's checked items bind mapping has changed.
+     *
+     * @param listView
+     * @param previousCheckedItemsBindMapping
+     */
+    public void checkedItemsBindMappingChanged(ListView listView,
+        ListView.ItemBindMapping previousCheckedItemsBindMapping);
+}

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/ListViewListener.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/ListViewListener.java?rev=921889&r1=921888&r2=921889&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/ListViewListener.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/ListViewListener.java Thu Mar 11 15:14:00 2010
@@ -56,58 +56,6 @@ public interface ListViewListener {
         public void disabledCheckmarkFilterChanged(ListView listView,
             Filter<?> previousDisabledCheckmarkFilter) {
         }
-
-        @Override
-        public void listDataKeyChanged(ListView listView, String previousListDataKey) {
-        }
-
-        @Override
-        public void listDataBindTypeChanged(ListView listView, BindType previousListDataBindType) {
-        }
-
-        @Override
-        public void listDataBindMappingChanged(ListView listView,
-            ListView.ListDataBindMapping previousListDataBindMapping) {
-        }
-
-        @Override
-        public void selectedItemKeyChanged(ListView listView, String previousSelectedItemKey) {
-        }
-
-        @Override
-        public void selectedItemBindTypeChanged(ListView listView, BindType previousSelectedItemBindType) {
-        }
-
-        @Override
-        public void selectedItemBindMappingChanged(ListView listView,
-            ListView.ItemBindMapping previousSelectedItemBindMapping) {
-        }
-
-        @Override
-        public void selectedItemsKeyChanged(ListView listView, String previousSelectedItemsKey) {
-        }
-
-        @Override
-        public void selectedItemsBindTypeChanged(ListView listView, BindType previousSelectedItemsBindType) {
-        }
-
-        @Override
-        public void selectedItemsBindMappingChanged(ListView listView,
-            ListView.ItemBindMapping previousSelectedItemsBindMapping) {
-        }
-
-        @Override
-        public void checkedItemsKeyChanged(ListView listView, String previousCheckedItemsKey) {
-        }
-
-        @Override
-        public void checkedItemsBindTypeChanged(ListView listView, BindType previousCheckedItemsBindType) {
-        }
-
-        @Override
-        public void checkedItemsBindMappingChanged(ListView listView,
-            ListView.ItemBindMapping previousCheckedItemsBindMapping) {
-        }
     }
 
     /**
@@ -165,103 +113,4 @@ public interface ListViewListener {
      */
     public void disabledCheckmarkFilterChanged(ListView listView,
         Filter<?> previousDisabledCheckmarkFilter);
-
-    /**
-     * Called when a list view's list data key has changed.
-     *
-     * @param listView
-     * @param previousListDataKey
-     */
-    public void listDataKeyChanged(ListView listView, String previousListDataKey);
-
-    /**
-     * Called when a list view's list data bind type has changed.
-     *
-     * @param listView
-     * @param previousListDataBindType
-     */
-    public void listDataBindTypeChanged(ListView listView, BindType previousListDataBindType);
-
-    /**
-     * Called when a list view's list data bind mapping has changed.
-     *
-     * @param listView
-     * @param previousListDataBindMapping
-     */
-    public void listDataBindMappingChanged(ListView listView, ListView.ListDataBindMapping previousListDataBindMapping);
-
-    /**
-     * Called when a list view's selected item key has changed.
-     *
-     * @param listView
-     * @param previousSelectedItemKey
-     */
-    public void selectedItemKeyChanged(ListView listView, String previousSelectedItemKey);
-
-    /**
-     * Called when a list view's selected item bind type has changed.
-     *
-     * @param listView
-     * @param previousSelectedItemBindType
-     */
-    public void selectedItemBindTypeChanged(ListView listView, BindType previousSelectedItemBindType);
-
-    /**
-     * Called when a list view's selected item bind mapping has changed.
-     *
-     * @param listView
-     * @param previousSelectedItemBindMapping
-     */
-    public void selectedItemBindMappingChanged(ListView listView,
-        ListView.ItemBindMapping previousSelectedItemBindMapping);
-
-    /**
-     * Called when a list view's selected items key has changed.
-     *
-     * @param listView
-     * @param previousSelectedItemsKey
-     */
-    public void selectedItemsKeyChanged(ListView listView, String previousSelectedItemsKey);
-
-    /**
-     * Called when a list view's selected items bind type has changed.
-     *
-     * @param listView
-     * @param previousSelectedItemsBindType
-     */
-    public void selectedItemsBindTypeChanged(ListView listView, BindType previousSelectedItemsBindType);
-
-    /**
-     * Called when a list view's selected items bind mapping has changed.
-     *
-     * @param listView
-     * @param previousSelectedItemsBindMapping
-     */
-    public void selectedItemsBindMappingChanged(ListView listView,
-        ListView.ItemBindMapping previousSelectedItemsBindMapping);
-
-    /**
-     * Called when a list view's checked items key has changed.
-     *
-     * @param listView
-     * @param previousCheckedItemsKey
-     */
-    public void checkedItemsKeyChanged(ListView listView, String previousCheckedItemsKey);
-
-    /**
-     * Called when a list view's checked items bind type has changed.
-     *
-     * @param listView
-     * @param previousCheckedItemsBindType
-     */
-    public void checkedItemsBindTypeChanged(ListView listView, BindType previousCheckedItemsBindType);
-
-    /**
-     * Called when a list view's checked items bind mapping has changed.
-     *
-     * @param listView
-     * @param previousCheckedItemsBindMapping
-     */
-    public void checkedItemsBindMappingChanged(ListView listView,
-        ListView.ItemBindMapping previousCheckedItemsBindMapping);
 }

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/Spinner.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/Spinner.java?rev=921889&r1=921888&r2=921889&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/Spinner.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/Spinner.java Thu Mar 11 15:14:00 2010
@@ -182,25 +182,8 @@ public class Spinner extends Container {
                 listener.circularChanged(spinner);
             }
         }
-
-        @Override
-        public void selectedItemKeyChanged(Spinner spinner, String previousSelectedItemKey) {
-            for (SpinnerListener listener : this) {
-                listener.selectedItemKeyChanged(spinner, previousSelectedItemKey);
-            }
-        }
-
-        @Override
-        public void selectedItemBindMappingChanged(Spinner spinner, ItemBindMapping previousSelectedItemBindMapping) {
-            for (SpinnerListener listener : this) {
-                listener.selectedItemBindMappingChanged(spinner, previousSelectedItemBindMapping);
-            }
-        }
     }
 
-    /**
-     * Spinner item listener list.
-     */
     private static class SpinnerItemListenerList extends ListenerList<SpinnerItemListener>
         implements SpinnerItemListener {
         @Override
@@ -239,9 +222,6 @@ public class Spinner extends Container {
         }
     }
 
-    /**
-     * Spinner selection listener list.
-     */
     private static class SpinnerSelectionListenerList
         extends ListenerList<SpinnerSelectionListener>
         implements SpinnerSelectionListener {
@@ -253,6 +233,30 @@ public class Spinner extends Container {
         }
     }
 
+    private class SpinnerBindingListenerList extends ListenerList<SpinnerBindingListener>
+        implements SpinnerBindingListener {
+        @Override
+        public void selectedItemKeyChanged(Spinner spinner, String previousSelectedItemKey) {
+            for (SpinnerBindingListener listener : this) {
+                listener.selectedItemKeyChanged(spinner, previousSelectedItemKey);
+            }
+        }
+
+        @Override
+        public void selectedItemBindTypeChanged(Spinner spinner, BindType previousSelectedItemBindType) {
+            for (SpinnerBindingListener listener : this) {
+                listener.selectedItemBindTypeChanged(spinner, previousSelectedItemBindType);
+            }
+        }
+
+        @Override
+        public void selectedItemBindMappingChanged(Spinner spinner, ItemBindMapping previousSelectedItemBindMapping) {
+            for (SpinnerBindingListener listener : this) {
+                listener.selectedItemBindMappingChanged(spinner, previousSelectedItemBindMapping);
+            }
+        }
+    }
+
     private List<?> spinnerData = null;
     private ListHandler spinnerDataHandler = new ListHandler();
 
@@ -260,13 +264,16 @@ public class Spinner extends Container {
 
     private boolean circular = false;
     private int selectedIndex = -1;
+
     private String selectedItemKey = null;
+    private BindType selectedItemBindType = BindType.BOTH;
     private ItemBindMapping selectedItemBindMapping = null;
 
     private SpinnerListenerList spinnerListeners = new SpinnerListenerList();
     private SpinnerItemListenerList spinnerItemListeners = new SpinnerItemListenerList();
     private SpinnerSelectionListenerList spinnerSelectionListeners =
         new SpinnerSelectionListenerList();
+    private SpinnerBindingListenerList spinnerBindingListeners = new SpinnerBindingListenerList();
 
     /**
      * Creates a spinner populated with an empty array list.
@@ -446,7 +453,23 @@ public class Spinner extends Container {
 
         if (previousSelectedItemKey != selectedItemKey) {
             this.selectedItemKey = selectedItemKey;
-            spinnerListeners.selectedItemKeyChanged(this, previousSelectedItemKey);
+            spinnerBindingListeners.selectedItemKeyChanged(this, previousSelectedItemKey);
+        }
+    }
+
+    public BindType getSelectedItemBindType() {
+        return selectedItemBindType;
+    }
+
+    public void setSelectedItemBindType(BindType selectedItemBindType) {
+        if (selectedItemBindType == null) {
+            throw new IllegalArgumentException();
+        }
+
+        BindType previousSelectedItemBindType = this.selectedItemBindType;
+        if (previousSelectedItemBindType != selectedItemBindType) {
+            this.selectedItemBindType = selectedItemBindType;
+            spinnerBindingListeners.selectedItemBindTypeChanged(this, previousSelectedItemBindType);
         }
     }
 
@@ -459,7 +482,7 @@ public class Spinner extends Container {
 
         if (previousSelectedItemBindMapping != selectedItemBindMapping) {
             this.selectedItemBindMapping = selectedItemBindMapping;
-            spinnerListeners.selectedItemBindMappingChanged(this, previousSelectedItemBindMapping);
+            spinnerBindingListeners.selectedItemBindMappingChanged(this, previousSelectedItemBindMapping);
         }
     }
 
@@ -467,7 +490,8 @@ public class Spinner extends Container {
     @SuppressWarnings("unchecked")
     public void load(Dictionary<String, ?> context) {
         if (selectedItemKey != null
-            && JSON.containsKey(context, selectedItemKey)) {
+            && JSON.containsKey(context, selectedItemKey)
+            && selectedItemBindType != BindType.STORE) {
             Object item = JSON.get(context, selectedItemKey);
 
             int index;
@@ -483,8 +507,8 @@ public class Spinner extends Container {
 
     @Override
     public void store(Dictionary<String, ?> context) {
-        if (isEnabled()
-            && selectedItemKey != null) {
+        if (selectedItemKey != null
+            && selectedItemBindType != BindType.LOAD) {
             Object item;
             if (selectedIndex == -1) {
                 item = null;
@@ -539,4 +563,11 @@ public class Spinner extends Container {
     public ListenerList<SpinnerSelectionListener> getSpinnerSelectionListeners() {
         return spinnerSelectionListeners;
     }
+
+    /**
+     * Returns the spinner binding listener list.
+     */
+    public ListenerList<SpinnerBindingListener> getSpinnerBindingListeners() {
+        return spinnerBindingListeners;
+    }
 }

Added: pivot/trunk/wtk/src/org/apache/pivot/wtk/SpinnerBindingListener.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/SpinnerBindingListener.java?rev=921889&view=auto
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/SpinnerBindingListener.java (added)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/SpinnerBindingListener.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;
+
+/**
+ * Spinner binding listener interface.
+ */
+public interface SpinnerBindingListener {
+    /**
+     * Spinner binding listener adapter.
+     */
+    public static class Adapter implements SpinnerBindingListener {
+        @Override
+        public void selectedItemKeyChanged(Spinner spinner, String previousSelectedItemKey) {
+        }
+
+        @Override
+        public void selectedItemBindTypeChanged(Spinner spinner, BindType previousSelectedItemBindType) {
+        }
+
+        @Override
+        public void selectedItemBindMappingChanged(Spinner spinner, Spinner.ItemBindMapping previousSelectedItemBindMapping) {
+        }
+    }
+
+    /**
+     * Called when a spinner's selected item key has changed.
+     *
+     * @param spinner
+     * @param previousSelectedItemKey
+     */
+    public void selectedItemKeyChanged(Spinner spinner, String previousSelectedItemKey);
+
+    /**
+     * Called when a spinner's selected item bind type has changed.
+     *
+     * @param spinner
+     * @param previousSelectedItemBindType
+     */
+    public void selectedItemBindTypeChanged(Spinner spinner, BindType previousSelectedItemBindType);
+
+    /**
+     * Called when a spinner's selected item bind mapping has changed.
+     *
+     * @param spinner
+     * @param previousSelectedItemBindMapping
+     */
+    public void selectedItemBindMappingChanged(Spinner spinner, Spinner.ItemBindMapping previousSelectedItemBindMapping);
+}

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/SpinnerListener.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/SpinnerListener.java?rev=921889&r1=921888&r2=921889&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/SpinnerListener.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/SpinnerListener.java Thu Mar 11 15:14:00 2010
@@ -37,14 +37,6 @@ public interface SpinnerListener {
         @Override
         public void circularChanged(Spinner spinner) {
         }
-
-        @Override
-        public void selectedItemKeyChanged(Spinner spinner, String previousSelectedItemKey) {
-        }
-
-        @Override
-        public void selectedItemBindMappingChanged(Spinner spinner, Spinner.ItemBindMapping previousSelectedItemBindMapping) {
-        }
     }
 
     /**
@@ -69,20 +61,4 @@ public interface SpinnerListener {
      * @param spinner
      */
     public void circularChanged(Spinner spinner);
-
-    /**
-     * Called when a spinner's selected value key has changed.
-     *
-     * @param spinner
-     * @param previousSelectedItemKey
-     */
-    public void selectedItemKeyChanged(Spinner spinner, String previousSelectedItemKey);
-
-    /**
-     * Called when a spinner's bind mapping has changed.
-     *
-     * @param spinner
-     * @param previousSelectedItemBindMapping
-     */
-    public void selectedItemBindMappingChanged(Spinner spinner, Spinner.ItemBindMapping previousSelectedItemBindMapping);
 }

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/TableView.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/TableView.java?rev=921889&r1=921888&r2=921889&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/TableView.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/TableView.java Thu Mar 11 15:14:00 2010
@@ -934,114 +934,6 @@ public class TableView extends Component
     }
 
     /**
-     * Table view listener list.
-     */
-    private static class TableViewListenerList extends ListenerList<TableViewListener>
-        implements TableViewListener {
-        @Override
-        public void tableDataChanged(TableView tableView, List<?> previousTableData) {
-            for (TableViewListener listener : this) {
-                listener.tableDataChanged(tableView, previousTableData);
-            }
-        }
-
-        @Override
-        public void columnSourceChanged(TableView tableView, TableView previousColumnSource) {
-            for (TableViewListener listener : this) {
-                listener.columnSourceChanged(tableView, previousColumnSource);
-            }
-        }
-
-        @Override
-        public void rowEditorChanged(TableView tableView,
-            TableView.RowEditor previousRowEditor) {
-            for (TableViewListener listener : this) {
-                listener.rowEditorChanged(tableView, previousRowEditor);
-            }
-        }
-
-        @Override
-        public void selectModeChanged(TableView tableView, SelectMode previousSelectMode) {
-            for (TableViewListener listener : this) {
-                listener.selectModeChanged(tableView, previousSelectMode);
-            }
-        }
-
-        @Override
-        public void disabledRowFilterChanged(TableView tableView, Filter<?> previousDisabledRowFilter) {
-            for (TableViewListener listener : this) {
-                listener.disabledRowFilterChanged(tableView, previousDisabledRowFilter);
-            }
-        }
-
-        @Override
-        public void tableDataKeyChanged(TableView tableView, String previousTableDataKey) {
-            for (TableViewListener listener : this) {
-                listener.tableDataKeyChanged(tableView, previousTableDataKey);
-            }
-        }
-
-        @Override
-        public void tableDataBindTypeChanged(TableView tableView, BindType previousTableDataBindType) {
-            for (TableViewListener listener : this) {
-                listener.tableDataBindTypeChanged(tableView, previousTableDataBindType);
-            }
-        }
-
-        @Override
-        public void tableDataBindMappingChanged(TableView tableView,
-            TableView.TableDataBindMapping previousTableDataBindMapping) {
-            for (TableViewListener listener : this) {
-                listener.tableDataBindMappingChanged(tableView, previousTableDataBindMapping);
-            }
-        }
-
-        @Override
-        public void selectedRowKeyChanged(TableView tableView, String previousSelectedRowKey) {
-            for (TableViewListener listener : this) {
-                listener.selectedRowKeyChanged(tableView, previousSelectedRowKey);
-            }
-        }
-
-        @Override
-        public void selectedRowBindTypeChanged(TableView tableView, BindType previousSelectedRowBindType) {
-            for (TableViewListener listener : this) {
-                listener.selectedRowBindTypeChanged(tableView, previousSelectedRowBindType);
-            }
-        }
-
-        @Override
-        public void selectedRowBindMappingChanged(TableView tableView,
-            TableView.SelectedRowBindMapping previousSelectedRowBindMapping) {
-            for (TableViewListener listener : this) {
-                listener.selectedRowBindMappingChanged(tableView, previousSelectedRowBindMapping);
-            }
-        }
-
-        @Override
-        public void selectedRowsKeyChanged(TableView tableView, String previousSelectedRowsKey) {
-            for (TableViewListener listener : this) {
-                listener.selectedRowsKeyChanged(tableView, previousSelectedRowsKey);
-            }
-        }
-
-        @Override
-        public void selectedRowsBindTypeChanged(TableView tableView, BindType previousSelectedRowsBindType) {
-            for (TableViewListener listener : this) {
-                listener.selectedRowsBindTypeChanged(tableView, previousSelectedRowsBindType);
-            }
-        }
-
-        @Override
-        public void selectedRowsBindMappingChanged(TableView tableView,
-            TableView.SelectedRowBindMapping previousSelectedRowsBindMapping) {
-            for (TableViewListener listener : this) {
-                listener.selectedRowsBindMappingChanged(tableView, previousSelectedRowsBindMapping);
-            }
-        }
-    }
-
-    /**
      * Sort dictionary implementation.
      */
     public final class SortDictionary implements Dictionary<String, SortDirection>, Iterable<String> {
@@ -1105,9 +997,45 @@ public class TableView extends Component
         }
     }
 
-    /**
-     * Table view column listener list.
-     */
+    private static class TableViewListenerList extends ListenerList<TableViewListener>
+        implements TableViewListener {
+        @Override
+        public void tableDataChanged(TableView tableView, List<?> previousTableData) {
+            for (TableViewListener listener : this) {
+                listener.tableDataChanged(tableView, previousTableData);
+            }
+        }
+
+        @Override
+        public void columnSourceChanged(TableView tableView, TableView previousColumnSource) {
+            for (TableViewListener listener : this) {
+                listener.columnSourceChanged(tableView, previousColumnSource);
+            }
+        }
+
+        @Override
+        public void rowEditorChanged(TableView tableView,
+            TableView.RowEditor previousRowEditor) {
+            for (TableViewListener listener : this) {
+                listener.rowEditorChanged(tableView, previousRowEditor);
+            }
+        }
+
+        @Override
+        public void selectModeChanged(TableView tableView, SelectMode previousSelectMode) {
+            for (TableViewListener listener : this) {
+                listener.selectModeChanged(tableView, previousSelectMode);
+            }
+        }
+
+        @Override
+        public void disabledRowFilterChanged(TableView tableView, Filter<?> previousDisabledRowFilter) {
+            for (TableViewListener listener : this) {
+                listener.disabledRowFilterChanged(tableView, previousDisabledRowFilter);
+            }
+        }
+    }
+
     private static class TableViewColumnListenerList extends ListenerList<TableViewColumnListener>
         implements TableViewColumnListener {
         @Override
@@ -1167,9 +1095,6 @@ public class TableView extends Component
         }
     }
 
-    /**
-     * Table view row listener list.
-     */
     private static class TableViewRowListenerList extends ListenerList<TableViewRowListener>
         implements TableViewRowListener {
         @Override
@@ -1208,9 +1133,6 @@ public class TableView extends Component
         }
     }
 
-    /**
-     * Table view selection detail listener list.
-     */
     private static class TableViewSelectionListenerList extends ListenerList<TableViewSelectionListener>
         implements TableViewSelectionListener {
         @Override
@@ -1264,6 +1186,75 @@ public class TableView extends Component
         }
     }
 
+    private static class TableViewBindingListenerList extends ListenerList<TableViewBindingListener>
+        implements TableViewBindingListener {
+        @Override
+        public void tableDataKeyChanged(TableView tableView, String previousTableDataKey) {
+            for (TableViewBindingListener listener : this) {
+                listener.tableDataKeyChanged(tableView, previousTableDataKey);
+            }
+        }
+
+        @Override
+        public void tableDataBindTypeChanged(TableView tableView, BindType previousTableDataBindType) {
+            for (TableViewBindingListener listener : this) {
+                listener.tableDataBindTypeChanged(tableView, previousTableDataBindType);
+            }
+        }
+
+        @Override
+        public void tableDataBindMappingChanged(TableView tableView,
+            TableView.TableDataBindMapping previousTableDataBindMapping) {
+            for (TableViewBindingListener listener : this) {
+                listener.tableDataBindMappingChanged(tableView, previousTableDataBindMapping);
+            }
+        }
+
+        @Override
+        public void selectedRowKeyChanged(TableView tableView, String previousSelectedRowKey) {
+            for (TableViewBindingListener listener : this) {
+                listener.selectedRowKeyChanged(tableView, previousSelectedRowKey);
+            }
+        }
+
+        @Override
+        public void selectedRowBindTypeChanged(TableView tableView, BindType previousSelectedRowBindType) {
+            for (TableViewBindingListener listener : this) {
+                listener.selectedRowBindTypeChanged(tableView, previousSelectedRowBindType);
+            }
+        }
+
+        @Override
+        public void selectedRowBindMappingChanged(TableView tableView,
+            TableView.SelectedRowBindMapping previousSelectedRowBindMapping) {
+            for (TableViewBindingListener listener : this) {
+                listener.selectedRowBindMappingChanged(tableView, previousSelectedRowBindMapping);
+            }
+        }
+
+        @Override
+        public void selectedRowsKeyChanged(TableView tableView, String previousSelectedRowsKey) {
+            for (TableViewBindingListener listener : this) {
+                listener.selectedRowsKeyChanged(tableView, previousSelectedRowsKey);
+            }
+        }
+
+        @Override
+        public void selectedRowsBindTypeChanged(TableView tableView, BindType previousSelectedRowsBindType) {
+            for (TableViewBindingListener listener : this) {
+                listener.selectedRowsBindTypeChanged(tableView, previousSelectedRowsBindType);
+            }
+        }
+
+        @Override
+        public void selectedRowsBindMappingChanged(TableView tableView,
+            TableView.SelectedRowBindMapping previousSelectedRowsBindMapping) {
+            for (TableViewBindingListener listener : this) {
+                listener.selectedRowsBindMappingChanged(tableView, previousSelectedRowsBindMapping);
+            }
+        }
+    }
+
     private ArrayList<Column> columns = new ArrayList<Column>();
     private ColumnSequence columnSequence = new ColumnSequence();
 
@@ -1344,6 +1335,7 @@ public class TableView extends Component
     private TableViewRowListenerList tableViewRowListeners = new TableViewRowListenerList();
     private TableViewSelectionListenerList tableViewSelectionListeners = new TableViewSelectionListenerList();
     private TableViewSortListenerList tableViewSortListeners = new TableViewSortListenerList();
+    private TableViewBindingListenerList tableViewBindingListeners = new TableViewBindingListenerList();
 
     public static final String COLUMN_NAME_KEY = "columnName";
     public static final String SORT_DIRECTION_KEY = "sortDirection";
@@ -2099,7 +2091,7 @@ public class TableView extends Component
         String previousTableDataKey = this.tableDataKey;
         if (previousTableDataKey != tableDataKey) {
             this.tableDataKey = tableDataKey;
-            tableViewListeners.tableDataKeyChanged(this, previousTableDataKey);
+            tableViewBindingListeners.tableDataKeyChanged(this, previousTableDataKey);
         }
     }
 
@@ -2116,7 +2108,7 @@ public class TableView extends Component
 
         if (previousTableDataBindType != tableDataBindType) {
             this.tableDataBindType = tableDataBindType;
-            tableViewListeners.tableDataBindTypeChanged(this, previousTableDataBindType);
+            tableViewBindingListeners.tableDataBindTypeChanged(this, previousTableDataBindType);
         }
     }
 
@@ -2129,7 +2121,7 @@ public class TableView extends Component
 
         if (previousTableDataBindMapping != tableDataBindMapping) {
             this.tableDataBindMapping = tableDataBindMapping;
-            tableViewListeners.tableDataBindMappingChanged(this, previousTableDataBindMapping);
+            tableViewBindingListeners.tableDataBindMappingChanged(this, previousTableDataBindMapping);
         }
     }
 
@@ -2142,7 +2134,7 @@ public class TableView extends Component
 
         if (previousSelectedRowKey != selectedRowKey) {
             this.selectedRowKey = selectedRowKey;
-            tableViewListeners.selectedRowKeyChanged(this, previousSelectedRowKey);
+            tableViewBindingListeners.selectedRowKeyChanged(this, previousSelectedRowKey);
         }
     }
 
@@ -2158,7 +2150,7 @@ public class TableView extends Component
         BindType previousSelectedRowBindType = this.selectedRowBindType;
         if (previousSelectedRowBindType != selectedRowBindType) {
             this.selectedRowBindType = selectedRowBindType;
-            tableViewListeners.selectedRowBindTypeChanged(this, previousSelectedRowBindType);
+            tableViewBindingListeners.selectedRowBindTypeChanged(this, previousSelectedRowBindType);
         }
     }
 
@@ -2171,7 +2163,7 @@ public class TableView extends Component
 
         if (previousSelectedRowBindMapping != selectedRowBindMapping) {
             this.selectedRowBindMapping = selectedRowBindMapping;
-            tableViewListeners.selectedRowBindMappingChanged(this, previousSelectedRowBindMapping);
+            tableViewBindingListeners.selectedRowBindMappingChanged(this, previousSelectedRowBindMapping);
         }
     }
 
@@ -2184,7 +2176,7 @@ public class TableView extends Component
 
         if (previousSelectedRowsKey != selectedRowsKey) {
             this.selectedRowsKey = selectedRowsKey;
-            tableViewListeners.selectedRowsKeyChanged(this, previousSelectedRowsKey);
+            tableViewBindingListeners.selectedRowsKeyChanged(this, previousSelectedRowsKey);
         }
     }
 
@@ -2200,7 +2192,7 @@ public class TableView extends Component
         BindType previousSelectedRowsBindType = this.selectedRowsBindType;
         if (previousSelectedRowsBindType != selectedRowsBindType) {
             this.selectedRowsBindType = selectedRowsBindType;
-            tableViewListeners.selectedRowsBindTypeChanged(this, previousSelectedRowsBindType);
+            tableViewBindingListeners.selectedRowsBindTypeChanged(this, previousSelectedRowsBindType);
         }
     }
 
@@ -2213,7 +2205,7 @@ public class TableView extends Component
 
         if (previousSelectedRowsBindMapping != selectedRowsBindMapping) {
             this.selectedRowsBindMapping = selectedRowsBindMapping;
-            tableViewListeners.selectedRowsBindMappingChanged(this, previousSelectedRowsBindMapping);
+            tableViewBindingListeners.selectedRowsBindMappingChanged(this, previousSelectedRowsBindMapping);
         }
     }
 
@@ -2463,4 +2455,8 @@ public class TableView extends Component
     public ListenerList<TableViewSortListener> getTableViewSortListeners() {
         return tableViewSortListeners;
     }
+
+    public ListenerList<TableViewBindingListener> getTableViewBindingListeners() {
+        return tableViewBindingListeners;
+    }
 }

Added: pivot/trunk/wtk/src/org/apache/pivot/wtk/TableViewBindingListener.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/TableViewBindingListener.java?rev=921889&view=auto
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/TableViewBindingListener.java (added)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/TableViewBindingListener.java Thu Mar 11 15:14:00 2010
@@ -0,0 +1,140 @@
+/*
+ * 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;
+
+/**
+ * Table view binding listener.
+ */
+public interface TableViewBindingListener {
+    /**
+     * Table view binding listener adapter.
+     */
+    public static class Adapter implements TableViewBindingListener {
+        @Override
+        public void tableDataKeyChanged(TableView tableView, String previousTableDataKey) {
+        }
+
+        @Override
+        public void tableDataBindTypeChanged(TableView tableView, BindType previousTableDataBindType) {
+        }
+
+        @Override
+        public void tableDataBindMappingChanged(TableView tableView,
+            TableView.TableDataBindMapping previousTableDataBindMapping) {
+        }
+
+        @Override
+        public void selectedRowKeyChanged(TableView tableView, String previousSelectedRowKey) {
+        }
+
+        @Override
+        public void selectedRowBindTypeChanged(TableView tableView, BindType previousSelectedRowBindType) {
+        }
+
+        @Override
+        public void selectedRowBindMappingChanged(TableView tableView,
+            TableView.SelectedRowBindMapping previousSelectedRowBindMapping) {
+        }
+
+        @Override
+        public void selectedRowsKeyChanged(TableView tableView, String previousSelectedRowsKey) {
+        }
+
+        @Override
+        public void selectedRowsBindTypeChanged(TableView tableView, BindType previousSelectedRowsBindType) {
+        }
+
+        @Override
+        public void selectedRowsBindMappingChanged(TableView tableView,
+            TableView.SelectedRowBindMapping previousSelectedRowsBindMapping) {
+        }
+    }
+
+    /**
+     * Called when a table view's table data key has changed.
+     *
+     * @param tableView
+     * @param previousTableDataKey
+     */
+    public void tableDataKeyChanged(TableView tableView, String previousTableDataKey);
+
+    /**
+     * Called when a table view's table data bind type has changed.
+     *
+     * @param tableView
+     * @param previousTableDataBindType
+     */
+    public void tableDataBindTypeChanged(TableView tableView, BindType previousTableDataBindType);
+
+    /**
+     * Called when a table view's table data bind mapping has changed.
+     *
+     * @param tableView
+     * @param previousTableDataBindMapping
+     */
+    public void tableDataBindMappingChanged(TableView tableView, TableView.TableDataBindMapping previousTableDataBindMapping);
+
+    /**
+     * Called when a table view's selected row key has changed.
+     *
+     * @param tableView
+     * @param previousSelectedRowKey
+     */
+    public void selectedRowKeyChanged(TableView tableView, String previousSelectedRowKey);
+
+    /**
+     * Called when a table view's selected row bind type has changed.
+     *
+     * @param tableView
+     * @param previousSelectedRowBindType
+     */
+    public void selectedRowBindTypeChanged(TableView tableView, BindType previousSelectedRowBindType);
+
+    /**
+     * Called when a table view's selected row bind mapping has changed.
+     *
+     * @param tableView
+     * @param previousSelectedRowBindMapping
+     */
+    public void selectedRowBindMappingChanged(TableView tableView,
+        TableView.SelectedRowBindMapping previousSelectedRowBindMapping);
+
+    /**
+     * Called when a table view's selected rows key has changed.
+     *
+     * @param tableView
+     * @param previousSelectedRowsKey
+     */
+    public void selectedRowsKeyChanged(TableView tableView, String previousSelectedRowsKey);
+
+    /**
+     * Called when a table view's selected rows bind type has changed.
+     *
+     * @param tableView
+     * @param previousSelectedRowsBindType
+     */
+    public void selectedRowsBindTypeChanged(TableView tableView, BindType previousSelectedRowsBindType);
+
+    /**
+     * Called when a table view's selected rows bind mapping has changed.
+     *
+     * @param tableView
+     * @param previousSelectedRowsBindMapping
+     */
+    public void selectedRowsBindMappingChanged(TableView tableView,
+        TableView.SelectedRowBindMapping previousSelectedRowsBindMapping);
+}

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/TableViewListener.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/TableViewListener.java?rev=921889&r1=921888&r2=921889&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/TableViewListener.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/TableViewListener.java Thu Mar 11 15:14:00 2010
@@ -46,45 +46,6 @@ public interface TableViewListener {
         @Override
         public void disabledRowFilterChanged(TableView tableView, Filter<?> previousDisabledRowFilter) {
         }
-
-        @Override
-        public void tableDataKeyChanged(TableView tableView, String previousTableDataKey) {
-        }
-
-        @Override
-        public void tableDataBindTypeChanged(TableView tableView, BindType previousTableDataBindType) {
-        }
-
-        @Override
-        public void tableDataBindMappingChanged(TableView tableView,
-            TableView.TableDataBindMapping previousTableDataBindMapping) {
-        }
-
-        @Override
-        public void selectedRowKeyChanged(TableView tableView, String previousSelectedRowKey) {
-        }
-
-        @Override
-        public void selectedRowBindTypeChanged(TableView tableView, BindType previousSelectedRowBindType) {
-        }
-
-        @Override
-        public void selectedRowBindMappingChanged(TableView tableView,
-            TableView.SelectedRowBindMapping previousSelectedRowBindMapping) {
-        }
-
-        @Override
-        public void selectedRowsKeyChanged(TableView tableView, String previousSelectedRowsKey) {
-        }
-
-        @Override
-        public void selectedRowsBindTypeChanged(TableView tableView, BindType previousSelectedRowsBindType) {
-        }
-
-        @Override
-        public void selectedRowsBindMappingChanged(TableView tableView,
-            TableView.SelectedRowBindMapping previousSelectedRowsBindMapping) {
-        }
     }
 
     /**
@@ -126,78 +87,4 @@ public interface TableViewListener {
      * @param previousDisabledRowFilter
      */
     public void disabledRowFilterChanged(TableView tableView, Filter<?> previousDisabledRowFilter);
-
-    /**
-     * Called when a table view's table data key has changed.
-     *
-     * @param tableView
-     * @param previousTableDataKey
-     */
-    public void tableDataKeyChanged(TableView tableView, String previousTableDataKey);
-
-    /**
-     * Called when a table view's table data bind type has changed.
-     *
-     * @param tableView
-     * @param previousTableDataBindType
-     */
-    public void tableDataBindTypeChanged(TableView tableView, BindType previousTableDataBindType);
-
-    /**
-     * Called when a table view's table data bind mapping has changed.
-     *
-     * @param tableView
-     * @param previousTableDataBindMapping
-     */
-    public void tableDataBindMappingChanged(TableView tableView, TableView.TableDataBindMapping previousTableDataBindMapping);
-
-    /**
-     * Called when a table view's selected item key has changed.
-     *
-     * @param tableView
-     * @param previousSelectedRowKey
-     */
-    public void selectedRowKeyChanged(TableView tableView, String previousSelectedRowKey);
-
-    /**
-     * Called when a table view's selected item bind type has changed.
-     *
-     * @param tableView
-     * @param previousSelectedRowBindType
-     */
-    public void selectedRowBindTypeChanged(TableView tableView, BindType previousSelectedRowBindType);
-
-    /**
-     * Called when a table view's selected item bind mapping has changed.
-     *
-     * @param tableView
-     * @param previousSelectedRowBindMapping
-     */
-    public void selectedRowBindMappingChanged(TableView tableView,
-        TableView.SelectedRowBindMapping previousSelectedRowBindMapping);
-
-    /**
-     * Called when a table view's selected items key has changed.
-     *
-     * @param tableView
-     * @param previousSelectedRowsKey
-     */
-    public void selectedRowsKeyChanged(TableView tableView, String previousSelectedRowsKey);
-
-    /**
-     * Called when a table view's selected items bind type has changed.
-     *
-     * @param tableView
-     * @param previousSelectedRowsBindType
-     */
-    public void selectedRowsBindTypeChanged(TableView tableView, BindType previousSelectedRowsBindType);
-
-    /**
-     * Called when a table view's selected items bind mapping has changed.
-     *
-     * @param tableView
-     * @param previousSelectedRowsBindMapping
-     */
-    public void selectedRowsBindMappingChanged(TableView tableView,
-        TableView.SelectedRowBindMapping previousSelectedRowsBindMapping);
 }

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/TextArea.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/TextArea.java?rev=921889&r1=921888&r2=921889&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/TextArea.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/TextArea.java Thu Mar 11 15:14:00 2010
@@ -135,27 +135,6 @@ public class TextArea extends Component 
                 listener.editableChanged(textArea);
             }
         }
-
-        @Override
-        public void textKeyChanged(TextArea textArea, String previousTextKey) {
-            for (TextAreaListener listener : this) {
-                listener.textKeyChanged(textArea, previousTextKey);
-            }
-        }
-
-        @Override
-        public void textBindTypeChanged(TextArea textArea, BindType previousTextBindType) {
-            for (TextAreaListener listener : this) {
-                listener.textBindTypeChanged(textArea, previousTextBindType);
-            }
-        }
-
-        @Override
-        public void textBindMappingChanged(TextArea textArea, TextBindMapping previousTextBindMapping) {
-            for (TextAreaListener listener : this) {
-                listener.textBindMappingChanged(textArea, previousTextBindMapping);
-            }
-        }
     }
 
     private static class TextAreaCharacterListenerList extends ListenerList<TextAreaCharacterListener>
@@ -186,6 +165,29 @@ public class TextArea extends Component 
         }
     }
 
+    private static class TextAreaBindingListenerList extends ListenerList<TextAreaBindingListener>
+        implements TextAreaBindingListener {
+        @Override
+        public void textKeyChanged(TextArea textArea, String previousTextKey) {
+            for (TextAreaBindingListener listener : this) {
+                listener.textKeyChanged(textArea, previousTextKey);
+            }
+        }
+
+        @Override
+        public void textBindTypeChanged(TextArea textArea, BindType previousTextBindType) {
+            for (TextAreaBindingListener listener : this) {
+                listener.textBindTypeChanged(textArea, previousTextBindType);
+            }
+        }
+
+        @Override
+        public void textBindMappingChanged(TextArea textArea, TextBindMapping previousTextBindMapping) {
+            for (TextAreaBindingListener listener : this) {
+                listener.textBindMappingChanged(textArea, previousTextBindMapping);
+            }
+        }
+    }
     private Document document;
 
     private int selectionStart = 0;
@@ -236,6 +238,7 @@ public class TextArea extends Component 
     private TextAreaListenerList textAreaListeners = new TextAreaListenerList();
     private TextAreaCharacterListenerList textAreaCharacterListeners = new TextAreaCharacterListenerList();
     private TextAreaSelectionListenerList textAreaSelectionListeners = new TextAreaSelectionListenerList();
+    private TextAreaBindingListenerList textAreaBindingListeners = new TextAreaBindingListenerList();
 
     public TextArea() {
         installThemeSkin(TextArea.class);
@@ -813,7 +816,7 @@ public class TextArea extends Component 
 
         if (previousTextKey != textKey) {
             this.textKey = textKey;
-            textAreaListeners.textKeyChanged(this, previousTextKey);
+            textAreaBindingListeners.textKeyChanged(this, previousTextKey);
         }
     }
 
@@ -825,7 +828,7 @@ public class TextArea extends Component 
         BindType previousTextBindType = this.textBindType;
         if (previousTextBindType != textBindType) {
             this.textBindType = textBindType;
-            textAreaListeners.textBindTypeChanged(this, previousTextBindType);
+            textAreaBindingListeners.textBindTypeChanged(this, previousTextBindType);
         }
 
     }
@@ -839,7 +842,7 @@ public class TextArea extends Component 
 
         if (previousTextBindMapping != textBindMapping) {
             this.textBindMapping = textBindMapping;
-            textAreaListeners.textBindMappingChanged(this, previousTextBindMapping);
+            textAreaBindingListeners.textBindMappingChanged(this, previousTextBindMapping);
         }
     }
 
@@ -915,4 +918,8 @@ public class TextArea extends Component 
     public ListenerList<TextAreaSelectionListener> getTextAreaSelectionListeners() {
         return textAreaSelectionListeners;
     }
+
+    public ListenerList<TextAreaBindingListener> getTextAreaBindingListeners() {
+        return textAreaBindingListeners;
+    }
 }

Added: pivot/trunk/wtk/src/org/apache/pivot/wtk/TextAreaBindingListener.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/TextAreaBindingListener.java?rev=921889&view=auto
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/TextAreaBindingListener.java (added)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/TextAreaBindingListener.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;
+
+/**
+ * Text area binding listener interface.
+ */
+public interface TextAreaBindingListener {
+    /**
+     * Text area binding listener adapter.
+     */
+    public static class Adapter implements TextAreaBindingListener {
+        @Override
+        public void textKeyChanged(TextArea textArea, String previousTextKey) {
+        }
+
+        @Override
+        public void textBindTypeChanged(TextArea textArea, BindType previousTextBindType) {
+        }
+
+        @Override
+        public void textBindMappingChanged(TextArea textArea, TextArea.TextBindMapping previousTextBindMapping) {
+        }
+    }
+
+    /**
+     * Called when a text area's text key has changed.
+     *
+     * @param textArea
+     * @param previousTextKey
+     */
+    public void textKeyChanged(TextArea textArea, String previousTextKey);
+
+    /**
+     * Called when a text area's text bind type has changed.
+     *
+     * @param textArea
+     * @param previousTextBindType
+     */
+    public void textBindTypeChanged(TextArea textArea, BindType previousTextBindType);
+
+    /**
+     * Called when a text area's text bind mapping has changed.
+     *
+     * @param textArea
+     * @param previousTextBindMapping
+     */
+    public void textBindMappingChanged(TextArea textArea, TextArea.TextBindMapping previousTextBindMapping);
+}

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/TextAreaListener.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/TextAreaListener.java?rev=921889&r1=921888&r2=921889&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/TextAreaListener.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/TextAreaListener.java Thu Mar 11 15:14:00 2010
@@ -33,18 +33,6 @@ public interface TextAreaListener {
         @Override
         public void editableChanged(TextArea textArea) {
         }
-
-        @Override
-        public void textKeyChanged(TextArea textArea, String previousTextKey) {
-        }
-
-        @Override
-        public void textBindTypeChanged(TextArea textArea, BindType previousTextBindType) {
-        }
-
-        @Override
-        public void textBindMappingChanged(TextArea textArea, TextArea.TextBindMapping previousTextBindMapping) {
-        }
     }
 
     /**
@@ -64,28 +52,4 @@ public interface TextAreaListener {
      * @param textArea
      */
     public void editableChanged(TextArea textArea);
-
-    /**
-     * Called when a text area's text key has changed.
-     *
-     * @param textArea
-     * @param previousTextKey
-     */
-    public void textKeyChanged(TextArea textArea, String previousTextKey);
-
-    /**
-     * Called when a text area's text bind type has changed.
-     *
-     * @param textArea
-     * @param previousTextBindType
-     */
-    public void textBindTypeChanged(TextArea textArea, BindType previousTextBindType);
-
-    /**
-     * Called when a text area's bind mapping has changed.
-     *
-     * @param textArea
-     * @param previousTextBindMapping
-     */
-    public void textBindMappingChanged(TextArea textArea, TextArea.TextBindMapping previousTextBindMapping);
 }

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/TextInput.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/TextInput.java?rev=921889&r1=921888&r2=921889&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/TextInput.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/TextInput.java Thu Mar 11 15:14:00 2010
@@ -118,27 +118,6 @@ public class TextInput extends Component
         }
 
         @Override
-        public void textKeyChanged(TextInput textInput, String previousTextKey) {
-            for (TextInputListener listener : this) {
-                listener.textKeyChanged(textInput, previousTextKey);
-            }
-        }
-
-        @Override
-        public void textBindTypeChanged(TextInput textInput, BindType previousTextBindType) {
-            for (TextInputListener listener : this) {
-                listener.textBindTypeChanged(textInput, previousTextBindType);
-            }
-        }
-
-        @Override
-        public void textBindMappingChanged(TextInput textInput, TextInput.TextBindMapping previousTextBindMapping) {
-            for (TextInputListener listener : this) {
-                listener.textBindMappingChanged(textInput, previousTextBindMapping);
-            }
-        }
-
-        @Override
         public void textValidChanged(TextInput textInput) {
             for (TextInputListener listener : this) {
                 listener.textValidChanged(textInput);
@@ -192,6 +171,30 @@ public class TextInput extends Component
         }
     }
 
+    private static class TextInputBindingListenerList extends ListenerList<TextInputBindingListener>
+        implements TextInputBindingListener {
+        @Override
+        public void textKeyChanged(TextInput textInput, String previousTextKey) {
+            for (TextInputBindingListener listener : this) {
+                listener.textKeyChanged(textInput, previousTextKey);
+            }
+        }
+
+        @Override
+        public void textBindTypeChanged(TextInput textInput, BindType previousTextBindType) {
+            for (TextInputBindingListener listener : this) {
+                listener.textBindTypeChanged(textInput, previousTextBindType);
+            }
+        }
+
+        @Override
+        public void textBindMappingChanged(TextInput textInput, TextInput.TextBindMapping previousTextBindMapping) {
+            for (TextInputBindingListener listener : this) {
+                listener.textBindMappingChanged(textInput, previousTextBindMapping);
+            }
+        }
+    }
+
     private TextNode textNode;
 
     private int selectionStart = 0;
@@ -254,6 +257,7 @@ public class TextInput extends Component
     private TextInputTextListenerList textInputTextListeners = new TextInputTextListenerList();
     private TextInputCharacterListenerList textInputCharacterListeners = new TextInputCharacterListenerList();
     private TextInputSelectionListenerList textInputSelectionListeners = new TextInputSelectionListenerList();
+    private TextInputBindingListenerList textInputBindingListeners = new TextInputBindingListenerList();
 
     public static final int DEFAULT_TEXT_SIZE = 16;
 
@@ -746,7 +750,7 @@ public class TextInput extends Component
 
         if (previousTextKey != textKey) {
             this.textKey = textKey;
-            textInputListeners.textKeyChanged(this, previousTextKey);
+            textInputBindingListeners.textKeyChanged(this, previousTextKey);
         }
     }
 
@@ -758,7 +762,7 @@ public class TextInput extends Component
         BindType previousTextBindType = this.textBindType;
         if (previousTextBindType != textBindType) {
             this.textBindType = textBindType;
-            textInputListeners.textBindTypeChanged(this, previousTextBindType);
+            textInputBindingListeners.textBindTypeChanged(this, previousTextBindType);
         }
 
     }
@@ -772,7 +776,7 @@ public class TextInput extends Component
 
         if (previousTextBindMapping != textBindMapping) {
             this.textBindMapping = textBindMapping;
-            textInputListeners.textBindMappingChanged(this, previousTextBindMapping);
+            textInputBindingListeners.textBindMappingChanged(this, previousTextBindMapping);
         }
     }
 
@@ -895,4 +899,11 @@ public class TextInput extends Component
     public ListenerList<TextInputSelectionListener> getTextInputSelectionListeners() {
         return textInputSelectionListeners;
     }
+
+    /**
+     * Returns the text input binding listener list.
+     */
+    public ListenerList<TextInputBindingListener> getTextInputBindingListeners() {
+        return textInputBindingListeners;
+    }
 }

Added: pivot/trunk/wtk/src/org/apache/pivot/wtk/TextInputBindingListener.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/TextInputBindingListener.java?rev=921889&view=auto
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/TextInputBindingListener.java (added)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/TextInputBindingListener.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;
+
+/**
+ * Text input binding listener interface.
+ */
+public interface TextInputBindingListener {
+    /**
+     * Text input binding listener adapter.
+     */
+    public static class Adapter implements TextInputBindingListener {
+        @Override
+        public void textKeyChanged(TextInput textInput, String previousTextKey) {
+        }
+
+        @Override
+        public void textBindTypeChanged(TextInput textInput, BindType previousTextBindType) {
+        }
+
+        @Override
+        public void textBindMappingChanged(TextInput textInput, TextInput.TextBindMapping previousTextBindMapping) {
+        }
+    }
+
+    /**
+     * Called when a text input's text key has changed.
+     *
+     * @param textInput
+     * @param previousTextKey
+     */
+    public void textKeyChanged(TextInput textInput, String previousTextKey);
+
+    /**
+     * Called when a text input's text bind type has changed.
+     *
+     * @param textInput
+     * @param previousTextBindType
+     */
+    public void textBindTypeChanged(TextInput textInput, BindType previousTextBindType);
+
+    /**
+     * Called when a text input's text bind mapping has changed.
+     *
+     * @param textInput
+     * @param previousTextBindMapping
+     */
+    public void textBindMappingChanged(TextInput textInput, TextInput.TextBindMapping previousTextBindMapping);
+}

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/TextInputListener.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/TextInputListener.java?rev=921889&r1=921888&r2=921889&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/TextInputListener.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/TextInputListener.java Thu Mar 11 15:14:00 2010
@@ -48,18 +48,6 @@ public interface TextInputListener {
         }
 
         @Override
-        public void textKeyChanged(TextInput textInput, String previousTextKey) {
-        }
-
-        @Override
-        public void textBindTypeChanged(TextInput textInput, BindType previousTextBindType) {
-        }
-
-        @Override
-        public void textBindMappingChanged(TextInput textInput, TextInput.TextBindMapping previousTextBindMapping) {
-        }
-
-        @Override
         public void textValidChanged(TextInput textInput) {
         }
 
@@ -111,30 +99,6 @@ public interface TextInputListener {
     public void promptChanged(TextInput textInput, String previousPrompt);
 
     /**
-     * Called when a text input's text key has changed.
-     *
-     * @param textInput
-     * @param previousTextKey
-     */
-    public void textKeyChanged(TextInput textInput, String previousTextKey);
-
-    /**
-     * Called when a text input's text bind type has changed.
-     *
-     * @param textInput
-     * @param previousTextBindType
-     */
-    public void textBindTypeChanged(TextInput textInput, BindType previousTextBindType);
-
-    /**
-     * Called when a text input's bind mapping has changed.
-     *
-     * @param textInput
-     * @param previousTextBindMapping
-     */
-    public void textBindMappingChanged(TextInput textInput, TextInput.TextBindMapping previousTextBindMapping);
-
-    /**
      * Called when the text changes validity.
      *
      * @param textInput

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewRowEditor.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewRowEditor.java?rev=921889&r1=921888&r2=921889&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewRowEditor.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewRowEditor.java Thu Mar 11 15:14:00 2010
@@ -26,7 +26,6 @@ import org.apache.pivot.util.Filter;
 import org.apache.pivot.util.ListenerList;
 import org.apache.pivot.util.Vote;
 import org.apache.pivot.wtk.ApplicationContext;
-import org.apache.pivot.wtk.BindType;
 import org.apache.pivot.wtk.Bounds;
 import org.apache.pivot.wtk.CardPane;
 import org.apache.pivot.wtk.CardPaneListener;
@@ -568,56 +567,7 @@ public class TableViewRowEditor implemen
             // No-op
         }
 
-        @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
-        }
-
         // TableViewRowListener methods
-
         @Override
         public void rowInserted(TableView tableView, int index) {
             cancelEdit();