Author: gbrown
Date: Tue Mar  2 13:49:50 2010
New Revision: 918036

URL: http://svn.apache.org/viewvc?rev=918036&view=rev
Log:
Fixes to TerraFormSkin and ListButton/ListView/Spinner binding.

Modified:
    pivot/trunk/wtk-terra/src/org/apache/pivot/wtk/skin/terra/TerraFormSkin.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/Label.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/ListButton.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/ListView.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/Spinner.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=918036&r1=918035&r2=918036&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 Mar  2 13:49:50 2010
@@ -121,70 +121,72 @@
                         fieldIndex < fieldCount; fieldIndex++) {
                         Component field = section.get(fieldIndex);
 
-                        Form.Flag flag = Form.getFlag(field);
-
-                        if (flag != null) {
-                            String message = flag.getMessage();
-                            MessageType messageType = flag.getMessageType();
-                            Color messageColor = null;
-                            Color messageBackgroundColor = null;
-
-                            switch (messageType) {
-                                case ERROR: {
-                                    messageColor = errorMessageColor;
-                                    messageBackgroundColor = 
errorMessageBackgroundColor;
-                                    break;
-                                }
+                        if (field.isVisible()) {
+                            Form.Flag flag = Form.getFlag(field);
 
-                                case WARNING: {
-                                    messageColor = warningMessageColor;
-                                    messageBackgroundColor = 
warningMessageBackgroundColor;
-                                    break;
+                            if (flag != null) {
+                                String message = flag.getMessage();
+                                MessageType messageType = 
flag.getMessageType();
+                                Color messageColor = null;
+                                Color messageBackgroundColor = null;
+
+                                switch (messageType) {
+                                    case ERROR: {
+                                        messageColor = errorMessageColor;
+                                        messageBackgroundColor = 
errorMessageBackgroundColor;
+                                        break;
+                                    }
+
+                                    case WARNING: {
+                                        messageColor = warningMessageColor;
+                                        messageBackgroundColor = 
warningMessageBackgroundColor;
+                                        break;
+                                    }
+
+                                    case QUESTION: {
+                                        messageColor = questionMessageColor;
+                                        messageBackgroundColor = 
questionMessageBackgroundColor;
+                                        break;
+                                    }
+
+                                    case INFO: {
+                                        messageColor = infoMessageColor;
+                                        messageBackgroundColor = 
infoMessageBackgroundColor;
+                                        break;
+                                    }
                                 }
 
-                                case QUESTION: {
-                                    messageColor = questionMessageColor;
-                                    messageBackgroundColor = 
questionMessageBackgroundColor;
-                                    break;
-                                }
-
-                                case INFO: {
-                                    messageColor = infoMessageColor;
-                                    messageBackgroundColor = 
infoMessageBackgroundColor;
-                                    break;
-                                }
-                            }
-
-                            // Draw the label
-                            flagMessageLabel.setText(message);
-                            
flagMessageLabel.setSize(flagMessageLabel.getPreferredSize());
-                            flagMessageLabel.validate();
-                            flagMessageLabel.getStyles().put("color", 
messageColor);
-                            
flagMessageLabel.getStyles().put("backgroundColor", messageBackgroundColor);
-
-                            int flagMessageX = field.getX() + field.getWidth()
-                                + INLINE_FIELD_INDICATOR_WIDTH - 2;
-                            int flagMessageY = field.getY() - 
field.getBaseline()
-                                + flagMessageLabel.getBaseline();
-
-                            graphics.translate(flagMessageX, flagMessageY);
-                            flagMessageLabel.paint(graphics);
-
-                            // Draw the arrow
-                            GeneralPath arrow = new 
GeneralPath(GeneralPath.WIND_EVEN_ODD);
-                            arrow.moveTo(0, 0);
-                            arrow.lineTo(-INLINE_FIELD_INDICATOR_WIDTH, 
(float)flagMessageLabel.getHeight() / 2);
-                            arrow.lineTo(0, flagMessageLabel.getHeight());
-                            arrow.closePath();
+                                // Draw the label
+                                flagMessageLabel.setText(message);
+                                
flagMessageLabel.setSize(flagMessageLabel.getPreferredSize());
+                                flagMessageLabel.validate();
+                                flagMessageLabel.getStyles().put("color", 
messageColor);
+                                
flagMessageLabel.getStyles().put("backgroundColor", messageBackgroundColor);
+
+                                int flagMessageX = field.getX() + 
field.getWidth()
+                                    + INLINE_FIELD_INDICATOR_WIDTH - 2;
+                                int flagMessageY = field.getY() - 
field.getBaseline()
+                                    + flagMessageLabel.getBaseline();
+
+                                graphics.translate(flagMessageX, flagMessageY);
+                                flagMessageLabel.paint(graphics);
+
+                                // Draw the arrow
+                                GeneralPath arrow = new 
GeneralPath(GeneralPath.WIND_EVEN_ODD);
+                                arrow.moveTo(0, 0);
+                                arrow.lineTo(-INLINE_FIELD_INDICATOR_WIDTH, 
(float)flagMessageLabel.getHeight() / 2);
+                                arrow.lineTo(0, flagMessageLabel.getHeight());
+                                arrow.closePath();
 
-                            
graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
-                                RenderingHints.VALUE_ANTIALIAS_ON);
+                                
graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
+                                    RenderingHints.VALUE_ANTIALIAS_ON);
 
-                            graphics.setColor(messageBackgroundColor);
-                            graphics.fill(arrow);
+                                graphics.setColor(messageBackgroundColor);
+                                graphics.fill(arrow);
 
-                            // Restore the graphics context
-                            graphics.translate(-flagMessageX, -flagMessageY);
+                                // Restore the graphics context
+                                graphics.translate(-flagMessageX, 
-flagMessageY);
+                            }
                         }
                     }
                 }

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/Label.java
URL: 
http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/Label.java?rev=918036&r1=918035&r2=918036&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/Label.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/Label.java Tue Mar  2 13:49:50 2010
@@ -139,9 +139,10 @@
             && JSONSerializer.containsKey(context, textKey)) {
             Object value = JSONSerializer.get(context, textKey);
 
-            if (textBindMapping == null
-                && value != null) {
-                value = value.toString();
+            if (textBindMapping == null) {
+                if (value != null) {
+                    value = value.toString();
+                }
             } else {
                 value = textBindMapping.toString(value);
             }

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/ListButton.java
URL: 
http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/ListButton.java?rev=918036&r1=918035&r2=918036&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/ListButton.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/ListButton.java Tue Mar  2 
13:49:50 2010
@@ -366,13 +366,15 @@
     public void store(Dictionary<String, ?> context) {
         if (isEnabled()
             && selectedItemKey != null) {
-            int selectedIndex = getSelectedIndex();
-
             Object item;
-            if (selectedItemBindMapping == null) {
-                item = listData.get(selectedIndex);
+            if (selectedIndex == -1) {
+                item = null;
             } else {
-                item = selectedItemBindMapping.get(listData, selectedIndex);
+                if (selectedItemBindMapping == null) {
+                    item = listData.get(selectedIndex);
+                } else {
+                    item = selectedItemBindMapping.get(listData, 
selectedIndex);
+                }
             }
 
             JSONSerializer.put(context, selectedItemKey, item);

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=918036&r1=918035&r2=918036&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/ListView.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/ListView.java Tue Mar  2 13:49:50 
2010
@@ -1530,13 +1530,17 @@
     public void store(Dictionary<String, ?> context) {
         if (isEnabled()) {
             if (selectedItemKey != null) {
-                int selectedIndex = getSelectedIndex();
-
                 Object item;
-                if (selectedItemBindMapping == null) {
-                    item = listData.get(selectedIndex);
+
+                int selectedIndex = getSelectedIndex();
+                if (selectedIndex == -1) {
+                    item = null;
                 } else {
-                    item = selectedItemBindMapping.get(listData, 
selectedIndex);
+                    if (selectedItemBindMapping == null) {
+                        item = listData.get(selectedIndex);
+                    } else {
+                        item = selectedItemBindMapping.get(listData, 
selectedIndex);
+                    }
                 }
 
                 JSONSerializer.put(context, selectedItemKey, item);

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/Spinner.java
URL: 
http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/Spinner.java?rev=918036&r1=918035&r2=918036&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/Spinner.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/Spinner.java Tue Mar  2 13:49:50 
2010
@@ -482,13 +482,15 @@
     public void store(Dictionary<String, ?> context) {
         if (isEnabled()
             && selectedItemKey != null) {
-            int selectedIndex = getSelectedIndex();
-
             Object item;
-            if (selectedItemBindMapping == null) {
-                item = spinnerData.get(selectedIndex);
+            if (selectedIndex == -1) {
+                item = null;
             } else {
-                item = selectedItemBindMapping.get(spinnerData, selectedIndex);
+                if (selectedItemBindMapping == null) {
+                    item = spinnerData.get(selectedIndex);
+                } else {
+                    item = selectedItemBindMapping.get(spinnerData, 
selectedIndex);
+                }
             }
 
             JSONSerializer.put(context, selectedItemKey, item);


Reply via email to