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/01/20 00:38:27 UTC

svn commit: r901003 - /pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraFormSkin.java

Author: gbrown
Date: Tue Jan 19 23:38:27 2010
New Revision: 901003

URL: http://svn.apache.org/viewvc?rev=901003&view=rev
Log:
Minor updates to TerraFormSkin (to prepare for further updates to flag presentation).

Modified:
    pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraFormSkin.java

Modified: pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraFormSkin.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraFormSkin.java?rev=901003&r1=901002&r2=901003&view=diff
==============================================================================
--- pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraFormSkin.java (original)
+++ pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraFormSkin.java Tue Jan 19 23:38:27 2010
@@ -16,7 +16,10 @@
  */
 package org.apache.pivot.wtk.skin.terra;
 
+import java.awt.Graphics2D;
+
 import org.apache.pivot.collections.ArrayList;
+import org.apache.pivot.collections.Dictionary;
 import org.apache.pivot.collections.Sequence;
 import org.apache.pivot.wtk.Component;
 import org.apache.pivot.wtk.Dimensions;
@@ -24,6 +27,7 @@
 import org.apache.pivot.wtk.FormAttributeListener;
 import org.apache.pivot.wtk.FormListener;
 import org.apache.pivot.wtk.ImageView;
+import org.apache.pivot.wtk.Insets;
 import org.apache.pivot.wtk.Label;
 import org.apache.pivot.wtk.MessageType;
 import org.apache.pivot.wtk.Separator;
@@ -40,13 +44,14 @@
     private ArrayList<ArrayList<Label>> labels = new ArrayList<ArrayList<Label>>();
     private ArrayList<ArrayList<ImageView>> flagImageViews = new ArrayList<ArrayList<ImageView>>();
 
-    // Make the field fill the width of the form
-    private boolean fill = false;
+    private Insets padding = new Insets(4);
     private int horizontalSpacing = 6;
     private int verticalSpacing = 6;
     private int flagImageOffset = 4;
     private boolean showFirstSectionHeading = false;
-
+    private boolean showFlagMessagesInline = false;
+    private boolean fill = false;
+    private boolean leftAlignLabels = false;
     private String delimiter = DEFAULT_DELIMITER;
 
     private static final int FLAG_IMAGE_SIZE = 16;
@@ -68,6 +73,9 @@
 
     @Override
     public int getPreferredWidth(int height) {
+        // TODO Respect padding
+        // TODO Respect showFlagMessagesInline
+
         int preferredWidth = 0;
 
         // Preferred width is maximum of either the sum of the maximum label
@@ -113,6 +121,9 @@
 
     @Override
     public int getPreferredHeight(int width) {
+        // TODO Respect padding
+        // TODO Respect showFlagMessagesInline
+
         int preferredHeight = 0;
 
         Form form = (Form)getComponent();
@@ -215,6 +226,9 @@
 
     @Override
     public int getBaseline(int width, int height) {
+        // TODO Respect padding
+        // TODO Respect showFlagMessagesInline
+
         Form form = (Form)getComponent();
         Form.SectionSequence sections = form.getSections();
 
@@ -306,6 +320,9 @@
 
     @Override
     public void layout() {
+        // TODO Respect padding
+        // TODO Respect showFlagMessagesInline
+
         Form form = (Form)getComponent();
         Form.SectionSequence sections = form.getSections();
 
@@ -395,7 +412,7 @@
                     int rowHeight = Math.max(baseline + Math.max(labelDescent, fieldDescent), FLAG_IMAGE_SIZE);
 
                     // Align the label and field to baseline
-                    int labelX = maximumLabelWidth - label.getWidth();
+                    int labelX = leftAlignLabels ? 0 : maximumLabelWidth - label.getWidth();
                     int labelY = rowY + (baseline - labelAscent);
                     label.setLocation(labelX, labelY);
 
@@ -419,15 +436,54 @@
         }
     }
 
-    public boolean getFill() {
-        return fill;
+    @Override
+    public void paint(Graphics2D graphics) {
+        super.paint(graphics);
+
+        // TODO
     }
 
-    public void setFill(boolean fill) {
-        this.fill = fill;
+    public Insets getPadding() {
+        return padding;
+    }
+
+    public void setPadding(Insets padding) {
+        if (padding == null) {
+            throw new IllegalArgumentException("padding is null.");
+        }
+
+        this.padding = padding;
         invalidateComponent();
     }
 
+    public final void setPadding(Dictionary<String, ?> padding) {
+        if (padding == null) {
+            throw new IllegalArgumentException("padding is null.");
+        }
+
+        setPadding(new Insets(padding));
+    }
+
+    public final void setPadding(int padding) {
+        setPadding(new Insets(padding));
+    }
+
+    public final void setPadding(Number padding) {
+        if (padding == null) {
+            throw new IllegalArgumentException("padding is null.");
+        }
+
+        setPadding(padding.intValue());
+    }
+
+    public final void setPadding(String padding) {
+        if (padding == null) {
+            throw new IllegalArgumentException("padding is null.");
+        }
+
+        setPadding(Insets.decode(padding));
+    }
+
     public int getHorizontalSpacing() {
         return horizontalSpacing;
     }
@@ -485,7 +541,7 @@
         setFlagImageOffset(flagImageOffset.intValue());
     }
 
-    public boolean isShowFirstSectionHeading() {
+    public boolean getShowFirstSectionHeading() {
         return showFirstSectionHeading;
     }
 
@@ -494,6 +550,33 @@
         invalidateComponent();
     }
 
+    public boolean getShowFlagMessagesInline() {
+        return showFlagMessagesInline;
+    }
+
+    public void setShowFlagMessagesInline(boolean showFlagMessagesInline) {
+        this.showFlagMessagesInline = showFlagMessagesInline;
+        invalidateComponent();
+    }
+
+    public boolean getFill() {
+        return fill;
+    }
+
+    public void setFill(boolean fill) {
+        this.fill = fill;
+        invalidateComponent();
+    }
+
+    public boolean getLeftAlignLabels() {
+        return leftAlignLabels;
+    }
+
+    public void setLeftAlignLabels(boolean leftAlignLabels) {
+        this.leftAlignLabels = leftAlignLabels;
+        invalidateComponent();
+    }
+
     public String getDelimiter() {
         return delimiter;
     }
@@ -555,7 +638,7 @@
 
     @Override
     public void requiredChanged(Form form, Component field) {
-        // TODO
+        // No-op
     }
 
     @Override