You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pivot.apache.org by tv...@apache.org on 2009/09/22 18:31:28 UTC

svn commit: r817717 - in /incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk: TableView.java TableViewListener.java content/TableViewRowEditor.java skin/terra/TerraTableViewSkin.java

Author: tvolkert
Date: Tue Sep 22 16:31:28 2009
New Revision: 817717

URL: http://svn.apache.org/viewvc?rev=817717&view=rev
Log:
Added columnSource property to TableView

Modified:
    incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/TableView.java
    incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/TableViewListener.java
    incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewRowEditor.java
    incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/terra/TerraTableViewSkin.java

Modified: incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/TableView.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/TableView.java?rev=817717&r1=817716&r2=817717&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/TableView.java (original)
+++ incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/TableView.java Tue Sep 22 16:31:28 2009
@@ -757,6 +757,13 @@
         }
 
         @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) {
@@ -1045,6 +1052,8 @@
         }
     };
 
+    private TableView columnSource = null;
+
     private ListSelection selectedRanges = new ListSelection();
     private SelectMode selectMode = SelectMode.SINGLE;
 
@@ -1099,6 +1108,12 @@
      * The table column sequence.
      */
     public ColumnSequence getColumns() {
+        ColumnSequence columnSequence = this.columnSequence;
+
+        if (columnSource != null) {
+            columnSequence = columnSource.getColumns();
+        }
+
         return columnSequence;
     }
 
@@ -1161,6 +1176,19 @@
         }
     }
 
+    public TableView getColumnSource() {
+        return columnSource;
+    }
+
+    public void setColumnSource(TableView columnSource) {
+        TableView previousColumnSource = this.columnSource;
+
+        if (previousColumnSource != columnSource) {
+            this.columnSource = columnSource;
+            tableViewListeners.columnSourceChanged(this, previousColumnSource);
+        }
+    }
+
     /**
      * Returns the editor used to edit rows in this table.
      *

Modified: incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/TableViewListener.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/TableViewListener.java?rev=817717&r1=817716&r2=817717&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/TableViewListener.java (original)
+++ incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/TableViewListener.java Tue Sep 22 16:31:28 2009
@@ -32,6 +32,10 @@
         }
 
         @Override
+        public void columnSourceChanged(TableView tableView, TableView previousColumnSource) {
+        }
+
+        @Override
         public void rowEditorChanged(TableView tableView, TableView.RowEditor previousRowEditor) {
         }
 
@@ -53,6 +57,14 @@
     public void tableDataChanged(TableView tableView, List<?> previousTableData);
 
     /**
+     * Called when a table view's column source has changed.
+     *
+     * @param tableView
+     * @param previousColumnSource
+     */
+    public void columnSourceChanged(TableView tableView, TableView previousColumnSource);
+
+    /**
      * Called when a table view's row editor has changed.
      *
      * @param tableView

Modified: incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewRowEditor.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewRowEditor.java?rev=817717&r1=817716&r2=817717&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewRowEditor.java (original)
+++ incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewRowEditor.java Tue Sep 22 16:31:28 2009
@@ -545,6 +545,11 @@
         }
 
         @Override
+        public void columnSourceChanged(TableView tableView, TableView previousColumnSource) {
+            // No-op
+        }
+
+        @Override
         public void rowEditorChanged(TableView tableView, TableView.RowEditor previousRowEditor) {
             cancelEdit();
         }

Modified: incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/terra/TerraTableViewSkin.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/terra/TerraTableViewSkin.java?rev=817717&r1=817716&r2=817717&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/terra/TerraTableViewSkin.java (original)
+++ incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/terra/TerraTableViewSkin.java Tue Sep 22 16:31:28 2009
@@ -1056,6 +1056,21 @@
     }
 
     @Override
+    public void columnSourceChanged(TableView tableView, TableView previousColumnSource) {
+        if (previousColumnSource != null) {
+            previousColumnSource.getTableViewColumnListeners().remove(this);
+        }
+
+        TableView columnSource = tableView.getColumnSource();
+
+        if (columnSource != null) {
+            columnSource.getTableViewColumnListeners().add(this);
+        }
+
+        invalidateComponent();
+    }
+
+    @Override
     public void rowEditorChanged(TableView tableView, TableView.RowEditor previousRowEditor) {
         // No-op
     }