You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by yi...@apache.org on 2019/05/14 08:27:25 UTC

[royale-asjs] branch develop updated: Allow for empty selection.

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

yishayw 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 3580722  Allow for empty selection.
     new 160d3bb  Merge branch 'develop' of https://github.com/apache/royale-asjs into develop
3580722 is described below

commit 3580722bcf0818a20ae0f346154ce889f8a16843
Author: DESKTOP-RH4S838\Yishay <yi...@hotmail.com>
AuthorDate: Tue May 14 11:24:07 2019 +0300

    Allow for empty selection.
---
 .../Basic/src/main/resources/basic-manifest.xml    |  2 +
 .../royale/org/apache/royale/html/ColorPicker.as   |  4 +-
 .../ColorPickerWithEmptyView.as}                   | 47 +++++++++-------------
 .../html/beads/models/ArrayColorSelectionModel.as  |  6 +--
 .../apache/royale/html/beads/models/ColorModel.as  |  4 +-
 .../royale/org/apache/royale/core/IColorModel.as   |  4 +-
 6 files changed, 31 insertions(+), 36 deletions(-)

diff --git a/frameworks/projects/Basic/src/main/resources/basic-manifest.xml b/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
index 960d772..41224a4 100644
--- a/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
+++ b/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
@@ -54,6 +54,8 @@
     <component id="HueSelector" class="org.apache.royale.html.HueSelector"/>
     <component id="ColorPickerPopUpWithPalette" class="org.apache.royale.html.supportClasses.ColorPickerPopUpWithPalette"/>
     <component id="ColorPickerPopUp" class="org.apache.royale.html.supportClasses.ColorPickerPopUp"/>
+    <component id="ColorPickerView" class="org.apache.royale.html.beads.ColorPickerView"/>
+    <component id="ColorPickerWithEmptyView" class="org.apache.royale.html.beads.ColorPickerWithEmptyView"/>
     <component id="CheckBox" class="org.apache.royale.html.CheckBox"/>
     <component id="CSSCheckBox" class="org.apache.royale.html.CSSCheckBox"/>
     <component id="RadioButton" class="org.apache.royale.html.RadioButton"/>
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/ColorPicker.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/ColorPicker.as
index 99fae63..a73f84b 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/ColorPicker.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/ColorPicker.as
@@ -48,12 +48,12 @@ package org.apache.royale.html
             typeNames = "ColorPicker";
 		}
 
-		public function get color():uint 
+		public function get color():Number 
 		{
 			return (model as IColorModel).color;
 		}
 		
-		public function set color(value:uint):void 
+		public function set color(value:Number):void 
 		{
 			(model as IColorModel).color = value;
 		}
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/ColorPicker.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ColorPickerWithEmptyView.as
similarity index 62%
copy from frameworks/projects/Basic/src/main/royale/org/apache/royale/html/ColorPicker.as
copy to frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ColorPickerWithEmptyView.as
index 99fae63..c2a80d2 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/ColorPicker.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ColorPickerWithEmptyView.as
@@ -16,46 +16,39 @@
 //  limitations under the License.
 //
 ////////////////////////////////////////////////////////////////////////////////
-package org.apache.royale.html
+package org.apache.royale.html.beads
 {
 	import org.apache.royale.core.IColorModel;
-	import org.apache.royale.core.UIBase;
-
-	[Event(name="change", type="org.apache.royale.events.Event")]
+	import org.apache.royale.utils.CSSUtils;
+	
 	/**
-	 *  The ColorPicker class is a component that lets you select a color
-	 * 
+	 *  The ColorPickerWithEmptyView overrides ColorPickerView methods to visibly indicate that a selection is empty
+	 *  
+	 *  @viewbead
 	 *  @langversion 3.0
 	 *  @playerversion Flash 10.2
 	 *  @playerversion AIR 2.6
 	 *  @productversion Royale 0.9.6
 	 */
-	public class ColorPicker extends UIBase
+	public class ColorPickerWithEmptyView extends ColorPickerView
 	{
-		/**
-		 *  Constructor.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion Royale 0.9.6
-		 */
-		private var _color:uint;
-		public function ColorPicker()
+		public function ColorPickerWithEmptyView()
 		{
 			super();
-            
-            typeNames = "ColorPicker";
-		}
-
-		public function get color():uint 
-		{
-			return (model as IColorModel).color;
 		}
 		
-		public function set color(value:uint):void 
+		/**
+		 * @private
+		 * @royaleignorecoercion org.apache.royale.core.IColorModel
+		 */
+		override protected function colorChangeAction():void
 		{
-			(model as IColorModel).color = value;
+			var model:IColorModel = _strand.getBeadByType(IColorModel) as IColorModel;
+			var isEmpty:Boolean = isNaN(model.color);
+			COMPILE::JS 
+			{
+				selectedColorDisplay.element.style.backgroundColor = isEmpty ? "transparent" : CSSUtils.attributeFromColor(model.color);
+			}		
 		}
 	}
-}
+}
\ No newline at end of file
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/ArrayColorSelectionModel.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/ArrayColorSelectionModel.as
index b690790..b724c23 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/ArrayColorSelectionModel.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/ArrayColorSelectionModel.as
@@ -52,11 +52,11 @@ package org.apache.royale.html.beads.models
 			dispatchEvent(new Event("change"));
 		}
 		
-		public function get color():uint
+		public function get color():Number
 		{
-			return uint(selectedItem);
+			return Number(selectedItem);
 		}
-		public function set color(value:uint):void
+		public function set color(value:Number):void
 		{
 			selectedItem = value;
 		}
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/ColorModel.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/ColorModel.as
index 22b8ca5..03a31cc 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/ColorModel.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/ColorModel.as
@@ -61,7 +61,7 @@ package org.apache.royale.html.beads.models
          *  @playerversion AIR 2.6
          *  @productversion Royale 0.9.6
          */
-        public function get color():uint
+        public function get color():Number
 		{
 			return _color;
 		}
@@ -69,7 +69,7 @@ package org.apache.royale.html.beads.models
         /**
          *  @private
          */
-		public function set color(value:uint):void
+		public function set color(value:Number):void
 		{
 			_color = value;
 			dispatchEvent(new Event("change"));
diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/IColorModel.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/IColorModel.as
index 59d2cf2..e2b289f 100644
--- a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/IColorModel.as
+++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/IColorModel.as
@@ -37,8 +37,8 @@ package org.apache.royale.core
          *  @playerversion AIR 2.6
          *  @productversion Royale 0.9.6
          */
-        function get color():uint;
-        function set color(value:uint):void;
+        function get color():Number;
+        function set color(value:Number):void;
 		
 	}
 }