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 9c2d5ca Adding a resizable load inicator.
9c2d5ca is described below
commit 9c2d5ca53ef0c67950ff76753f5f2834568de90a
Author: DESKTOP-RH4S838\Yishay <[email protected]>
AuthorDate: Wed Jun 19 08:16:50 2019 +0300
Adding a resizable load inicator.
---
.../Basic/src/main/resources/basic-manifest.xml | 1 +
.../apache/royale/html/beads/DisableLoaderBead.as | 6 +-
.../html/beads/ShrinkableDisableLoaderBead.as | 87 ++++++++++++++++++++++
3 files changed, 91 insertions(+), 3 deletions(-)
diff --git a/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
b/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
index a2239a7..284cf5c 100644
--- a/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
+++ b/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
@@ -161,6 +161,7 @@
<component id="DisableBead"
class="org.apache.royale.html.beads.DisableBead" />
<component id="DisabledAlphaBead"
class="org.apache.royale.html.beads.DisabledAlphaBead" />
<component id="DisableLoaderBead"
class="org.apache.royale.html.beads.DisableLoaderBead" />
+ <component id="ShrinkableDisableLoaderBead"
class="org.apache.royale.html.beads.ShrinkableDisableLoaderBead" />
<component id="DisableChildrenBead"
class="org.apache.royale.html.beads.DisableChildrenBead" />
<component id="NumericOnlyTextInputBead"
class="org.apache.royale.html.accessories.NumericOnlyTextInputBead" />
<component id="PasswordInputBead"
class="org.apache.royale.html.accessories.PasswordInputBead" />
diff --git
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DisableLoaderBead.as
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DisableLoaderBead.as
index a233bdf..19ef75b 100644
---
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DisableLoaderBead.as
+++
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DisableLoaderBead.as
@@ -56,8 +56,8 @@ package org.apache.royale.html.beads
{
}
- private var _strand:IStrand;
- private var _loader:IUIBase;
+ protected var _strand:IStrand;
+ protected var _loader:IUIBase;
/**
* @copy org.apache.royale.core.IBead#strand
@@ -85,7 +85,7 @@ package org.apache.royale.html.beads
/**
* @royaleignorecoercion org.apache.royale.core.IUIBase
*/
- private function get host():IUIBase
+ protected function get host():IUIBase
{
return _strand as IUIBase;
}
diff --git
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ShrinkableDisableLoaderBead.as
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ShrinkableDisableLoaderBead.as
new file mode 100644
index 0000000..d0f697b
--- /dev/null
+++
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ShrinkableDisableLoaderBead.as
@@ -0,0 +1,87 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// 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 org.apache.royale.html.beads
+{
+ import org.apache.royale.html.LoadIndicator;
+ import org.apache.royale.utils.PointUtils;
+ import org.apache.royale.core.IPopUpHost;
+ import org.apache.royale.utils.UIUtils;
+ import org.apache.royale.geom.Point;
+ import org.apache.royale.core.IUIBase;
+ /**
+ * The ShrinkableDisableLoaderBead extends DisableLoaderBead to allow
shrinking of the load indicator.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.6
+ */
+ public class ShrinkableDisableLoaderBead extends DisableLoaderBead
+ {
+ private var _resizeFactor:Number = 1;
+ /**
+ * constructor.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.6
+ */
+ public function ShrinkableDisableLoaderBead()
+ {
+ super();
+ }
+
+ /**
+ * The size of the load indicator relative to the strand.
+ * If it's 0.5 it's half the size.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.6
+ */
+ public function get resizeFactor():Number
+ {
+ return _resizeFactor;
+ }
+
+ public function set resizeFactor(value:Number):void
+ {
+ _resizeFactor = value;
+ }
+
+ override protected function addLoadIndicator():void
+ {
+ var point:Point = PointUtils.localToGlobal(new Point(0,
0), _strand);
+ _loader = new LoadIndicator();
+ _loader.width = (_strand as IUIBase).width *
_resizeFactor;
+ _loader.height = (_strand as IUIBase).height *
_resizeFactor;
+ _loader.x = point.x + (_strand as IUIBase).width / 2 -
_loader.width / 2;
+ _loader.y = point.y + (_strand as IUIBase).height / 2 -
_loader.height / 2;
+ COMPILE::JS
+ {
+ _loader.element.style.position = "absolute";
+ }
+ var popupHost:IPopUpHost = UIUtils.findPopUpHost(host);
+ popupHost.popUpParent.addElement(_loader);
+ }
+
+ }
+}