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/04/23 18:11:16 UTC

svn commit: r937351 - in /pivot/trunk/wtk/src/org/apache/pivot/wtk: FileBrowser.java FileBrowserSheet.java ListSelection.java ListSelectionSequence.java ListView.java TableView.java TreeView.java

Author: gbrown
Date: Fri Apr 23 16:11:15 2010
New Revision: 937351

URL: http://svn.apache.org/viewvc?rev=937351&view=rev
Log:
Resolve PIVOT-471.

Removed:
    pivot/trunk/wtk/src/org/apache/pivot/wtk/ListSelectionSequence.java
Modified:
    pivot/trunk/wtk/src/org/apache/pivot/wtk/FileBrowser.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/FileBrowserSheet.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/ListSelection.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/ListView.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/TableView.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/TreeView.java

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/FileBrowser.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/FileBrowser.java?rev=937351&r1=937350&r2=937351&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/FileBrowser.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/FileBrowser.java Fri Apr 23 16:11:15 2010
@@ -214,9 +214,11 @@ public class FileBrowser extends Contain
      * Returns the currently selected files.
      *
      * @return
-     * An immutable list of selected files.
+     * An immutable list containing the currently selected files. Note that the returned
+     * list is a wrapper around the actual selection, not a copy. Any changes made to the
+     * selection state will be reflected in the list, but events will not be fired.
      */
-    public Sequence<File> getSelectedFiles() {
+    public ImmutableList<File> getSelectedFiles() {
         return new ImmutableList<File>(selectedFiles);
     }
 

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/FileBrowserSheet.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/FileBrowserSheet.java?rev=937351&r1=937350&r2=937351&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/FileBrowserSheet.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/FileBrowserSheet.java Fri Apr 23 16:11:15 2010
@@ -175,9 +175,11 @@ public class FileBrowserSheet extends Sh
      * Returns the currently selected files.
      *
      * @return
-     * An immutable list of selected files.
+     * An immutable list containing the currently selected files. Note that the returned
+     * list is a wrapper around the actual selection, not a copy. Any changes made to the
+     * selection state will be reflected in the list, but events will not be fired.
      */
-    public Sequence<File> getSelectedFiles() {
+    public ImmutableList<File> getSelectedFiles() {
         return new ImmutableList<File>(selectedFiles);
     }
 

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/ListSelection.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/ListSelection.java?rev=937351&r1=937350&r2=937351&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/ListSelection.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/ListSelection.java Fri Apr 23 16:11:15 2010
@@ -20,6 +20,7 @@ import java.util.Comparator;
 
 import org.apache.pivot.collections.ArrayList;
 import org.apache.pivot.collections.Sequence;
+import org.apache.pivot.collections.immutable.ImmutableList;
 
 /**
  * Class for managing a set of indexed range selections.
@@ -263,6 +264,13 @@ class ListSelection {
     }
 
     /**
+     * Returns an immutable wrapper around the selected ranges.
+     */
+    public ImmutableList<Span> toList() {
+        return new ImmutableList<Span>(selectedRanges);
+    }
+
+    /**
      * Determines the index of a range in the selection.
      *
      * @param range

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=937351&r1=937350&r2=937351&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/ListView.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/ListView.java Fri Apr 23 16:11:15 2010
@@ -25,6 +25,7 @@ import org.apache.pivot.collections.List
 import org.apache.pivot.collections.ListListener;
 import org.apache.pivot.collections.Map;
 import org.apache.pivot.collections.Sequence;
+import org.apache.pivot.collections.immutable.ImmutableList;
 import org.apache.pivot.json.JSON;
 import org.apache.pivot.json.JSONSerializer;
 import org.apache.pivot.serialization.SerializationException;
@@ -960,10 +961,15 @@ public class ListView extends Component 
     }
 
     /**
-     * Returns the list's current selection.
+     * Returns the currently selected ranges.
+     *
+     * @return
+     * An immutable list containing the currently selected ranges. Note that the returned
+     * list is a wrapper around the actual selection, not a copy. Any changes made to the
+     * selection state will be reflected in the list, but events will not be fired.
      */
-    public Sequence<Span> getSelectedRanges() {
-        return new ListSelectionSequence(selectedRanges);
+    public ImmutableList<Span> getSelectedRanges() {
+        return selectedRanges.toList();
     }
 
     /**
@@ -1002,7 +1008,7 @@ public class ListView extends Component 
         }
 
         // Update the selection
-        ListSelectionSequence previousSelectedRanges = new ListSelectionSequence(this.selectedRanges);
+        Sequence<Span> previousSelectedRanges = this.selectedRanges.toList();
 
         ListSelection listSelection = new ListSelection();
         for (int i = 0, n = selectedRanges.getLength(); i < n; i++) {
@@ -1225,7 +1231,7 @@ public class ListView extends Component 
      */
     public void clearSelection() {
         if (selectedRanges.getLength() > 0) {
-            Sequence<Span> previousSelectedRanges = new ListSelectionSequence(selectedRanges);
+            Sequence<Span> previousSelectedRanges = selectedRanges.toList();
             selectedRanges = new ListSelection();
 
             listViewSelectionListeners.selectedRangesChanged(this,

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=937351&r1=937350&r2=937351&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/TableView.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/TableView.java Fri Apr 23 16:11:15 2010
@@ -28,6 +28,7 @@ import org.apache.pivot.collections.List
 import org.apache.pivot.collections.ListListener;
 import org.apache.pivot.collections.Map;
 import org.apache.pivot.collections.Sequence;
+import org.apache.pivot.collections.immutable.ImmutableList;
 import org.apache.pivot.json.JSON;
 import org.apache.pivot.json.JSONSerializer;
 import org.apache.pivot.serialization.SerializationException;
@@ -1545,10 +1546,15 @@ public class TableView extends Component
     }
 
     /**
-     * Returns the table's current selection.
+     * Returns the currently selected ranges.
+     *
+     * @return
+     * An immutable list containing the currently selected ranges. Note that the returned
+     * list is a wrapper around the actual selection, not a copy. Any changes made to the
+     * selection state will be reflected in the list, but events will not be fired.
      */
-    public Sequence<Span> getSelectedRanges() {
-        return new ListSelectionSequence(selectedRanges);
+    public ImmutableList<Span> getSelectedRanges() {
+        return selectedRanges.toList();
     }
 
     /**
@@ -1587,7 +1593,7 @@ public class TableView extends Component
         }
 
         // Update the selection
-        ListSelectionSequence previousSelectedRanges = new ListSelectionSequence(this.selectedRanges);
+        Sequence<Span> previousSelectedRanges = this.selectedRanges.toList();
 
         ListSelection listSelection = new ListSelection();
         for (int i = 0, n = selectedRanges.getLength(); i < n; i++) {
@@ -1810,7 +1816,7 @@ public class TableView extends Component
      */
     public void clearSelection() {
         if (selectedRanges.getLength() > 0) {
-            Sequence<Span> previousSelectedRanges = new ListSelectionSequence(selectedRanges);
+            Sequence<Span> previousSelectedRanges = selectedRanges.toList();
             selectedRanges = new ListSelection();
 
             tableViewSelectionListeners.selectedRangesChanged(this,

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/TreeView.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/TreeView.java?rev=937351&r1=937350&r2=937351&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/TreeView.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/TreeView.java Fri Apr 23 16:11:15 2010
@@ -1284,8 +1284,14 @@ public class TreeView extends Component 
     }
 
     /**
+     * Returns the currently selected paths.
+     *
+     * @return
+     * An immutable list containing the currently selected paths. Note that the returned
+     * list is a wrapper around the actual selection, not a copy. Any changes made to the
+     * selection state will be reflected in the list, but events will not be fired.
      */
-    public Sequence<Path> getSelectedPaths() {
+    public ImmutableList<Path> getSelectedPaths() {
         return new ImmutableList<Path>(selectedPaths);
     }