You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pivot.apache.org by rw...@apache.org on 2017/12/06 06:05:38 UTC

svn commit: r1817267 - in /pivot/trunk/wtk/src/org/apache/pivot/wtk: ScrollPane.java ScrollPaneListener.java skin/ScrollPaneSkin.java

Author: rwhitcomb
Date: Wed Dec  6 06:05:38 2017
New Revision: 1817267

URL: http://svn.apache.org/viewvc?rev=1817267&view=rev
Log:
PIVOT-1011:  Move the listener list out of ScrollPane and into ScrollPaneListener.
Misc. other reformatting in the skin class, and Utils checks on parameters in
ScrollPane itself.

Modified:
    pivot/trunk/wtk/src/org/apache/pivot/wtk/ScrollPane.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/ScrollPaneListener.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/ScrollPaneSkin.java

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/ScrollPane.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/ScrollPane.java?rev=1817267&r1=1817266&r2=1817267&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/ScrollPane.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/ScrollPane.java Wed Dec  6 06:05:38 2017
@@ -18,6 +18,7 @@ package org.apache.pivot.wtk;
 
 import org.apache.pivot.collections.Sequence;
 import org.apache.pivot.util.ListenerList;
+import org.apache.pivot.util.Utils;
 
 /**
  * Container that provides a scrollable view of a component, with optional fixed
@@ -66,48 +67,6 @@ public class ScrollPane extends Viewport
         FILL_TO_CAPACITY
     }
 
-    private static class ScrollPaneListenerList extends ListenerList<ScrollPaneListener>
-        implements ScrollPaneListener {
-
-        @Override
-        public void horizontalScrollBarPolicyChanged(ScrollPane scrollPane,
-            ScrollBarPolicy previousHorizontalScrollBarPolicy) {
-            for (ScrollPaneListener listener : this) {
-                listener.horizontalScrollBarPolicyChanged(scrollPane,
-                    previousHorizontalScrollBarPolicy);
-            }
-        }
-
-        @Override
-        public void verticalScrollBarPolicyChanged(ScrollPane scrollPane,
-            ScrollBarPolicy previousVerticalScrollBarPolicy) {
-            for (ScrollPaneListener listener : this) {
-                listener.verticalScrollBarPolicyChanged(scrollPane, previousVerticalScrollBarPolicy);
-            }
-        }
-
-        @Override
-        public void rowHeaderChanged(ScrollPane scrollPane, Component previousRowHeader) {
-            for (ScrollPaneListener listener : this) {
-                listener.rowHeaderChanged(scrollPane, previousRowHeader);
-            }
-        }
-
-        @Override
-        public void columnHeaderChanged(ScrollPane scrollPane, Component previousColumnHeader) {
-            for (ScrollPaneListener listener : this) {
-                listener.columnHeaderChanged(scrollPane, previousColumnHeader);
-            }
-        }
-
-        @Override
-        public void cornerChanged(ScrollPane scrollPane, Component previousCorner) {
-            for (ScrollPaneListener listener : this) {
-                listener.cornerChanged(scrollPane, previousCorner);
-            }
-        }
-    }
-
     /**
      * Component class representing the components that will get placed in the
      * corners of a <tt>ScrollPane</tt>. Skins will instantiate these components
@@ -125,9 +84,7 @@ public class ScrollPane extends Viewport
         private Placement placement;
 
         public Corner(Placement placement) {
-            if (placement == null) {
-                throw new IllegalArgumentException("Placement is null.");
-            }
+            Utils.checkNull(placement, "placement");
 
             this.placement = placement;
 
@@ -144,7 +101,7 @@ public class ScrollPane extends Viewport
     private Component rowHeader;
     private Component columnHeader;
     private Component corner;
-    private ScrollPaneListenerList scrollPaneListeners = new ScrollPaneListenerList();
+    private ScrollPaneListener.List scrollPaneListeners = new ScrollPaneListener.List();
 
     public ScrollPane() {
         this(ScrollBarPolicy.AUTO, ScrollBarPolicy.AUTO);
@@ -154,13 +111,8 @@ public class ScrollPane extends Viewport
         ScrollBarPolicy verticalScrollBarPolicy) {
         super();
 
-        if (horizontalScrollBarPolicy == null) {
-            throw new IllegalArgumentException("horizontalScrollBarPolicy is null");
-        }
-
-        if (verticalScrollBarPolicy == null) {
-            throw new IllegalArgumentException("verticalScrollBarPolicy is null");
-        }
+        Utils.checkNull(horizontalScrollBarPolicy, "horizontalScrollBarPolicy");
+        Utils.checkNull(verticalScrollBarPolicy, "verticalScrollBarPolicy");
 
         this.horizontalScrollBarPolicy = horizontalScrollBarPolicy;
         this.verticalScrollBarPolicy = verticalScrollBarPolicy;
@@ -173,9 +125,7 @@ public class ScrollPane extends Viewport
     }
 
     public void setHorizontalScrollBarPolicy(ScrollBarPolicy horizontalScrollBarPolicy) {
-        if (horizontalScrollBarPolicy == null) {
-            throw new IllegalArgumentException("horizontalScrollBarPolicy is null");
-        }
+        Utils.checkNull(horizontalScrollBarPolicy, "horizontalScrollBarPolicy");
 
         ScrollBarPolicy previousHorizontalScrollBarPolicy = this.horizontalScrollBarPolicy;
 
@@ -191,9 +141,7 @@ public class ScrollPane extends Viewport
     }
 
     public void setVerticalScrollBarPolicy(ScrollBarPolicy verticalScrollBarPolicy) {
-        if (verticalScrollBarPolicy == null) {
-            throw new IllegalArgumentException("verticalScrollBarPolicy is null");
-        }
+        Utils.checkNull(verticalScrollBarPolicy, "verticalScrollBarPolicy");
 
         ScrollBarPolicy previousVerticalScrollBarPolicy = this.verticalScrollBarPolicy;
 

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/ScrollPaneListener.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/ScrollPaneListener.java?rev=1817267&r1=1817266&r2=1817267&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/ScrollPaneListener.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/ScrollPaneListener.java Wed Dec  6 06:05:38 2017
@@ -16,23 +16,28 @@
  */
 package org.apache.pivot.wtk;
 
+import org.apache.pivot.util.ListenerList;
+import org.apache.pivot.wtk.ScrollPane.ScrollBarPolicy;
+
+
 /**
  * Scroll pane listener interface.
  */
 public interface ScrollPaneListener {
     /**
-     * Scroll pane listener adapter.
+     * Scroll pane listener adapter: default implementation methods
+     * for this interface.
      */
     public static class Adapter implements ScrollPaneListener {
         @Override
         public void horizontalScrollBarPolicyChanged(ScrollPane scrollPane,
-            ScrollPane.ScrollBarPolicy previousPolicy) {
+            ScrollBarPolicy previousPolicy) {
             // empty block
         }
 
         @Override
         public void verticalScrollBarPolicyChanged(ScrollPane scrollPane,
-            ScrollPane.ScrollBarPolicy previousPolicy) {
+            ScrollBarPolicy previousPolicy) {
             // empty block
         }
 
@@ -53,13 +58,48 @@ public interface ScrollPaneListener {
     }
 
     /**
+     * Scroll pane listener list.
+     */
+    public static class List extends ListenerList<ScrollPaneListener>
+        implements ScrollPaneListener {
+
+        @Override
+        public void horizontalScrollBarPolicyChanged(ScrollPane scrollPane,
+            ScrollBarPolicy previousHorizontalScrollBarPolicy) {
+            forEach(listener -> listener.horizontalScrollBarPolicyChanged(scrollPane,
+                    previousHorizontalScrollBarPolicy));
+        }
+
+        @Override
+        public void verticalScrollBarPolicyChanged(ScrollPane scrollPane,
+            ScrollBarPolicy previousVerticalScrollBarPolicy) {
+            forEach(listener -> listener.verticalScrollBarPolicyChanged(scrollPane, previousVerticalScrollBarPolicy));
+        }
+
+        @Override
+        public void rowHeaderChanged(ScrollPane scrollPane, Component previousRowHeader) {
+            forEach(listener -> listener.rowHeaderChanged(scrollPane, previousRowHeader));
+        }
+
+        @Override
+        public void columnHeaderChanged(ScrollPane scrollPane, Component previousColumnHeader) {
+            forEach(listener -> listener.columnHeaderChanged(scrollPane, previousColumnHeader));
+        }
+
+        @Override
+        public void cornerChanged(ScrollPane scrollPane, Component previousCorner) {
+            forEach(listener -> listener.cornerChanged(scrollPane, previousCorner));
+        }
+    }
+
+    /**
      * Called when the scroll pane's horizontal scroll bar policy changed.
      *
      * @param scrollPane The source of the event.
      * @param previousPolicy The previous horizontal scroll bar policy.
      */
     public void horizontalScrollBarPolicyChanged(ScrollPane scrollPane,
-        ScrollPane.ScrollBarPolicy previousPolicy);
+        ScrollBarPolicy previousPolicy);
 
     /**
      * Called when the scroll pane's vertical scroll bar policy changed.
@@ -68,7 +108,7 @@ public interface ScrollPaneListener {
      * @param previousPolicy The previous vertical scroll bar policy.
      */
     public void verticalScrollBarPolicyChanged(ScrollPane scrollPane,
-        ScrollPane.ScrollBarPolicy previousPolicy);
+        ScrollBarPolicy previousPolicy);
 
     /**
      * Called when the scroll pane's row header changed.

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/ScrollPaneSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/ScrollPaneSkin.java?rev=1817267&r1=1817266&r2=1817267&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/ScrollPaneSkin.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/ScrollPaneSkin.java Wed Dec  6 06:05:38 2017
@@ -246,15 +246,11 @@ public class ScrollPaneSkin extends Cont
             }
 
             if (horizontalPolicy == ScrollBarPolicy.FILL) {
-                // Preferred height is the sum of the constrained preferred
-                // height
-                // of the view and the unconstrained preferred height of the
-                // column
-                // header
+                // Preferred height is the sum of the constrained preferred height
+                // of the view and the unconstrained preferred height of the column header
                 int widthUpdated = width;
                 if (widthUpdated >= 0) {
-                    // Subtract the unconstrained preferred width of the row
-                    // header
+                    // Subtract the unconstrained preferred width of the row header
                     // from the width constraint
                     widthUpdated = Math.max(widthUpdated - preferredRowHeaderWidth, 0);
                 }
@@ -663,14 +659,12 @@ public class ScrollPaneSkin extends Cont
             if (view != null) {
                 if (constrainWidth && constrainHeight) {
                     viewWidth = Math.max(width - rowHeaderWidth - verticalScrollBarWidth, 0);
-                    viewHeight = Math.max(height - columnHeaderHeight - horizontalScrollBarHeight,
-                        0);
+                    viewHeight = Math.max(height - columnHeaderHeight - horizontalScrollBarHeight, 0);
                 } else if (constrainWidth) {
                     viewWidth = Math.max(width - rowHeaderWidth - verticalScrollBarWidth, 0);
                     viewHeight = view.getPreferredHeight(viewWidth);
                 } else if (constrainHeight) {
-                    viewHeight = Math.max(height - columnHeaderHeight - horizontalScrollBarHeight,
-                        0);
+                    viewHeight = Math.max(height - columnHeaderHeight - horizontalScrollBarHeight, 0);
                     viewWidth = view.getPreferredWidth(viewHeight);
                 } else {
                     Dimensions viewPreferredSize = view.getPreferredSize();