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/08 19:37:28 UTC

svn commit: r1817549 - in /pivot/trunk: core/src/org/apache/pivot/json/ core/src/org/apache/pivot/util/ wtk-terra/src/org/apache/pivot/wtk/skin/terra/ wtk/src/org/apache/pivot/wtk/ wtk/src/org/apache/pivot/wtk/skin/

Author: rwhitcomb
Date: Fri Dec  8 19:37:27 2017
New Revision: 1817549

URL: http://svn.apache.org/viewvc?rev=1817549&view=rev
Log:
Explicitly add a "Sequence<?>" constructor for Insets, Bounds, Dimensions,
etc. (basically all the "wtk" classes where we updated the "decode" methods
to accept a JSON list).  So, update all these decode methods to use the
new constructor.  Then, add a "Sequence<?>" setter method for Insets (padding)
in all the places we had already cleaned up the padding code.

Also similarly fix up CalendarDate.Range and Time.Range.

Tidy up some comments in JSONSerializer.

Modified:
    pivot/trunk/core/src/org/apache/pivot/json/JSONSerializer.java
    pivot/trunk/core/src/org/apache/pivot/util/CalendarDate.java
    pivot/trunk/core/src/org/apache/pivot/util/Time.java
    pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraAccordionSkin.java
    pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraCalendarButtonSkin.java
    pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraColorChooserButtonSkin.java
    pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraExpanderSkin.java
    pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraListButtonSkin.java
    pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraMenuButtonSkin.java
    pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraPaletteSkin.java
    pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraPushButtonSkin.java
    pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraSheetSkin.java
    pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTabPaneSkin.java
    pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTextInputSkin.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/Bounds.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/CornerRadii.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/Dimensions.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/Insets.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/Limits.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/Point.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/Span.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/BorderSkin.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/BoxPaneSkin.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/LabelSkin.java

Modified: pivot/trunk/core/src/org/apache/pivot/json/JSONSerializer.java
URL: http://svn.apache.org/viewvc/pivot/trunk/core/src/org/apache/pivot/json/JSONSerializer.java?rev=1817549&r1=1817548&r2=1817549&view=diff
==============================================================================
--- pivot/trunk/core/src/org/apache/pivot/json/JSONSerializer.java (original)
+++ pivot/trunk/core/src/org/apache/pivot/json/JSONSerializer.java Fri Dec  8 19:37:27 2017
@@ -235,14 +235,20 @@ public class JSONSerializer implements S
 
     /**
      * Reads data from a JSON stream.
+     * <p> Processes macros at this level using {@link MacroReader}.
      *
      * @param reader The reader from which data will be read.
      * @return One of the following types, depending on the content of the stream
-     * and the value of {@link #getType()}: <ul>
-     * <li>pivot.collections.Dictionary</li> <li>pivot.collections.Sequence</li>
-     * <li>java.lang.String</li> <li>java.lang.Number</li>
-     * <li>java.lang.Boolean</li> <li><tt>null</tt></li> <li>A JavaBean
-     * object</li> </ul>
+     * and the value of {@link #getType()}:
+     * <ul>
+     * <li>pivot.collections.Dictionary</li>
+     * <li>pivot.collections.Sequence</li>
+     * <li>java.lang.String</li>
+     * <li>java.lang.Number</li>
+     * <li>java.lang.Boolean</li>
+     * <li><tt>null</tt></li>
+     * <li>A JavaBean object</li>
+     * </ul>
      * @throws IOException for any I/O related errors while reading.
      * @throws SerializationException for any formatting errors in the data.
      */
@@ -262,7 +268,7 @@ public class JSONSerializer implements S
         // Read the root value
         Object object;
         try {
-            object = readValue(macroReader, type, "<root>");
+            object = readValue(macroReader, type, type.getTypeName());
         } catch (SerializationException exception) {
             System.err.println("An error occurred while processing input at line number "
                 + (lineNumberReader.getLineNumber() + 1));
@@ -777,8 +783,7 @@ public class JSONSerializer implements S
             c = reader.read();
 
             if (valueType == null) {
-                // The map is a bean instance; get the generic type of the
-                // property
+                // The map is a bean instance; get the generic type of the property
                 Type genericValueType = ((BeanAdapter) dictionary).getGenericType(key);
 
                 if (genericValueType != null) {

Modified: pivot/trunk/core/src/org/apache/pivot/util/CalendarDate.java
URL: http://svn.apache.org/viewvc/pivot/trunk/core/src/org/apache/pivot/util/CalendarDate.java?rev=1817549&r1=1817548&r2=1817549&view=diff
==============================================================================
--- pivot/trunk/core/src/org/apache/pivot/util/CalendarDate.java (original)
+++ pivot/trunk/core/src/org/apache/pivot/util/CalendarDate.java Fri Dec  8 19:37:27 2017
@@ -28,6 +28,7 @@ import java.util.regex.Pattern;
 
 import org.apache.pivot.collections.Dictionary;
 import org.apache.pivot.collections.List;
+import org.apache.pivot.collections.Sequence;
 import org.apache.pivot.json.JSONSerializer;
 import org.apache.pivot.serialization.SerializationException;
 
@@ -101,6 +102,25 @@ public final class CalendarDate implemen
             }
         }
 
+        public Range(Sequence<?> range) {
+            Utils.checkNull(range, "range");
+
+            Object startRange = range.get(0);
+            Object endRange = range.get(1);
+
+            if (startRange instanceof String) {
+                this.start = CalendarDate.decode((String) startRange);
+            } else {
+                this.start = (CalendarDate) startRange;
+            }
+
+            if (endRange instanceof String) {
+                this.end = CalendarDate.decode((String) endRange);
+            } else {
+                this.end = (CalendarDate) endRange;
+            }
+        }
+
         public int getLength() {
             return Math.abs(this.start.subtract(this.end)) + 1;
         }
@@ -182,9 +202,7 @@ public final class CalendarDate implemen
                 }
             } else if (value.startsWith("[")) {
                 try {
-                    @SuppressWarnings("unchecked")
-                    List<String> values = (List<String>)JSONSerializer.parseList(value);
-                    range = new Range(values.get(0), values.get(1));
+                    range = new Range(JSONSerializer.parseList(value));
                 } catch (SerializationException exception) {
                     throw new IllegalArgumentException(exception);
                 }

Modified: pivot/trunk/core/src/org/apache/pivot/util/Time.java
URL: http://svn.apache.org/viewvc/pivot/trunk/core/src/org/apache/pivot/util/Time.java?rev=1817549&r1=1817548&r2=1817549&view=diff
==============================================================================
--- pivot/trunk/core/src/org/apache/pivot/util/Time.java (original)
+++ pivot/trunk/core/src/org/apache/pivot/util/Time.java Fri Dec  8 19:37:27 2017
@@ -26,6 +26,7 @@ import java.util.regex.Pattern;
 
 import org.apache.pivot.collections.Dictionary;
 import org.apache.pivot.collections.List;
+import org.apache.pivot.collections.Sequence;
 import org.apache.pivot.json.JSONSerializer;
 import org.apache.pivot.serialization.SerializationException;
 import org.apache.pivot.util.Utils;
@@ -98,6 +99,25 @@ public final class Time implements Compa
             }
         }
 
+        public Range(Sequence<?> range) {
+            Utils.checkNull(range, "range");
+
+            Object startRange = range.get(0);
+            Object endRange = range.get(1);
+
+            if (startRange instanceof String) {
+                this.start = Time.decode((String) startRange);
+            } else {
+                this.start = (Time) startRange;
+            }
+
+            if (endRange instanceof String) {
+                this.end = Time.decode((String) endRange);
+            } else {
+                this.end = (Time) endRange;
+            }
+        }
+
         public int getLength() {
             return Math.abs(this.start.subtract(this.end)) + 1;
         }
@@ -179,9 +199,7 @@ public final class Time implements Compa
                 }
             } else if (value.startsWith("[")) {
                 try {
-                    @SuppressWarnings("unchecked")
-                    List<String> values = (List<String>)JSONSerializer.parseList(value);
-                    range = new Range(values.get(0), values.get(1));
+                    range = new Range(JSONSerializer.parseList(value));
                 } catch (SerializationException exception) {
                     throw new IllegalArgumentException(exception);
                 }

Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraAccordionSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraAccordionSkin.java?rev=1817549&r1=1817548&r2=1817549&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraAccordionSkin.java (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraAccordionSkin.java Fri Dec  8 19:37:27 2017
@@ -588,6 +588,10 @@ public class TerraAccordionSkin extends
         setPadding(new Insets(padding));
     }
 
+    public final void setPadding(Sequence<?> padding) {
+        setPadding(new Insets(padding));
+    }
+
     public final void setPadding(int padding) {
         setPadding(new Insets(padding));
     }

Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraCalendarButtonSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraCalendarButtonSkin.java?rev=1817549&r1=1817548&r2=1817549&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraCalendarButtonSkin.java (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraCalendarButtonSkin.java Fri Dec  8 19:37:27 2017
@@ -28,6 +28,7 @@ import java.awt.geom.RoundRectangle2D;
 import java.util.Locale;
 
 import org.apache.pivot.collections.Dictionary;
+import org.apache.pivot.collections.Sequence;
 import org.apache.pivot.util.Utils;
 import org.apache.pivot.util.Vote;
 import org.apache.pivot.wtk.Border;
@@ -505,6 +506,10 @@ public class TerraCalendarButtonSkin ext
         setPadding(new Insets(padding));
     }
 
+    public final void setPadding(Sequence<?> padding) {
+        setPadding(new Insets(padding));
+    }
+
     public final void setPadding(int padding) {
         setPadding(new Insets(padding));
     }

Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraColorChooserButtonSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraColorChooserButtonSkin.java?rev=1817549&r1=1817548&r2=1817549&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraColorChooserButtonSkin.java (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraColorChooserButtonSkin.java Fri Dec  8 19:37:27 2017
@@ -27,6 +27,7 @@ import java.awt.geom.Path2D;
 import java.awt.geom.RoundRectangle2D;
 
 import org.apache.pivot.collections.Dictionary;
+import org.apache.pivot.collections.Sequence;
 import org.apache.pivot.util.Utils;
 import org.apache.pivot.util.Vote;
 import org.apache.pivot.wtk.Border;
@@ -476,6 +477,10 @@ public class TerraColorChooserButtonSkin
         setPadding(new Insets(padding));
     }
 
+    public final void setPadding(Sequence<?> padding) {
+        setPadding(new Insets(padding));
+    }
+
     public final void setPadding(int padding) {
         setPadding(new Insets(padding));
     }

Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraExpanderSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraExpanderSkin.java?rev=1817549&r1=1817548&r2=1817549&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraExpanderSkin.java (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraExpanderSkin.java Fri Dec  8 19:37:27 2017
@@ -24,6 +24,7 @@ import java.awt.Graphics2D;
 import java.awt.RenderingHints;
 
 import org.apache.pivot.collections.Dictionary;
+import org.apache.pivot.collections.Sequence;
 import org.apache.pivot.util.Utils;
 import org.apache.pivot.util.Vote;
 import org.apache.pivot.wtk.BoxPane;
@@ -602,6 +603,10 @@ public class TerraExpanderSkin extends E
         setPadding(new Insets(padding));
     }
 
+    public final void setPadding(Sequence<?> padding) {
+        setPadding(new Insets(padding));
+    }
+
     public final void setPadding(int padding) {
         setPadding(new Insets(padding));
     }

Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraListButtonSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraListButtonSkin.java?rev=1817549&r1=1817548&r2=1817549&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraListButtonSkin.java (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraListButtonSkin.java Fri Dec  8 19:37:27 2017
@@ -29,6 +29,7 @@ import java.awt.geom.RoundRectangle2D;
 
 import org.apache.pivot.collections.Dictionary;
 import org.apache.pivot.collections.List;
+import org.apache.pivot.collections.Sequence;
 import org.apache.pivot.util.Utils;
 import org.apache.pivot.util.Vote;
 import org.apache.pivot.wtk.ApplicationContext;
@@ -602,6 +603,10 @@ public class TerraListButtonSkin extends
         setPadding(new Insets(padding));
     }
 
+    public final void setPadding(Sequence<?> padding) {
+        setPadding(new Insets(padding));
+    }
+
     public final void setPadding(int padding) {
         setPadding(new Insets(padding));
     }

Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraMenuButtonSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraMenuButtonSkin.java?rev=1817549&r1=1817548&r2=1817549&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraMenuButtonSkin.java (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraMenuButtonSkin.java Fri Dec  8 19:37:27 2017
@@ -27,6 +27,7 @@ import java.awt.geom.Path2D;
 import java.awt.geom.RoundRectangle2D;
 
 import org.apache.pivot.collections.Dictionary;
+import org.apache.pivot.collections.Sequence;
 import org.apache.pivot.util.Utils;
 import org.apache.pivot.wtk.Bounds;
 import org.apache.pivot.wtk.Button;
@@ -499,14 +500,16 @@ public class TerraMenuButtonSkin extends
         setPadding(new Insets(padding));
     }
 
+    public final void setPadding(Sequence<?> padding) {
+        setPadding(new Insets(padding));
+    }
+
     public final void setPadding(int padding) {
         setPadding(new Insets(padding));
     }
 
     public final void setPadding(Number padding) {
-        Utils.checkNull(padding, "padding");
-
-        setPadding(padding.intValue());
+        setPadding(new Insets(padding));
     }
 
     public final void setPadding(String padding) {

Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraPaletteSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraPaletteSkin.java?rev=1817549&r1=1817548&r2=1817549&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraPaletteSkin.java (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraPaletteSkin.java Fri Dec  8 19:37:27 2017
@@ -25,6 +25,7 @@ import java.awt.RenderingHints;
 import java.awt.geom.Line2D;
 
 import org.apache.pivot.collections.Dictionary;
+import org.apache.pivot.collections.Sequence;
 import org.apache.pivot.util.Utils;
 import org.apache.pivot.wtk.Bounds;
 import org.apache.pivot.wtk.BoxPane;
@@ -430,6 +431,10 @@ public class TerraPaletteSkin extends Wi
         setPadding(new Insets(padding));
     }
 
+    public final void setPadding(Sequence<?> padding) {
+        setPadding(new Insets(padding));
+    }
+
     public final void setPadding(int padding) {
         setPadding(new Insets(padding));
     }

Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraPushButtonSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraPushButtonSkin.java?rev=1817549&r1=1817548&r2=1817549&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraPushButtonSkin.java (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraPushButtonSkin.java Fri Dec  8 19:37:27 2017
@@ -25,6 +25,7 @@ import java.awt.RenderingHints;
 import java.awt.geom.RoundRectangle2D;
 
 import org.apache.pivot.collections.Dictionary;
+import org.apache.pivot.collections.Sequence;
 import org.apache.pivot.util.Utils;
 import org.apache.pivot.wtk.Button;
 import org.apache.pivot.wtk.Component;
@@ -428,6 +429,10 @@ public class TerraPushButtonSkin extends
         setPadding(new Insets(padding));
     }
 
+    public final void setPadding(Sequence<?> padding) {
+        setPadding(new Insets(padding));
+    }
+
     public final void setPadding(int padding) {
         setPadding(new Insets(padding));
     }

Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraSheetSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraSheetSkin.java?rev=1817549&r1=1817548&r2=1817549&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraSheetSkin.java (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraSheetSkin.java Fri Dec  8 19:37:27 2017
@@ -21,6 +21,7 @@ import java.awt.Graphics2D;
 import java.awt.Toolkit;
 
 import org.apache.pivot.collections.Dictionary;
+import org.apache.pivot.collections.Sequence;
 import org.apache.pivot.util.Utils;
 import org.apache.pivot.util.Vote;
 import org.apache.pivot.wtk.Bounds;
@@ -545,6 +546,10 @@ public class TerraSheetSkin extends Wind
         setPadding(new Insets(padding));
     }
 
+    public final void setPadding(Sequence<?> padding) {
+        setPadding(new Insets(padding));
+    }
+
     public final void setPadding(int padding) {
         setPadding(new Insets(padding));
     }

Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTabPaneSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTabPaneSkin.java?rev=1817549&r1=1817548&r2=1817549&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTabPaneSkin.java (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTabPaneSkin.java Fri Dec  8 19:37:27 2017
@@ -1248,14 +1248,16 @@ public class TerraTabPaneSkin extends Ta
         setPadding(new Insets(padding));
     }
 
+    public final void setPadding(Sequence<?> padding) {
+        setPadding(new Insets(padding));
+    }
+
     public final void setPadding(int padding) {
         setPadding(new Insets(padding));
     }
 
     public final void setPadding(Number padding) {
-        Utils.checkNull(padding, "padding");
-
-        setPadding(padding.intValue());
+        setPadding(new Insets(padding));
     }
 
     public final void setPadding(String padding) {

Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTextInputSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTextInputSkin.java?rev=1817549&r1=1817548&r2=1817549&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTextInputSkin.java (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraTextInputSkin.java Fri Dec  8 19:37:27 2017
@@ -34,6 +34,7 @@ import java.awt.geom.Rectangle2D;
 import java.text.AttributedCharacterIterator;
 
 import org.apache.pivot.collections.Dictionary;
+import org.apache.pivot.collections.Sequence;
 import org.apache.pivot.text.AttributedStringCharacterIterator;
 import org.apache.pivot.text.CompositeIterator;
 import org.apache.pivot.util.StringUtils;
@@ -1017,6 +1018,10 @@ public class TerraTextInputSkin extends
         setPadding(new Insets(padding));
     }
 
+    public final void setPadding(Sequence<?> padding) {
+        setPadding(new Insets(padding));
+    }
+
     public final void setPadding(int padding) {
         setPadding(new Insets(padding));
     }

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/Bounds.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/Bounds.java?rev=1817549&r1=1817548&r2=1817549&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/Bounds.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/Bounds.java Fri Dec  8 19:37:27 2017
@@ -20,6 +20,7 @@ import java.io.Serializable;
 
 import org.apache.pivot.collections.Dictionary;
 import org.apache.pivot.collections.List;
+import org.apache.pivot.collections.Sequence;
 import org.apache.pivot.json.JSONSerializer;
 import org.apache.pivot.serialization.SerializationException;
 import org.apache.pivot.util.Utils;
@@ -118,6 +119,15 @@ public final class Bounds implements Ser
         height = bounds.getInt(HEIGHT_KEY);
     }
 
+    public Bounds(Sequence<?> bounds) {
+        Utils.checkNull(bounds, "bounds");
+
+        x = ((Number)bounds.get(0)).intValue();
+        y = ((Number)bounds.get(1)).intValue();
+        width = ((Number)bounds.get(2)).intValue();
+        height = ((Number)bounds.get(3)).intValue();
+    }
+
     /**
      * Convert a {@link java.awt.Rectangle} to one of our bounds objects.
      * @param rectangle The existing rectangle to convert (cannot
@@ -428,9 +438,7 @@ public final class Bounds implements Ser
             }
         } else if (boundsValue.startsWith("[")) {
             try {
-                @SuppressWarnings("unchecked")
-                List<Integer> values = (List<Integer>)JSONSerializer.parseList(boundsValue);
-                bounds = new Bounds(values.get(0), values.get(1), values.get(2), values.get(3));
+                bounds = new Bounds(JSONSerializer.parseList(boundsValue));
             } catch (SerializationException exception) {
                 throw new IllegalArgumentException(exception);
             }

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/CornerRadii.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/CornerRadii.java?rev=1817549&r1=1817548&r2=1817549&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/CornerRadii.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/CornerRadii.java Fri Dec  8 19:37:27 2017
@@ -20,6 +20,7 @@ import java.io.Serializable;
 
 import org.apache.pivot.collections.Dictionary;
 import org.apache.pivot.collections.List;
+import org.apache.pivot.collections.Sequence;
 import org.apache.pivot.json.JSONSerializer;
 import org.apache.pivot.serialization.SerializationException;
 import org.apache.pivot.util.Utils;
@@ -111,6 +112,17 @@ public final class CornerRadii implement
         check(this);
     }
 
+    public CornerRadii(Sequence<?> cornerRadii) {
+        Utils.checkNull(cornerRadii, "cornerRadii");
+
+        topLeft = ((Number)cornerRadii.get(0)).intValue();
+        topRight = ((Number)cornerRadii.get(1)).intValue();
+        bottomLeft = ((Number)cornerRadii.get(2)).intValue();
+        bottomRight = ((Number)cornerRadii.get(3)).intValue();
+
+        check(this);
+    }
+
     @Override
     public boolean equals(Object object) {
         boolean equals = false;
@@ -175,9 +187,7 @@ public final class CornerRadii implement
             }
         } else if (value.startsWith("[")) {
             try {
-                @SuppressWarnings("unchecked")
-                List<Integer> values = (List<Integer>)JSONSerializer.parseList(value);
-                cornerRadii = new CornerRadii(values.get(0), values.get(1), values.get(2), values.get(3));
+                cornerRadii = new CornerRadii(JSONSerializer.parseList(value));
             } catch (SerializationException exception) {
                 throw new IllegalArgumentException(exception);
             }
@@ -202,4 +212,5 @@ public final class CornerRadii implement
 
         return cornerRadii;
     }
+
 }

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/Dimensions.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/Dimensions.java?rev=1817549&r1=1817548&r2=1817549&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/Dimensions.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/Dimensions.java Fri Dec  8 19:37:27 2017
@@ -20,6 +20,7 @@ import java.io.Serializable;
 
 import org.apache.pivot.collections.Dictionary;
 import org.apache.pivot.collections.List;
+import org.apache.pivot.collections.Sequence;
 import org.apache.pivot.json.JSONSerializer;
 import org.apache.pivot.serialization.SerializationException;
 import org.apache.pivot.util.Utils;
@@ -67,6 +68,13 @@ public final class Dimensions implements
         height = dimensions.getInt(HEIGHT_KEY, 0);
     }
 
+    public Dimensions(Sequence<?> dimensions) {
+        Utils.checkNull(dimensions, "dimensions");
+
+        width = ((Number)dimensions.get(0)).intValue();
+        height = ((Number)dimensions.get(1)).intValue();
+    }
+
     /**
      * Expand this dimensions by the given amount (positive or
      * negative) in both width and height directions.
@@ -150,9 +158,7 @@ public final class Dimensions implements
             }
         } else if (value.startsWith("[")) {
             try {
-                @SuppressWarnings("unchecked")
-                List<Integer> values = (List<Integer>)JSONSerializer.parseList(value);
-                dimensions = new Dimensions(values.get(0), values.get(1));
+                dimensions = new Dimensions(JSONSerializer.parseList(value));
             } catch (SerializationException exception) {
                 throw new IllegalArgumentException(exception);
             }

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/Insets.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/Insets.java?rev=1817549&r1=1817548&r2=1817549&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/Insets.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/Insets.java Fri Dec  8 19:37:27 2017
@@ -20,6 +20,7 @@ import java.io.Serializable;
 
 import org.apache.pivot.collections.Dictionary;
 import org.apache.pivot.collections.List;
+import org.apache.pivot.collections.Sequence;
 import org.apache.pivot.json.JSONSerializer;
 import org.apache.pivot.serialization.SerializationException;
 import org.apache.pivot.util.Utils;
@@ -123,7 +124,15 @@ public final class Insets implements Ser
         this.left = insets.getInt(LEFT_KEY);
         this.bottom = insets.getInt(BOTTOM_KEY);
         this.right = insets.getInt(RIGHT_KEY);
+    }
+
+    public Insets(Sequence<?> insets) {
+        Utils.checkNull(insets, "padding/margin");
 
+        this.top = ((Number)insets.get(0)).intValue();
+        this.left = ((Number)insets.get(1)).intValue();
+        this.bottom = ((Number)insets.get(2)).intValue();
+        this.right = ((Number)insets.get(3)).intValue();
     }
 
     /**
@@ -214,9 +223,7 @@ public final class Insets implements Ser
             }
         } else if (value.startsWith("[")) {
             try {
-                @SuppressWarnings("unchecked")
-                List<Integer> values = (List<Integer>)JSONSerializer.parseList(value);
-                insets = new Insets(values.get(0), values.get(1), values.get(2), values.get(3));
+                insets = new Insets(JSONSerializer.parseList(value));
             } catch (SerializationException exception) {
                 throw new IllegalArgumentException(exception);
             }

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/Limits.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/Limits.java?rev=1817549&r1=1817548&r2=1817549&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/Limits.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/Limits.java Fri Dec  8 19:37:27 2017
@@ -20,6 +20,7 @@ import java.io.Serializable;
 
 import org.apache.pivot.collections.Dictionary;
 import org.apache.pivot.collections.List;
+import org.apache.pivot.collections.Sequence;
 import org.apache.pivot.json.JSONSerializer;
 import org.apache.pivot.serialization.SerializationException;
 import org.apache.pivot.util.Utils;
@@ -78,7 +79,7 @@ public final class Limits implements Ser
      * {@link #MAXIMUM_KEY}.  Missing minimum value will set {@link Integer#MIN_VALUE}
      * as the min, and missing maximum will set {@link Integer#MAX_VALUE} as the max.
      *
-     * @param limits The JSON-formatted dictionary containing the desired limits values.
+     * @param limits The map/dictionary containing the desired limits values.
      * @throws IllegalArgumentException if the min is greater than the max.
      */
     public Limits(Dictionary<String, ?> limits) {
@@ -92,6 +93,17 @@ public final class Limits implements Ser
         }
     }
 
+    public Limits(Sequence<?> limits) {
+        Utils.checkNull(limits, "limits");
+
+        minimum = ((Number)limits.get(0)).intValue();
+        maximum = ((Number)limits.get(1)).intValue();
+
+        if (minimum > maximum) {
+            throw new IllegalArgumentException("minimum is greater than maximum.");
+        }
+    }
+
     /**
      * @return The range of this limits, that is, the maximum less the minimum
      * plus one (since the limits are inclusive). Returns a long value because
@@ -203,9 +215,7 @@ public final class Limits implements Ser
             }
         } else if (value.startsWith("[")) {
             try {
-                @SuppressWarnings("unchecked")
-                List<Integer> values = (List<Integer>)JSONSerializer.parseList(value);
-                limits = new Limits(values.get(0), values.get(1));
+                limits = new Limits(JSONSerializer.parseList(value));
             } catch (SerializationException exception) {
                 throw new IllegalArgumentException(exception);
             }

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/Point.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/Point.java?rev=1817549&r1=1817548&r2=1817549&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/Point.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/Point.java Fri Dec  8 19:37:27 2017
@@ -20,6 +20,7 @@ import java.io.Serializable;
 
 import org.apache.pivot.collections.Dictionary;
 import org.apache.pivot.collections.List;
+import org.apache.pivot.collections.Sequence;
 import org.apache.pivot.json.JSONSerializer;
 import org.apache.pivot.serialization.SerializationException;
 import org.apache.pivot.util.Utils;
@@ -58,6 +59,13 @@ public final class Point implements Seri
         this.y = point.getInt(Y_KEY);
     }
 
+    public Point(Sequence<?> point) {
+        Utils.checkNull(point, "point");
+
+        this.x = ((Number)point.get(0)).intValue();
+        this.y = ((Number)point.get(1)).intValue();
+    }
+
     /**
      * Return a new <tt>Point</tt> object which represents
      * this point moved to a new location, <tt>dx</tt> and
@@ -124,9 +132,7 @@ public final class Point implements Seri
             }
         } else if (value.startsWith("[")) {
             try {
-                @SuppressWarnings("unchecked")
-                List<Integer> values = (List<Integer>)JSONSerializer.parseList(value);
-                point = new Point(values.get(0), values.get(1));
+                point = new Point(JSONSerializer.parseList(value));
             } catch (SerializationException exception) {
                 throw new IllegalArgumentException(exception);
             }

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/Span.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/Span.java?rev=1817549&r1=1817548&r2=1817549&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/Span.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/Span.java Fri Dec  8 19:37:27 2017
@@ -18,6 +18,7 @@ package org.apache.pivot.wtk;
 
 import org.apache.pivot.collections.Dictionary;
 import org.apache.pivot.collections.List;
+import org.apache.pivot.collections.Sequence;
 import org.apache.pivot.json.JSONSerializer;
 import org.apache.pivot.serialization.SerializationException;
 import org.apache.pivot.util.Utils;
@@ -91,6 +92,13 @@ public final class Span {
         end = span.getInt(END_KEY);
     }
 
+    public Span(Sequence<?> span) {
+        Utils.checkNull(span, "span");
+
+        start = ((Number)span.get(0)).intValue();
+        end = ((Number)span.get(1)).intValue();
+    }
+
     /**
      * Returns the length of the span.
      *
@@ -347,9 +355,7 @@ public final class Span {
             }
         } else if (value.startsWith("[")) {
             try {
-                @SuppressWarnings("unchecked")
-                List<Integer> values = (List<Integer>)JSONSerializer.parseList(value);
-                span = new Span(values.get(0), values.get(1));
+                span = new Span(JSONSerializer.parseList(value));
             } catch (SerializationException exception) {
                 throw new IllegalArgumentException(exception);
             }

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/BorderSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/BorderSkin.java?rev=1817549&r1=1817548&r2=1817549&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/BorderSkin.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/BorderSkin.java Fri Dec  8 19:37:27 2017
@@ -29,6 +29,7 @@ import java.awt.geom.Rectangle2D;
 import java.awt.geom.RoundRectangle2D;
 
 import org.apache.pivot.collections.Dictionary;
+import org.apache.pivot.collections.Sequence;
 import org.apache.pivot.util.Utils;
 import org.apache.pivot.wtk.Border;
 import org.apache.pivot.wtk.BorderListener;
@@ -409,13 +410,24 @@ public class BorderSkin extends Containe
      * Sets the amount of space to leave between the edge of the Border and its
      * content.
      *
-     * @param padding A dictionary with keys in the set {left, top, bottom,
+     * @param padding A dictionary with keys in the set {top, left, bottom,
      * right}.
      */
     public final void setPadding(Dictionary<String, ?> padding) {
         setPadding(new Insets(padding));
     }
 
+    /**
+     * Sets the amount of space to leave between the edge of the Border and its
+     * content.
+     *
+     * @param padding A sequence with values in the order [top, left, bottom,
+     * right].
+     */
+    public final void setPadding(Sequence<?> padding) {
+        setPadding(new Insets(padding));
+    }
+
     /**
      * Sets the amount of space to leave between the edge of the Border and its
      * content, uniformly on all four edges.

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/BoxPaneSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/BoxPaneSkin.java?rev=1817549&r1=1817548&r2=1817549&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/BoxPaneSkin.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/BoxPaneSkin.java Fri Dec  8 19:37:27 2017
@@ -17,6 +17,7 @@
 package org.apache.pivot.wtk.skin;
 
 import org.apache.pivot.collections.Dictionary;
+import org.apache.pivot.collections.Sequence;
 import org.apache.pivot.util.Utils;
 import org.apache.pivot.wtk.BoxPane;
 import org.apache.pivot.wtk.BoxPaneListener;
@@ -560,13 +561,24 @@ public class BoxPaneSkin extends Contain
      * Sets the amount of space to leave between the edge of the BoxPane and its
      * components.
      *
-     * @param padding A dictionary with keys in the set {left, top, bottom,
+     * @param padding A dictionary with keys in the set {top, left, bottom,
      * right}.
      */
     public final void setPadding(Dictionary<String, ?> padding) {
         setPadding(new Insets(padding));
     }
 
+    /**
+     * Sets the amount of space to leave between the edge of the BoxPane and its
+     * components.
+     *
+     * @param padding A sequence with values in the order [top, left, bottom,
+     * right].
+     */
+    public final void setPadding(Sequence<?> padding) {
+        setPadding(new Insets(padding));
+    }
+
     /**
      * Sets the amount of space to leave between the edge of the BoxPane and its
      * components, uniformly on all four edges.

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/LabelSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/LabelSkin.java?rev=1817549&r1=1817548&r2=1817549&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/LabelSkin.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/skin/LabelSkin.java Fri Dec  8 19:37:27 2017
@@ -31,6 +31,7 @@ import java.text.StringCharacterIterator
 
 import org.apache.pivot.collections.ArrayList;
 import org.apache.pivot.collections.Dictionary;
+import org.apache.pivot.collections.Sequence;
 import org.apache.pivot.util.Utils;
 import org.apache.pivot.wtk.Component;
 import org.apache.pivot.wtk.Dimensions;
@@ -640,12 +641,21 @@ public class LabelSkin extends Component
      * Sets the amount of space to leave between the edge of the Label and its
      * text.
      *
-     * @param padding A dictionary with keys in the set {left, top, bottom,
+     * @param padding A dictionary with keys in the set {top, left, bottom,
      * right}.
      */
     public final void setPadding(Dictionary<String, ?> padding) {
-        Utils.checkNull(padding, "padding");
+        setPadding(new Insets(padding));
+    }
 
+    /**
+     * Sets the amount of space to leave between the edge of the Label and its
+     * text.
+     *
+     * @param padding A sequence with values in the order [top, left, bottom,
+     * right].
+     */
+    public final void setPadding(Sequence<?> padding) {
         setPadding(new Insets(padding));
     }
 
@@ -666,9 +676,7 @@ public class LabelSkin extends Component
      * @param padding The new (integer) padding value to use for all edges.
      */
     public final void setPadding(Number padding) {
-        Utils.checkNull(padding, "padding");
-
-        setPadding(padding.intValue());
+        setPadding(new Insets(padding));
     }
 
     /**
@@ -679,8 +687,6 @@ public class LabelSkin extends Component
      * keys left, top, bottom, and/or right.
      */
     public final void setPadding(String padding) {
-        Utils.checkNull(padding, "padding");
-
         setPadding(Insets.decode(padding));
     }