You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pivot.apache.org by cb...@apache.org on 2011/07/01 18:17:15 UTC

svn commit: r1141971 - in /pivot/trunk: examples/src/org/apache/pivot/examples/buttons/radio_button_group_example.bxml wtk/src/org/apache/pivot/wtk/RadioButtonGroup.java

Author: cbartlett
Date: Fri Jul  1 16:17:15 2011
New Revision: 1141971

URL: http://svn.apache.org/viewvc?rev=1141971&view=rev
Log:
PIVOT-677 - Fixed NPE for setSelection(null) & improved null handling.  Updated example to reflect changes.

Modified:
    pivot/trunk/examples/src/org/apache/pivot/examples/buttons/radio_button_group_example.bxml
    pivot/trunk/wtk/src/org/apache/pivot/wtk/RadioButtonGroup.java

Modified: pivot/trunk/examples/src/org/apache/pivot/examples/buttons/radio_button_group_example.bxml
URL: http://svn.apache.org/viewvc/pivot/trunk/examples/src/org/apache/pivot/examples/buttons/radio_button_group_example.bxml?rev=1141971&r1=1141970&r2=1141971&view=diff
==============================================================================
--- pivot/trunk/examples/src/org/apache/pivot/examples/buttons/radio_button_group_example.bxml (original)
+++ pivot/trunk/examples/src/org/apache/pivot/examples/buttons/radio_button_group_example.bxml Fri Jul  1 16:17:15 2011
@@ -176,22 +176,8 @@ limitations under the License.
             <RadioButton buttonGroup="$groupE" buttonData="Blue" />
             <RadioButton buttonGroup="$groupE" buttonData="Indigo" />
             <RadioButton buttonGroup="$groupE" buttonData="Violet" />
-            <PushButton buttonData="Clear selection" >
-              <buttonPressListeners>
-                function buttonPressed(button) {
-                  var selection = groupE.getSelection();
-                  if (selection != null) {
-                    try {
-                      selection.setSelected(false);
-                    } catch (e) {
-                      // Exception expected from
-                      // org.apache.pivot.wtk.ButtonGroup.setSelection(Button)
-                      // as it doesn't support clearing the selection
-                    }
-                  }
-                }
-              </buttonPressListeners>
-            </PushButton>
+            <PushButton buttonData="Clear selection"
+              ButtonPressListener.buttonPressed="groupE.setSelection(null);" />
           </BoxPane>
         </Border>
         <Border styles="{padding:8}" title="Jump to character">

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/RadioButtonGroup.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/RadioButtonGroup.java?rev=1141971&r1=1141970&r2=1141971&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/RadioButtonGroup.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/RadioButtonGroup.java Fri Jul  1 16:17:15 2011
@@ -304,6 +304,9 @@ public class RadioButtonGroup extends Bu
      */
     @Override
     public boolean add(Button button) {
+        if (button == null) {
+            throw new IllegalArgumentException("Button cannot be null");
+        }
         boolean result = super.add(button);
         if (result) {
             buttonOrder.add(button);
@@ -347,6 +350,9 @@ public class RadioButtonGroup extends Bu
      * @see Sequence#insert(Object, int)
      */
     public void insert(Button button, int index) {
+        if (button == null) {
+            throw new IllegalArgumentException("Button cannot be null");
+        }
         boolean result = super.add(button);
         if (result) {
             buttonOrder.insert(button, index);
@@ -361,9 +367,12 @@ public class RadioButtonGroup extends Bu
      */
     @Override
     public boolean remove(Button button) {
-        boolean result = super.remove(button);
-        if (result) {
-            buttonOrder.remove(button);
+        boolean result = false;
+        if (button != null) {
+            result = super.remove(button);
+            if (result) {
+                buttonOrder.remove(button);
+            }
         }
         return result;
     }
@@ -403,7 +412,9 @@ public class RadioButtonGroup extends Bu
     @Override
     public void setSelection(Button button) {
         super.setSelection(button);
-        button.requestFocus();
+        if (button != null) {
+            button.requestFocus();
+        }
     }
 
     /**
@@ -600,4 +611,4 @@ public class RadioButtonGroup extends Bu
     private int findPrevious(int index) {
         return findPrevious(index, defaultFilter, circular);
     }
-}
\ No newline at end of file
+}