This is an automated email from the ASF dual-hosted git repository.

carlosrovira pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git


The following commit(s) were added to refs/heads/develop by this push:
     new d46d60f  fix iconbutton and togglebutton icons removed when changed 
text at runtime
d46d60f is described below

commit d46d60f213fae6b26d3f28fb8cdef38aecd6d5f4
Author: Carlos Rovira <[email protected]>
AuthorDate: Sun Mar 3 11:27:50 2019 +0100

    fix iconbutton and togglebutton icons removed when changed text at runtime
---
 .../royale/org/apache/royale/jewel/IconButton.as   | 59 +++++++++++++++++++++-
 1 file changed, 58 insertions(+), 1 deletion(-)

diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/IconButton.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/IconButton.as
index b494d61..49c3146 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/IconButton.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/IconButton.as
@@ -18,6 +18,12 @@
 
////////////////////////////////////////////////////////////////////////////////
 package org.apache.royale.jewel
 {
+    COMPILE::JS
+    {
+        import org.apache.royale.core.WrappedHTMLElement;
+        import org.apache.royale.html.util.addElementToWrapper;
+    }
+
     import org.apache.royale.core.IIconSupport;
     import org.apache.royale.core.IIcon;
     
@@ -34,8 +40,41 @@ package org.apache.royale.jewel
                public function IconButton()
                {
                        super();
+               }
+
+        COMPILE::JS
+        protected var textNode:Text;
+
+        COMPILE::JS
+        private var _text:String = "";
+
+        [Bindable("textChange")]
+        /**
+         *  @copy org.apache.royale.html.Label#text
+         *
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion Royale 0.9.4
+         */
+        COMPILE::JS
+               override public function get text():String
+               {
+            return _text;
+               }
 
-            //typeNames = "jewel button";
+        /**
+         *  @private
+         */
+        COMPILE::JS
+               override public function set text(value:String):void
+               {
+            if (textNode)
+            {
+                _text = value;
+                textNode.nodeValue = value;
+                this.dispatchEvent('textChange');
+            }
                }
 
         private var _icon:IIcon;
@@ -76,5 +115,23 @@ package org.apache.royale.jewel
                 // todo set up icon on swf
             }
         }
+
+        /**
+                * @royaleignorecoercion 
org.apache.royale.core.WrappedHTMLElement
+                * @royaleignorecoercion 
org.apache.royale.html.util.addElementToWrapper
+         */
+        COMPILE::JS
+        override protected function createElement():WrappedHTMLElement
+        {
+                       addElementToWrapper(this, 'button');
+            element.setAttribute('type', 'button');
+            
+            textNode = document.createTextNode(_text) as Text;
+            element.appendChild(textNode);
+
+            positioner = element;
+
+            return element;
+        }
        }
 }
\ No newline at end of file

Reply via email to