This was supposed to be  covered in

royale-asjs\frameworks\projects\Basic\src\main\royale\org\apache\royale\html\beads\controllers\ColorSpectrumMouseController.as



From: [email protected]<mailto:[email protected]>
Sent: Monday, January 20, 2020 10:47 AM
To: [email protected]<mailto:[email protected]>
Subject: [royale-asjs] branch develop updated: handle dragging thumb. Should 
fix #687

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

aharui 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 c14e8d8  handle dragging thumb.  Should fix #687
c14e8d8 is described below

commit c14e8d8e0c9ccf2cc216a41e6907f2950fdf75e1
Author: Alex Harui <[email protected]>
AuthorDate: Mon Jan 20 00:47:01 2020 -0800

    handle dragging thumb.  Should fix #687
---
 .../beads/controllers/ColorSpectrumMouseController.as |  6 +++++-
 .../royale/html/supportClasses/ColorPickerPopUp.as    | 19 ++++++++++++++++++-
 2 files changed, 23 insertions(+), 2 deletions(-)

diff --git 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/controllers/ColorSpectrumMouseController.as
 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/controllers/ColorSpectrumMouseController.as
index 0667663..1eeddde 100644
--- 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/controllers/ColorSpectrumMouseController.as
+++ 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/controllers/ColorSpectrumMouseController.as
@@ -24,7 +24,9 @@ package org.apache.royale.html.beads.controllers
         import org.apache.royale.core.IStrandWithModel;
         import org.apache.royale.core.IStrandWithModelView;
         import org.apache.royale.core.IUIBase;
-       import org.apache.royale.events.MouseEvent;
+       import org.apache.royale.events.Event;
+    import org.apache.royale.events.IEventDispatcher;
+    import org.apache.royale.events.MouseEvent;
         import org.apache.royale.html.beads.ISliderView;
         import org.apache.royale.utils.HSV;
         import org.apache.royale.utils.hsvToHex;
@@ -118,6 +120,7 @@ package org.apache.royale.html.beads.controllers
                 {
                         
sliderView.track.addEventListener(MouseEvent.MOUSE_MOVE, thumbMoveHandler);
                         sliderView.track.addEventListener(MouseEvent.MOUSE_UP, 
thumbUpHandler);
+            (_strand as IEventDispatcher).dispatchEvent(new 
Event("thumbDown"));
                 }

                 private function thumbMoveHandler(event:MouseEvent):void
@@ -131,6 +134,7 @@ package org.apache.royale.html.beads.controllers

                 private function thumbUpHandler(event:MouseEvent):void
                 {
+            (_strand as IEventDispatcher).dispatchEvent(new Event("thumbUp"));
                         
sliderView.track.removeEventListener(MouseEvent.MOUSE_MOVE, thumbMoveHandler);
                         
sliderView.track.removeEventListener(MouseEvent.MOUSE_UP, thumbUpHandler);
                 }
diff --git 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/ColorPickerPopUp.as
 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/ColorPickerPopUp.as
index 8c01fa1..b8ad92b 100644
--- 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/ColorPickerPopUp.as
+++ 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/ColorPickerPopUp.as
@@ -83,13 +83,30 @@ package org.apache.royale.html.supportClasses
                         var colorSpectrumModel:IColorSpectrumModel = 
loadBeadFromValuesManager(IColorSpectrumModel, "iColorSpectrumModel", 
colorSpectrum) as IColorSpectrumModel;
                         colorSpectrumModel.baseColor = (value as 
IColorModel).color;
                         (colorSpectrum as 
IEventDispatcher).addEventListener("change", colorSpectrumChangeHandler);
+            (colorSpectrum as IEventDispatcher).addEventListener("thumbDown", 
colorSpectrumThumbDownHandler);
+            (colorSpectrum as IEventDispatcher).addEventListener("thumbUp", 
colorSpectrumThumbUpHandler);
                 }

+        private var draggingThumb:Boolean;
+
                 protected function colorSpectrumChangeHandler(event:Event):void
                 {
                         (model as IColorModel).color = 
colorSpectrum.hsvModifiedColor;
-            dispatchEvent(new Event("change"));
+            if (!draggingThumb)
+                dispatchEvent(new Event("change"));
                 }
+
+        protected function colorSpectrumThumbDownHandler(event:Event):void
+        {
+            draggingThumb = true;
+        }
+
+        protected function colorSpectrumThumbUpHandler(event:Event):void
+        {
+            draggingThumb = false;
+            (model as IColorModel).color = colorSpectrum.hsvModifiedColor;
+            dispatchEvent(new Event("change"));
+        }

                 /**
                  *  @copy org.apache.royale.core.IBead#strand

Reply via email to