You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ha...@apache.org on 2019/12/22 09:55:56 UTC

[royale-asjs] branch develop updated (1b0e9b5 -> 5d38934)

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

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


    from 1b0e9b5  temporary fix for bad typedef
     new caa837e  Temporary fix for event override conflict
     new 5d38934  Need setters for specialKey

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../org/apache/royale/core/ElementWrapper.as       | 14 +++++++++++--
 .../org/apache/royale/core/HTMLElementWrapper.as   | 24 ++++++++++++++--------
 .../org/apache/royale/events/KeyboardEvent.as      |  8 ++++++++
 .../royale/org/apache/royale/events/MouseEvent.as  |  8 ++++++++
 4 files changed, 44 insertions(+), 10 deletions(-)


[royale-asjs] 01/02: Temporary fix for event override conflict

Posted by ha...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit caa837ee69029c1ff8984b457bc7849c0cf3f5f7
Author: Harbs <ha...@in-tools.com>
AuthorDate: Sun Dec 22 11:55:20 2019 +0200

    Temporary fix for event override conflict
---
 .../org/apache/royale/core/ElementWrapper.as       | 14 +++++++++++--
 .../org/apache/royale/core/HTMLElementWrapper.as   | 24 ++++++++++++++--------
 2 files changed, 28 insertions(+), 10 deletions(-)

diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ElementWrapper.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ElementWrapper.as
index 60a352c..58b7a64 100644
--- a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ElementWrapper.as
+++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ElementWrapper.as
@@ -22,6 +22,7 @@ package org.apache.royale.core
     {
         import org.apache.royale.events.utils.EventUtils;
         import org.apache.royale.events.BrowserEvent;
+        import org.apache.royale.events.IBrowserEvent
         import goog.events.BrowserEvent;
         import org.apache.royale.events.ElementEvents;
         import goog.events;
@@ -180,11 +181,20 @@ package org.apache.royale.core
          * @param listener The listener object to call {goog.events.Listener}.
          * @param eventObject The event object to pass to the listener.
          * @return Result of listener.
+         * @royaleignorecoercion org.apache.royale.events.IBrowserEvent
          */
 		static public function fireListenerOverride(listener:Object, eventObject:goog.events.BrowserEvent):Boolean
 		{
-			var e:org.apache.royale.events.BrowserEvent = new org.apache.royale.events.BrowserEvent();
-			e.wrapEvent(eventObject);
+            /**
+             * For now we're adding in some just-in-case code to prevent conflicts with ElementWrapper. This needs to be fixed.
+             */
+            var e:IBrowserEvent;
+            if(eventObject is IBrowserEvent){
+                e = eventObject as IBrowserEvent
+            } else {
+                e = new org.apache.royale.events.BrowserEvent();
+                e.wrapEvent(eventObject);
+            }
 			return ElementWrapper.googFireListener(listener, e);
 		}
 
diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/HTMLElementWrapper.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/HTMLElementWrapper.as
index 419288b..d44fb29 100644
--- a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/HTMLElementWrapper.as
+++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/HTMLElementWrapper.as
@@ -155,18 +155,26 @@ package org.apache.royale.core
          * @param listener The listener object to call {goog.events.Listener}.
          * @param eventObject The event object to pass to the listener.
          * @return Result of listener.
+         * @royaleignorecoercion org.apache.royale.events.IBrowserEvent
          */
 		static public function fireListenerOverride(listener:Object, eventObject:goog.events.BrowserEvent):Boolean
 		{
+            /**
+             * For now we're adding in some just-in-case code to prevent conflicts with ElementWrapper. This needs to be fixed.
+             */
             var e:IBrowserEvent;
-            var nativeEvent:Object = eventObject.getBrowserEvent();
-            var converter:Object = converterMap[nativeEvent.constructor.name];
-            if (converter)
-                e = converter["convert"](nativeEvent,eventObject);
-            else
-            {
-                e = new org.apache.royale.events.BrowserEvent();
-			    e.wrapEvent(eventObject);
+            if(eventObject is IBrowserEvent){
+                e = eventObject as IBrowserEvent
+            } else {
+                var nativeEvent:Object = eventObject.getBrowserEvent();
+                var converter:Object = converterMap[nativeEvent.constructor.name];
+                if (converter)
+                    e = converter["convert"](nativeEvent,eventObject);
+                else
+                {
+                    e = new org.apache.royale.events.BrowserEvent();
+                    e.wrapEvent(eventObject);
+                }
             }
 			return HTMLElementWrapper.googFireListener(listener, e);
 		}


[royale-asjs] 02/02: Need setters for specialKey

Posted by ha...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 5d389348387ab723c3981170e3bce3acbda908e6
Author: Harbs <ha...@in-tools.com>
AuthorDate: Sun Dec 22 11:55:38 2019 +0200

    Need setters for specialKey
---
 .../src/main/royale/org/apache/royale/events/KeyboardEvent.as     | 8 ++++++++
 .../Core/src/main/royale/org/apache/royale/events/MouseEvent.as   | 8 ++++++++
 2 files changed, 16 insertions(+)

diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/events/KeyboardEvent.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/events/KeyboardEvent.as
index a855c28..bbcaa1d 100644
--- a/frameworks/projects/Core/src/main/royale/org/apache/royale/events/KeyboardEvent.as
+++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/events/KeyboardEvent.as
@@ -219,6 +219,14 @@ package org.apache.royale.events
 		{
 			return OSUtils.getOS() == OSUtils.MAC_OS ? metaKey : ctrlKey;
 		}
+        COMPILE::JS
+		public function set specialKey(value:Boolean):void
+		{
+            if(OSUtils.getOS() == OSUtils.MAC_OS)
+                metaKey = value;
+            else
+                ctrlKey = value;
+		}
 
         /**
          * @langversion 3.0
diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/events/MouseEvent.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/events/MouseEvent.as
index dff686d..0d30f31 100644
--- a/frameworks/projects/Core/src/main/royale/org/apache/royale/events/MouseEvent.as
+++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/events/MouseEvent.as
@@ -394,6 +394,14 @@ package org.apache.royale.events
 			return OSUtils.getOS() == OSUtils.MAC_OS ? metaKey : ctrlKey;
 		}
 
+		public function set specialKey(value:Boolean):void
+		{
+            if(OSUtils.getOS() == OSUtils.MAC_OS)
+                metaKey = value;
+            else
+                ctrlKey = value;
+		}
+
         private var _buttons:int = -1;
         
         public function get buttonDown():Boolean