You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by pu...@apache.org on 2021/09/14 16:11:08 UTC
[royale-asjs] 01/02: Added some files and changes in existing files
This is an automated email from the ASF dual-hosted git repository.
pushminakazi pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
commit 45d0e4401c89914b377f99e4f439d63c6dba171e
Author: pashminakazi <pa...@gmail.com>
AuthorDate: Tue Sep 14 09:09:07 2021 -0700
Added some files and changes in existing files
---
.../main/royale/org/apache/royale/events/Event.as | 17 ++
.../src/main/resources/mx-royale-manifest.xml | 1 +
.../MXRoyale/src/main/royale/MXRoyaleClasses.as | 3 +
.../src/main/royale/mx/containers/HDividedBox.as | 30 ++-
.../src/main/royale/mx/core/ByteArrayAsset.as | 103 +++++++++
.../MXRoyale/src/main/royale/mx/core/Container.as | 54 +++++
.../royale/mx/core/ContainerRawChildrenList.as | 237 +++++++++++++++++++++
.../royale/mx/messaging/events/ChannelEvent.as | 2 +-
.../royale/mx/messaging/events/MessageEvent.as | 2 +-
.../mx/messaging/events/MessageFaultEvent.as | 2 +-
.../src/main/royale/mx/rpc/events/XMLLoadEvent.as | 2 +-
.../src/main/royale/mx/system/Capabilities.as | 5 +
.../MXRoyale/src/main/royale/mx/utils/ByteArray.as | 8 +
13 files changed, 460 insertions(+), 6 deletions(-)
diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/events/Event.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/events/Event.as
index e776b73..19907d7 100644
--- a/frameworks/projects/Core/src/main/royale/org/apache/royale/events/Event.as
+++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/events/Event.as
@@ -61,6 +61,8 @@ package org.apache.royale.events
public static const CONNECT:String = "connect";
public static const REMOVED_FROM_STAGE:String = "removedFromStage";
public static const ADDED_TO_STAGE:String = "addedToStage";
+ public static const MOUSE_LEAVE:String = "mouseLeave";
+ public static const ENTER_FRAME:String = "enterFrame";
//--------------------------------------
// Constructor
@@ -177,6 +179,8 @@ package org.apache.royale.events
public static const CONNECT:String = "connect";
public static const REMOVED_FROM_STAGE:String = "removedFromStage";
public static const ADDED_TO_STAGE:String = "addedToStage";
+ public static const MOUSE_LEAVE:String = "mouseLeave";
+ public static const ENTER_FRAME:String = "enterFrame";
public function Event(type:String, bubbles:Boolean = false, cancelable:Boolean = false) {
super(type);
@@ -234,6 +238,19 @@ package org.apache.royale.events
return true;
return false;
}
+
+ public function get eventPhase():uint {
+ return 0;
+ }
+
+ COMPILE::JS {
+ public function formatToString(className:String, ... arguments):String {
+ for each (var s:String in arguments)
+ className += " " + s;
+
+ return className;
+ }
+ }
}
}
diff --git a/frameworks/projects/MXRoyale/src/main/resources/mx-royale-manifest.xml b/frameworks/projects/MXRoyale/src/main/resources/mx-royale-manifest.xml
index b14ee7a..aec4b95 100644
--- a/frameworks/projects/MXRoyale/src/main/resources/mx-royale-manifest.xml
+++ b/frameworks/projects/MXRoyale/src/main/resources/mx-royale-manifest.xml
@@ -234,5 +234,6 @@
<component id="NavBar" class="mx.controls.NavBar" />
<component id="ApplicationControlBar" class="mx.containers.ApplicationControlBar" />
<component id="MultiSelectionList" class="mx.controls.MultiSelectionList"/>
+ <component id="CurrencyFormatter" class="mx.formatters.CurrencyFormatter"/>
</componentPackage>
diff --git a/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as b/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as
index e790057..b3216fb 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as
@@ -404,6 +404,9 @@ internal class MXRoyaleClasses
import mx.utils.Endian; Endian;
import mx.text.Font; Font;
import mx.net.LocalConnection; LocalConnection;
+ import mx.net.ObjectEncoding; ObjectEncoding;
+ import mx.core.ByteArrayAsset; ByteArrayAsset;
+ import mx.core.ContainerRawChildrenList; ContainerRawChildrenList;
}
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/containers/HDividedBox.as b/frameworks/projects/MXRoyale/src/main/royale/mx/containers/HDividedBox.as
index 42279ef..f29b851 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/containers/HDividedBox.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/containers/HDividedBox.as
@@ -78,6 +78,7 @@ public class HDividedBox extends DividedBox
// Constructor
//
//--------------------------------------------------------------------------
+ import org.apache.royale.events.MouseEvent;
/**
* Constructor.
@@ -92,9 +93,34 @@ public class HDividedBox extends DividedBox
super();
typeNames = "HDividedBox";
- super.direction = BoxDirection.HORIZONTAL;
+ super.direction = BoxDirection.HORIZONTAL;
+ addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
+
+ }
+ protected function mouseDownHandler(event:MouseEvent):void
+ {
+ if (event.target != this)
+ {
+ return;
+ }
+ addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
+ topMostEventDispatcher.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
+ }
+ protected function mouseUpHandler(event:MouseEvent):void
+ {
+ removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
+ topMostEventDispatcher.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
}
+ protected function mouseMoveHandler(event:MouseEvent):void
+ {
+ var w1:int = Math.floor(100 * event.localX / width);
+ w1 = Math.min(w1, 95);
+ w1 = Math.max(w1, 5);
+ getChildAt(0).percentWidth = w1;
+ getChildAt(1).percentWidth = 100 - w1;
+ _layout.layout();
+ }
//--------------------------------------------------------------------------
//
// Overridden properties
@@ -116,4 +142,4 @@ public class HDividedBox extends DividedBox
}
}
-}
+}
\ No newline at end of file
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/core/ByteArrayAsset.as b/frameworks/projects/MXRoyale/src/main/royale/mx/core/ByteArrayAsset.as
new file mode 100644
index 0000000..d48c881
--- /dev/null
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/core/ByteArrayAsset.as
@@ -0,0 +1,103 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.core
+{
+
+import mx.utils.ByteArray;
+
+/**
+ * ByteArrayAsset is a subclass of the flash.utils.ByteArray class
+ * which represents an arbitrary sequence of byte data that you embed
+ * in a Flex application.
+ *
+ * <p>The byte data that you are embedding can be in any kind of file,
+ * and the entire file is always embedded.
+ * You cannot embed the bytes of a particular asset that is in a SWF file,
+ * although you can embed an entire SWF file.</p>
+ *
+ * <p>The MXML compiler autogenerates a class that extends ByteArrayAsset
+ * to represent the embedded data.</p>
+ *
+ * <p>To embed an arbitrary file, you declare a variable of type Class,
+ * and put <code>[Embed]</code> metadata on it, using the MIME type
+ * <code>application/octet-stream</code>.
+ * For example, you embed a text file like this:</p>
+ *
+ * <pre>
+ * [Bindable]
+ * [Embed(source="Story.txt", mimeType="application/octet-stream")]
+ * private var storyClass:Class;
+ * </pre>
+ *
+ * <p>The compiler autogenerates a subclass of the ByteArrayAsset class
+ * and sets your variable to be a reference to this autogenerated class.
+ * You can then use this class reference to create instances of the
+ * ByteArrayAsset using the <code>new</code> operator, and you can extract
+ * information from the byte array using methods of the ByteArray class:</p>
+ *
+ * <pre>
+ * var storyByteArray:ByteArrayAsset = ByteArrayAsset(new storyClass());
+ * var story:String = storyByteArray.readUTFBytes(storyByteArray.length);
+ * </pre>
+ *
+ * <p>You must specify that the MIME type for the embedding is
+ * <code>application/octet-stream</code>, which causes the byte data
+ * to be embedded "as is", with no interpretation.
+ * It also causes the autogenerated class to extend ByteArrayAsset
+ * rather than another asset class.</p>
+ *
+ * <p>For example, if you embed a PNG file without specifying this
+ * MIME type, the PNG data will be automatically transcoded
+ * into the bitmap format used by the player, and a subclass
+ * of BitmapAsset will be autogenerated to represent it.
+ * But if you specify the MIME type as <code>application/octet-stream</code>,
+ * then no transcoding will occur, the PNG data will be embedded
+ * as is, and the autogenerated class will extend ByteArrayAsset.</p>
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+public class ByteArrayAsset extends ByteArray /* implements IFlexAsset */
+{
+ //include "../core/Version.as";
+
+ //--------------------------------------------------------------------------
+ //
+ // Constructor
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * Constructor.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ public function ByteArrayAsset()
+ {
+ super();
+ }
+}
+
+}
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/core/Container.as b/frameworks/projects/MXRoyale/src/main/royale/mx/core/Container.as
index 819ded5..3218b6e 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/core/Container.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/core/Container.as
@@ -1755,6 +1755,60 @@ public class Container extends UIComponent
*/
return super.contentMouseY;
}
+
+
+ //----------------------------------
+ // rawChildren
+ //----------------------------------
+
+ /**
+ * @private
+ * The single IChildList object that's always returned
+ * from the rawChildren property, below.
+ */
+ private var _rawChildren:ContainerRawChildrenList;
+
+ /**
+ * A container typically contains child components, which can be enumerated
+ * using the <code>Container.getChildAt()</code> method and
+ * <code>Container.numChildren</code> property. In addition, the container
+ * may contain style elements and skins, such as the border and background.
+ * Flash Player and AIR do not draw any distinction between child components
+ * and skins. They are all accessible using the player's
+ * <code>getChildAt()</code> method and
+ * <code>numChildren</code> property.
+ * However, the Container class overrides the <code>getChildAt()</code> method
+ * and <code>numChildren</code> property (and several other methods)
+ * to create the illusion that
+ * the container's children are the only child components.
+ *
+ * <p>If you need to access all of the children of the container (both the
+ * content children and the skins), then use the methods and properties
+ * on the <code>rawChildren</code> property instead of the regular Container methods.
+ * For example, use the <code>Container.rawChildren.getChildAt())</code> method.
+ * However, if a container creates a ContentPane Sprite object for its children,
+ * the <code>rawChildren</code> property value only counts the ContentPane, not the
+ * container's children.
+ * It is not always possible to determine when a container will have a ContentPane.</p>
+ *
+ * <p><b>Note:</b>If you call the <code>addChild</code> or
+ * <code>addChildAt</code> method of the <code>rawChildren</code> object,
+ * set <code>tabFocusEnabled = false</code> on the component that you have added.
+ * Doing so prevents users from tabbing to the visual-only component
+ * that you have added.</p>
+ *
+ * @langversion 3.0
+ * @playerversion Flash 9
+ * @playerversion AIR 1.1
+ * @productversion Flex 3
+ */
+ public function get rawChildren():IChildList
+ {
+ if (!_rawChildren)
+ _rawChildren = new ContainerRawChildrenList(this);
+
+ return _rawChildren;
+ }
}
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/core/ContainerRawChildrenList.as b/frameworks/projects/MXRoyale/src/main/royale/mx/core/ContainerRawChildrenList.as
new file mode 100644
index 0000000..df1f405
--- /dev/null
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/core/ContainerRawChildrenList.as
@@ -0,0 +1,237 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.core
+{
+
+import mx.core.UIComponent;
+import org.apache.royale.geom.Point;
+
+use namespace mx_internal;
+
+//[ExcludeClass]
+
+/**
+ * @private
+ * Helper class for the rawChildren property of the Container class.
+ * For descriptions of the properties and methods,
+ * see the IChildList interface.
+ *
+ * @see mx.core.Container
+ */
+public class ContainerRawChildrenList implements IChildList
+{
+ //include "../core/Version.as";
+
+ //--------------------------------------------------------------------------
+ //
+ // Notes
+ //
+ //--------------------------------------------------------------------------
+
+ /*
+
+ Although at the level of a Flash UIComponentContainer, all
+ children are equal, in a Flex Container some children are "more
+ equal than others". (George Orwell, "Animal Farm")
+
+ In particular, Flex distinguishes between content children and
+ non-content (or "chrome") children. Content children are the kind
+ that can be specified in MXML. If you put several controls
+ into a VBox, those are its content children. Non-content children
+ are the other ones that you get automatically, such as a
+ background/border, scrollbars, the titlebar of a Panel,
+ AccordionHeaders, etc.
+
+ Most application developers are uninterested in non-content children,
+ so Container overrides APIs such as numChildren and getChildAt()
+ to deal only with content children. For example, Container, keeps
+ its own _numChildren counter.
+
+ However, developers of custom containers need to be able to deal
+ with both content and non-content children, so they require similar
+ APIs that operate on all children.
+
+ For the public API, it would be ugly to have double APIs on Container
+ such as getChildAt() and all_getChildAt(). Instead, Container has
+ a public rawChildren property which lets you access APIs which
+ operate on all the children, in the same way that the
+ UIComponentContainer APIs do. For example, getChildAt(0) returns
+ the first content child, while rawChildren.getChildAt(0) returns
+ the first child (either content or non-content).
+
+ This ContainerRawChildrenList class implements the rawChildren
+ property. Note that it simply calls a second set of parallel
+ mx_internal APIs in Container. (They're named, for example,
+ _getChildAt() instead of all_getChildAt()).
+
+ Many of the all-children APIs in Container such as _getChildAt()
+ simply call super.getChildAt() in order to get the implementation
+ in UIComponentContainer. It would be nice if we could eliminate
+ _getChildAt() in Container and simply implement the all-children
+ version in this class by calling the UIComponentContainer method.
+ But once Container overrides getChildAt(), there is no way
+ to call the supermethod through an instance.
+
+ */
+
+ //--------------------------------------------------------------------------
+ //
+ // Constructor
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * @private
+ * Constructor.
+ */
+ public function ContainerRawChildrenList(owner:Container)
+ {
+ super();
+
+ this.owner = owner;
+ }
+
+ //--------------------------------------------------------------------------
+ //
+ // Variables
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * @private
+ */
+ private var owner:Container;
+
+ //--------------------------------------------------------------------------
+ //
+ // Properties
+ //
+ //--------------------------------------------------------------------------
+
+ //----------------------------------
+ // numChildren
+ //----------------------------------
+
+ /**
+ * @private
+ */
+ public function get numChildren():int
+ {
+ // return owner.$numChildren;
+ return null;
+ }
+
+ //--------------------------------------------------------------------------
+ //
+ // Methods
+ //
+ //--------------------------------------------------------------------------
+
+ /**
+ * @private
+ */
+ public function addChild(child:UIComponent):UIComponent
+ {
+ // return owner.rawChildren_addChild(child);
+ return null;
+ }
+
+ /**
+ * @private
+ */
+ public function addChildAt(child:UIComponent, index:int):UIComponent
+ {
+ // return owner.rawChildren_addChildAt(child, index);
+ return null;
+ }
+
+ /**
+ * @private
+ */
+ public function removeChild(child:UIComponent):UIComponent
+ {
+ // return owner.rawChildren_removeChild(child);
+ return null;
+ }
+
+ /**
+ * @private
+ */
+ public function removeChildAt(index:int):UIComponent
+ {
+ // return owner.rawChildren_removeChildAt(index);
+ return null;
+ }
+
+ /**
+ * @private
+ */
+ public function getChildAt(index:int):UIComponent
+ {
+ // return owner.rawChildren_getChildAt(index);
+ return null;
+ }
+
+ /**
+ * @private
+ */
+ public function getChildByName(name:String):UIComponent
+ {
+ // return owner.rawChildren_getChildByName(name);
+ return null;
+ }
+
+ /**
+ * @private
+ */
+ public function getChildIndex(child:UIComponent):int
+ {
+ // return owner.rawChildren_getChildIndex(child);
+ return null;
+ }
+
+ /**
+ * @private
+ */
+ public function setChildIndex(child:UIComponent, newIndex:int):void
+ {
+ // owner.rawChildren_setChildIndex(child, newIndex);
+ }
+
+ /**
+ * @private
+ */
+ public function getObjectsUnderPoint(point:Point):Array
+ {
+ // return owner.rawChildren_getObjectsUnderPoint(point);
+ return null;
+ }
+
+ /**
+ * @private
+ */
+ public function contains(child:UIComponent):Boolean
+ {
+ // return owner.rawChildren_contains(child);
+ return null;
+ }
+}
+
+}
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/events/ChannelEvent.as b/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/events/ChannelEvent.as
index 0a53c42..08cbf0b 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/events/ChannelEvent.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/events/ChannelEvent.as
@@ -315,7 +315,7 @@ public class ChannelEvent extends Event
}
COMPILE::JS
- public function formatToString(className:String, ... args):String
+ override public function formatToString(className:String, ... args):String
{
for each (var s:String in args)
className += " " + s;
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/events/MessageEvent.as b/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/events/MessageEvent.as
index f6f529b..53aeea1 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/events/MessageEvent.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/events/MessageEvent.as
@@ -246,7 +246,7 @@ public class MessageEvent extends Event
}
COMPILE::JS
- public function formatToString(className:String, ... args):String
+ override public function formatToString(className:String, ... args):String
{
for each (var s:String in args)
className += " " + s;
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/events/MessageFaultEvent.as b/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/events/MessageFaultEvent.as
index 1d7d7c6..47849a3 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/events/MessageFaultEvent.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/messaging/events/MessageFaultEvent.as
@@ -299,7 +299,7 @@ public class MessageFaultEvent extends Event
}
COMPILE::JS
- public function formatToString(className:String, ... args):String
+ override public function formatToString(className:String, ... args):String
{
for each (var s:String in args)
className += " " + s;
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/rpc/events/XMLLoadEvent.as b/frameworks/projects/MXRoyale/src/main/royale/mx/rpc/events/XMLLoadEvent.as
index 323bfcd..f1dad51 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/rpc/events/XMLLoadEvent.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/rpc/events/XMLLoadEvent.as
@@ -116,7 +116,7 @@ public class XMLLoadEvent extends Event
}
COMPILE::JS
- public function formatToString(className:String, ... rest):String
+ override public function formatToString(className:String, ... rest):String
{
if (rest)
{
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/system/Capabilities.as b/frameworks/projects/MXRoyale/src/main/royale/mx/system/Capabilities.as
index 521b291..688a6fd 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/system/Capabilities.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/system/Capabilities.as
@@ -64,5 +64,10 @@ package mx.system
trace("serverString in Capabilities is not implemented");
return "";
}
+
+ public static function get version():String {
+ trace("version in Capabilities is not implemented");
+ return "";
+ }
}
}
diff --git a/frameworks/projects/MXRoyale/src/main/royale/mx/utils/ByteArray.as b/frameworks/projects/MXRoyale/src/main/royale/mx/utils/ByteArray.as
index 76f9389..764733b 100644
--- a/frameworks/projects/MXRoyale/src/main/royale/mx/utils/ByteArray.as
+++ b/frameworks/projects/MXRoyale/src/main/royale/mx/utils/ByteArray.as
@@ -60,6 +60,14 @@ COMPILE::JS{
public function writeObject(object:*):void
{
}
+
+ public var _objectEncoding:uint = 0;
+ public function get objectEncoding():uint {
+ return _objectEncoding;
+ }
+ public function set objectEncoding(value:uint):void {
+ _objectEncoding = value;
+ }
}
}