You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by bi...@apache.org on 2014/11/22 02:00:53 UTC

[10/48] git commit: [flex-sdk] [refs/heads/iso7skins] - FLEX-34373 - fix default button handling

FLEX-34373 - fix default button handling

Signed-off-by: Erik de Bruin <er...@ixsoftware.nl>


Project: http://git-wip-us.apache.org/repos/asf/flex-sdk/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-sdk/commit/19df2d4c
Tree: http://git-wip-us.apache.org/repos/asf/flex-sdk/tree/19df2d4c
Diff: http://git-wip-us.apache.org/repos/asf/flex-sdk/diff/19df2d4c

Branch: refs/heads/iso7skins
Commit: 19df2d4c7b743354ece4c7d3c74506a187c78cbd
Parents: 89d9d74
Author: Erik de Bruin <er...@ixsoftware.nl>
Authored: Thu Oct 9 13:25:51 2014 +0200
Committer: Erik de Bruin <er...@ixsoftware.nl>
Committed: Thu Oct 9 13:25:51 2014 +0200

----------------------------------------------------------------------
 .../experimental/src/spark/components/Alert.as  | 45 ++++++++++++++++++--
 1 file changed, 41 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/19df2d4c/frameworks/projects/experimental/src/spark/components/Alert.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/experimental/src/spark/components/Alert.as b/frameworks/projects/experimental/src/spark/components/Alert.as
index 770b454..b613739 100644
--- a/frameworks/projects/experimental/src/spark/components/Alert.as
+++ b/frameworks/projects/experimental/src/spark/components/Alert.as
@@ -396,7 +396,7 @@ package spark.components {
          *  @productversion Flex 4.5
          */
         public static function show(message:String = "", title:String = "", flags:uint = OK, parent:Sprite = null, closeHandler:Function = null,
-                                    iconClass:Class = null, defaultButtonFlag:uint = 0 /* Alert.OK */, moduleFactory:IFlexModuleFactory = null):Alert {
+                                    iconClass:Class = null, defaultButtonFlag:uint = Alert.OK, moduleFactory:IFlexModuleFactory = null):Alert {
 
             var modal:Boolean = (flags & Alert.NONMODAL) ? false : true;
 
@@ -758,6 +758,42 @@ package spark.components {
             return result;
         }
 
+		/**
+		 *  @private
+		 */
+		private function getDefaultButton():Button 
+		{
+			var label:String;
+			switch (_defaultButtonFlag) 
+			{
+				case YES :
+					label = YES_LABEL;
+					break;
+				case NO :
+					label = NO_LABEL;
+					break;
+				case OK :
+					label = OK_LABEL;
+					break;
+				case CANCEL :
+					label = CANCEL_LABEL;
+					break;
+				default :
+					label = '';
+					break;
+			}
+			
+			for each (var button:Button in _buttons) 
+			{
+				if (button.label === label) 
+				{
+					return button;
+				}
+			}
+			
+			return null;
+		}
+		
         /**
          *  @private
          */
@@ -790,9 +826,10 @@ package spark.components {
                 awm.activate(this);
             }
             if (_buttons) {
-                if (_defaultButtonFlag >= 0 && _defaultButtonFlag < _buttons.length - 1) {
-                    _buttons[ _defaultButtonFlag ].setFocus();
-                    _buttons[ _defaultButtonFlag ].drawFocus(true);
+				var button:Button = getDefaultButton();
+				if (button) {
+					button.setFocus();
+					button.drawFocus(true);
                 }
             }
         }