You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ah...@apache.org on 2015/08/05 00:04:40 UTC

[5/9] git commit: [flex-asjs] [refs/heads/develop] - ActionScript toggle button

ActionScript toggle button


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

Branch: refs/heads/develop
Commit: c10eb181aee964204c8b5e970b8428266c1ec8c2
Parents: 8af934c
Author: Alex Harui <ah...@apache.org>
Authored: Mon Aug 3 21:47:08 2015 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Tue Aug 4 13:54:16 2015 -0700

----------------------------------------------------------------------
 .../org/apache/flex/core/SimpleCSSValuesImpl.as | 55 +++++++++++---------
 frameworks/projects/HTML/as/defaults.css        |  2 +-
 .../org/apache/flex/html/ToggleTextButton.as    | 19 ++++++-
 .../flex/html/beads/CSSTextToggleButtonView.as  |  4 +-
 4 files changed, 53 insertions(+), 27 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c10eb181/frameworks/projects/Core/as/src/org/apache/flex/core/SimpleCSSValuesImpl.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/as/src/org/apache/flex/core/SimpleCSSValuesImpl.as b/frameworks/projects/Core/as/src/org/apache/flex/core/SimpleCSSValuesImpl.as
index 176b112..68d6882 100644
--- a/frameworks/projects/Core/as/src/org/apache/flex/core/SimpleCSSValuesImpl.as
+++ b/frameworks/projects/Core/as/src/org/apache/flex/core/SimpleCSSValuesImpl.as
@@ -311,30 +311,37 @@ package org.apache.flex.core
                             return value;
                     }                    
                 }
-				className = styleable.className;
-				if (state)
-				{
-					selectorName = className + ":" + state;
-					o = values["." + selectorName];
-					if (o)
-					{
-						value = o[valueName];
-                        if (value == "inherit")
-                            return getInheritingValue(thisObject, valueName, state, attrs);
-						if (value !== undefined)
-							return value;
-					}
-				}
-				
-				o = values["." + className];
-				if (o)
-				{
-					value = o[valueName];
-                    if (value == "inherit")
-                        return getInheritingValue(thisObject, valueName, state, attrs);
-					if (value !== undefined)
-						return value;
-				}
+				var classNames:String = styleable.className;
+                if (classNames)
+                {
+                    var classNameList:Array = classNames.split(" ");
+                    for each (className in classNameList)
+                    {
+                        if (state)
+                        {
+                            selectorName = className + ":" + state;
+                            o = values["." + selectorName];
+                            if (o)
+                            {
+                                value = o[valueName];
+                                if (value == "inherit")
+                                    return getInheritingValue(thisObject, valueName, state, attrs);
+                                if (value !== undefined)
+                                    return value;
+                            }
+                        }
+                        
+                        o = values["." + className];
+                        if (o)
+                        {
+                            value = o[valueName];
+                            if (value == "inherit")
+                                return getInheritingValue(thisObject, valueName, state, attrs);
+                            if (value !== undefined)
+                                return value;
+                        }                        
+                    }
+                }
 			}
 			
 			className = getQualifiedClassName(thisObject);

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c10eb181/frameworks/projects/HTML/as/defaults.css
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/as/defaults.css b/frameworks/projects/HTML/as/defaults.css
index 67660f8..54700ab 100644
--- a/frameworks/projects/HTML/as/defaults.css
+++ b/frameworks/projects/HTML/as/defaults.css
@@ -524,7 +524,7 @@ TitleBar
 ToggleTextButton
 {
     IBeadModel: ClassReference("org.apache.flex.html.beads.models.ToggleButtonModel");
-    IBeadView:  ClassReference("org.apache.flex.html.beads.CSSTextButtonView");
+    IBeadView:  ClassReference("org.apache.flex.html.beads.CSSTextToggleButtonView");
 }
 
 ViewBase

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c10eb181/frameworks/projects/HTML/as/src/org/apache/flex/html/ToggleTextButton.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/as/src/org/apache/flex/html/ToggleTextButton.as b/frameworks/projects/HTML/as/src/org/apache/flex/html/ToggleTextButton.as
index a5ccda7..376954a 100644
--- a/frameworks/projects/HTML/as/src/org/apache/flex/html/ToggleTextButton.as
+++ b/frameworks/projects/HTML/as/src/org/apache/flex/html/ToggleTextButton.as
@@ -19,7 +19,7 @@
 package org.apache.flex.html
 {
 	import org.apache.flex.core.IStrand;
-    import org.apache.flex.core.IToggleButtonModel;
+	import org.apache.flex.core.IToggleButtonModel;
 	import org.apache.flex.core.IUIBase;
 	import org.apache.flex.core.UIButtonBase;
 	import org.apache.flex.core.ValuesManager;
@@ -84,6 +84,23 @@ package org.apache.flex.html
             IToggleButtonModel(model).selected = value;
         }
         
+        /**
+         *  @private
+         *  add another class selector
+         */
+        override public function get className():String
+        {
+            // we don't have a model yet so just pass through otherwise you will loop
+            if (!parent)
+                return super.className;
+            
+            var name:String = super.className;            
+            if (selected)
+                return "toggleTextButton_Selected" + (name ? " " + name : "");
+            else
+                return "toggleTextButton" + (name ? " " + name : "");
+        }
+        
         
 	}
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c10eb181/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/CSSTextToggleButtonView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/CSSTextToggleButtonView.as b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/CSSTextToggleButtonView.as
index a6b3fac..7de01ef 100644
--- a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/CSSTextToggleButtonView.as
+++ b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/CSSTextToggleButtonView.as
@@ -66,6 +66,8 @@ package org.apache.flex.html.beads
 		
 		private var toggleButtonModel:IToggleButtonModel;
 		
+        private var _selected:Boolean;
+        
         /**
          *  @copy org.apache.flex.core.IBead#strand
          *  
@@ -79,7 +81,7 @@ package org.apache.flex.html.beads
             super.strand = value;
             
 			toggleButtonModel = value.getBeadByType(IToggleButtonModel) as IToggleButtonModel;
-            toggleButtonModel.addEventListener("selectedChanged", selectedChangeHandler);
+            toggleButtonModel.addEventListener("selectedChange", selectedChangeHandler);
 		}
 	
 		private function selectedChangeHandler(event:org.apache.flex.events.Event):void