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 4ddbef8 Thumb can disappear when selected color is empty.
4ddbef8 is described below
commit 4ddbef8b7b61c1f36bf889b0a63985a969711505
Author: DESKTOP-RH4S838\Yishay <[email protected]>
AuthorDate: Wed May 15 10:57:38 2019 +0300
Thumb can disappear when selected color is empty.
---
.../Basic/src/main/resources/basic-manifest.xml | 1 +
.../apache/royale/html/beads/ColorSpectrumView.as | 2 +-
...mView.as => HideColorSpectrumThumbWhenEmpty.as} | 63 +++++-----------------
.../html/beads/models/ArrayColorSelectionModel.as | 2 +-
4 files changed, 16 insertions(+), 52 deletions(-)
diff --git a/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
b/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
index 41224a4..a715ece 100644
--- a/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
+++ b/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
@@ -56,6 +56,7 @@
<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="HideColorSpectrumThumbWhenEmpty"
class="org.apache.royale.html.beads.HideColorSpectrumThumbWhenEmpty"/>
<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/beads/ColorSpectrumView.as
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ColorSpectrumView.as
index 67d76bb..ac7b8ab 100644
---
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ColorSpectrumView.as
+++
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ColorSpectrumView.as
@@ -104,7 +104,7 @@ package org.apache.royale.html.beads
return _thumb;
}
- private function updateSpectrum():void
+ protected function updateSpectrum():void
{
var color:String =
CSSUtils.attributeFromColor(colorModel.baseColor);
COMPILE::JS
diff --git
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ColorSpectrumView.as
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/HideColorSpectrumThumbWhenEmpty.as
similarity index 51%
copy from
frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ColorSpectrumView.as
copy to
frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/HideColorSpectrumThumbWhenEmpty.as
index 67d76bb..6eaeb91 100644
---
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ColorSpectrumView.as
+++
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/HideColorSpectrumThumbWhenEmpty.as
@@ -17,33 +17,26 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.royale.html.beads
{
- import org.apache.royale.core.BeadViewBase;
+ import org.apache.royale.core.IBead;
import org.apache.royale.core.IColorSpectrumModel;
- import org.apache.royale.core.IParent;
- import org.apache.royale.core.IRenderedObject;
import org.apache.royale.core.IStrand;
import org.apache.royale.core.IStrandWithModel;
import org.apache.royale.core.IUIBase;
import org.apache.royale.events.Event;
import org.apache.royale.events.IEventDispatcher;
- import org.apache.royale.html.Button;
- import org.apache.royale.html.TextButton;
- import org.apache.royale.utils.CSSUtils;
- import org.apache.royale.utils.HSV;
- import org.apache.royale.utils.rgbToHsv;
/**
- * The ColorSpectrumView class is the view for
- * the org.apache.royale.html.ColorSpectrum
+ * The HideColorSpectrumThumbWhenEmpty bead can modifiy a color spectrum
+ * view to hide the thumb when it's empty
*
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion Royale 0.9.6
*/
- public class ColorSpectrumView extends BeadViewBase implements
ISliderView
+ public class HideColorSpectrumThumbWhenEmpty implements IBead
{
- private var _thumb:TextButton;
+ private var _strand:IStrand;
/**
* Constructor.
*
@@ -52,7 +45,7 @@ package org.apache.royale.html.beads
* @playerversion AIR 2.6
* @productversion Royale 0.9.6
*/
- public function ColorSpectrumView()
+ public function HideColorSpectrumThumbWhenEmpty()
{
super();
}
@@ -60,22 +53,16 @@ package org.apache.royale.html.beads
/**
* @private
*/
- override public function set strand(value:IStrand):void
+ public function set strand(value:IStrand):void
{
- super.strand = value;
- _thumb = new TextButton();
- _thumb.className = "SliderThumb";
- _thumb.style = {"position" : "absolute", "padding" : 0};
- _thumb.text = '\u29BF';
- (value as IParent).addElement(_thumb);
+ _strand = value;
(colorModel as
IEventDispatcher).addEventListener("baseColorChange", changeHandler);
- (colorModel as
IEventDispatcher).addEventListener("hsvModifiedColorChange", changeHandler);
- updateSpectrum();
+ updateThumb();
}
private function changeHandler(e:Event):void
{
- updateSpectrum();
+ updateThumb();
}
/**
@@ -91,38 +78,14 @@ package org.apache.royale.html.beads
return _strand as IUIBase;
}
- /**
- * The thumb component.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion Royale 0.9.6
- */
- public function get thumb():IUIBase
- {
- return _thumb;
- }
-
- private function updateSpectrum():void
+ protected function updateThumb():void
{
- var color:String =
CSSUtils.attributeFromColor(colorModel.baseColor);
- COMPILE::JS
- {
- (host as
IRenderedObject).element.style.background = "linear-gradient(to top, #000000,
transparent), linear-gradient(to left, " + color + ", #ffffff)";
- }
- var hsvModifiedColor:uint = colorModel.hsvModifiedColor
|| colorModel.baseColor;
- var r:uint = (hsvModifiedColor >> 16 ) & 255;
- var g:uint = (hsvModifiedColor >> 8 ) & 255;
- var b:uint = hsvModifiedColor & 255;
- var hsv:HSV = rgbToHsv(r,g,b);
- _thumb.x = (hsv.s / 100) * host.width - _thumb.width /
2;
- _thumb.y = host.height - hsv.v * host.height / 100 -
_thumb.height / 2;
+ (_strand.getBeadByType(ISliderView) as
ISliderView).thumb.visible = !isNaN(colorModel.baseColor);
}
private function get colorModel():IColorSpectrumModel
{
- return (host as IStrandWithModel).model as
IColorSpectrumModel;
+ return (_strand as IStrandWithModel).model as
IColorSpectrumModel;
}
}
}
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 b724c23..ec95051 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
@@ -54,7 +54,7 @@ package org.apache.royale.html.beads.models
public function get color():Number
{
- return Number(selectedItem);
+ return selectedItem == null ? NaN :
Number(selectedItem);
}
public function set color(value:Number):void
{