You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ah...@apache.org on 2020/01/20 08:47:17 UTC

[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 <ah...@apache.org>
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


Re: [royale-asjs] branch develop updated: handle dragging thumb. Should fix #687

Posted by Alex Harui <ah...@adobe.com.INVALID>.
There seemed to be a bug in how ColorSpectrumMouseController and the other ColorSpectrum classes worked where as soon as you started dragging the thumb, it would fire a change event and close the ColorSpectrumPopUp.  And that would also leave the mouseMove handlers listening because the mouseUp would not occur over the popup.  Then the next time you opened the popup, as soon as you moved the mouse over the popup, the mouseMove handler would see it, change the color, fire the change event and the popup would immediately close.

If there was some other way this was supposed to be handled, let me know and/or make the required changes.  It was blocking Pashmina and I only had a short period of time to do what I thought was the obvious solution (fire thumbDown/Up events so that the popup closing logic would know that change events are occurring as part of a drag and not close the popup).

-Alex

On 1/20/20, 1:06 AM, "Yishay Weiss" <yi...@hotmail.com> wrote:

    Oh, I see that you used it. Ignore my last comment.
    
    ________________________________
    From: Yishay Weiss <yi...@hotmail.com>
    Sent: Monday, January 20, 2020 11:04:29 AM
    To: dev@royale.apache.org <de...@royale.apache.org>; commits@royale.apache.org <co...@royale.apache.org>
    Subject: RE: [royale-asjs] branch develop updated: handle dragging thumb. Should fix #687
    
    This was supposed to be  covered in
    
    royale-asjs\frameworks\projects\Basic\src\main\royale\org\apache\royale\html\beads\controllers\ColorSpectrumMouseController.as
    
    
    
    From: aharui@apache.org<ma...@apache.org>
    Sent: Monday, January 20, 2020 10:47 AM
    To: commits@royale.apache.org<ma...@royale.apache.org>
    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://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitbox.apache.org%2Frepos%2Fasf%2Froyale-asjs.git&amp;data=02%7C01%7Caharui%40adobe.com%7C381d06e90ac04b77790f08d79d88085f%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637151079896233591&amp;sdata=Gr9SVpoGyF9yalYCt%2BtiXt0%2FOy1aohmrQMJ5%2B0TpQe8%3D&amp;reserved=0
    
    
    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 <ah...@apache.org>
    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
    
    


RE: [royale-asjs] branch develop updated: handle dragging thumb. Should fix #687

Posted by Yishay Weiss <yi...@hotmail.com>.
Oh, I see that you used it. Ignore my last comment.

________________________________
From: Yishay Weiss <yi...@hotmail.com>
Sent: Monday, January 20, 2020 11:04:29 AM
To: dev@royale.apache.org <de...@royale.apache.org>; commits@royale.apache.org <co...@royale.apache.org>
Subject: RE: [royale-asjs] branch develop updated: handle dragging thumb. Should fix #687

This was supposed to be  covered in

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



From: aharui@apache.org<ma...@apache.org>
Sent: Monday, January 20, 2020 10:47 AM
To: commits@royale.apache.org<ma...@royale.apache.org>
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 <ah...@apache.org>
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


RE: [royale-asjs] branch develop updated: handle dragging thumb. Should fix #687

Posted by Yishay Weiss <yi...@hotmail.com>.
This was supposed to be  covered in

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



From: aharui@apache.org<ma...@apache.org>
Sent: Monday, January 20, 2020 10:47 AM
To: commits@royale.apache.org<ma...@royale.apache.org>
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 <ah...@apache.org>
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