You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by yi...@apache.org on 2020/11/24 15:15:29 UTC

[royale-asjs] branch develop updated (8b661c4 -> ce015c5)

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

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


    from 8b661c4  Merge branch 'develop' of https://github.com/apache/royale-asjs into develop
     new 7323809  Add bead to control text selectability
     new ce015c5  Make Spark Label not selectable

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:
 .../Basic/src/main/resources/basic-manifest.xml    |  1 +
 .../apache/royale/html/beads/SelectableBead.as}    | 63 ++++++++++++----------
 .../src/main/royale/spark/components/Label.as      | 12 ++++-
 3 files changed, 46 insertions(+), 30 deletions(-)
 copy frameworks/projects/{Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/IndexedItemRendererInitializer.as => Basic/src/main/royale/org/apache/royale/html/beads/SelectableBead.as} (55%)


[royale-asjs] 02/02: Make Spark Label not selectable

Posted by yi...@apache.org.
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

commit ce015c57113131e8f45b8beb5dfefe46b16a56e3
Author: Yishay Weiss <yi...@hotmail.com>
AuthorDate: Tue Nov 24 15:15:09 2020 +0000

    Make Spark Label not selectable
---
 .../SparkRoyale/src/main/royale/spark/components/Label.as    | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/Label.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/Label.as
index c1a8058..3ca6762 100644
--- a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/Label.as
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/Label.as
@@ -48,6 +48,7 @@ import flashx.textLayout.formats.TLFTypographicCase; */
 //import mx.core.IEmbeddedFontRegistry;
 //import mx.core.IFlexModuleFactory;
 import mx.core.IUIComponent;
+import org.apache.royale.html.beads.SelectableBead;
 //import mx.core.Singleton;
 import mx.core.mx_internal;
 
@@ -421,8 +422,15 @@ public class Label extends TextBase
         if (GOOG::DEBUG)
             trace("baselineShift not implemented");
     }
-	
-	
+
+    override public function addedToParent():void
+	{
+		super.addedToParent();
+		var selectableBead:SelectableBead = new SelectableBead();
+		selectableBead.selectable = false;
+		addBead(selectableBead);
+	}
+
     public function get digitWidth():String
     {
         return "";


[royale-asjs] 01/02: Add bead to control text selectability

Posted by yi...@apache.org.
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

commit 732380932c519004f86346b9438be9262b60c967
Author: Yishay Weiss <yi...@hotmail.com>
AuthorDate: Tue Nov 24 15:14:32 2020 +0000

    Add bead to control text selectability
---
 .../Basic/src/main/resources/basic-manifest.xml    |  1 +
 .../org/apache/royale/html/beads/SelectableBead.as | 90 ++++++++++++++++++++++
 2 files changed, 91 insertions(+)

diff --git a/frameworks/projects/Basic/src/main/resources/basic-manifest.xml b/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
index bbb4e67..783a233 100644
--- a/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
+++ b/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
@@ -169,6 +169,7 @@
     <component id="ThrottleBead" class="org.apache.royale.html.beads.ThrottleBead"/>
     <component id="UnselectableElementBead" class="org.apache.royale.html.beads.UnselectableElementBead"/>
     <component id="DisableBead" class="org.apache.royale.html.beads.DisableBead" />
+    <component id="SelectableBead" class="org.apache.royale.html.beads.SelectableBead" />
     <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" />
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/SelectableBead.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/SelectableBead.as
new file mode 100644
index 0000000..1e22f50
--- /dev/null
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/SelectableBead.as
@@ -0,0 +1,90 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.core.Bead;
+	import org.apache.royale.core.IRenderedObject;
+	import org.apache.royale.core.IStrand;
+
+	/**
+	 *  SelectableBead changes selectability of text controls such as Label
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10.2
+	 *  @playerversion AIR 2.6
+	 *  @productversion Royale 0.9.8
+	 */
+	public class SelectableBead extends Bead
+	{
+		/**
+		 *  constructor.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion Royale 0.9.8
+		 */
+		public function SelectableBead()
+		{
+		}
+		
+		private var _selectable:Boolean;
+		
+		/**
+		 *  @copy org.apache.royale.core.IBead#strand
+		 *  
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion Royale 0.9.8
+		 */
+		override public function set strand(value:IStrand):void
+		{	
+			_strand = value;
+			updateHost();
+		}
+		
+		public function set selectable(value:Boolean):void
+		{
+			if (value != _selectable)
+			{
+				_selectable = value;
+				if (_strand)
+				{
+					updateHost();
+				}
+			}
+		}
+		
+		/**
+		 * @royaleignorecoercion org.apache.royale.core.IRenderedObject
+		 */
+		private function updateHost():void
+		{
+			COMPILE::JS
+			{
+				(_strand as IRenderedObject).element.style["user-select"] = _selectable ? "auto" : "none";
+				(_strand as IRenderedObject).element.style["-webkit-touch-callout"] = _selectable ? "auto" : "none";
+				(_strand as IRenderedObject).element.style["-webkit-user-select"] = _selectable ? "auto" : "none";
+				(_strand as IRenderedObject).element.style["-moz-user-select"] = _selectable ? "auto" : "none";
+				(_strand as IRenderedObject).element.style["-ms-user-select"] = _selectable ? "auto" : "none";
+			}
+		}
+	}
+}