You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ca...@apache.org on 2020/03/31 13:53:44 UTC
[royale-asjs] branch develop updated: icons: - Add MaterialIcon and
MaterialToggleIcon - Deprecate FontIcon and ToggleFontIcon - Add support
for FontAwesome
This is an automated email from the ASF dual-hosted git repository.
carlosrovira 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 c3dadf1 icons: - Add MaterialIcon and MaterialToggleIcon - Deprecate FontIcon and ToggleFontIcon - Add support for FontAwesome
c3dadf1 is described below
commit c3dadf18218392b7b57c0d55165a3a0eb8ee9314
Author: Carlos Rovira <ca...@apache.org>
AuthorDate: Tue Mar 31 15:53:38 2020 +0200
icons:
- Add MaterialIcon and MaterialToggleIcon
- Deprecate FontIcon and ToggleFontIcon
- Add support for FontAwesome
---
.../Icons/src/main/resources/icons-manifest.xml | 3 ++
.../projects/Icons/src/main/royale/IconsClasses.as | 2 -
.../Icons/src/main/royale/MaterialIconType.as | 4 --
.../icons/{FontIcon.as => FontAwesomeIcon.as} | 60 ++++++++++------------
.../royale/org/apache/royale/icons/FontIcon.as | 37 +++++++++++++
.../royale/org/apache/royale/icons/FontIconBase.as | 48 +++--------------
.../royale/icons/{FontIcon.as => MaterialIcon.as} | 37 ++++++++-----
.../{ToggleFontIcon.as => MaterialToggleIcon.as} | 16 +++---
.../org/apache/royale/icons/ToggleFontIcon.as | 2 +
9 files changed, 108 insertions(+), 101 deletions(-)
diff --git a/frameworks/projects/Icons/src/main/resources/icons-manifest.xml b/frameworks/projects/Icons/src/main/resources/icons-manifest.xml
index a24e31a..b43cf87 100644
--- a/frameworks/projects/Icons/src/main/resources/icons-manifest.xml
+++ b/frameworks/projects/Icons/src/main/resources/icons-manifest.xml
@@ -22,4 +22,7 @@
<componentPackage>
<component id="FontIcon" class="org.apache.royale.icons.FontIcon"/>
<component id="ToggleFontIcon" class="org.apache.royale.icons.ToggleFontIcon"/>
+ <component id="MaterialIcon" class="org.apache.royale.icons.MaterialIcon"/>
+ <component id="MaterialToggleIcon" class="org.apache.royale.icons.MaterialToggleIcon"/>
+ <component id="FontAwesomeIcon" class="org.apache.royale.icons.FontAwesomeIcon"/>
</componentPackage>
diff --git a/frameworks/projects/Icons/src/main/royale/IconsClasses.as b/frameworks/projects/Icons/src/main/royale/IconsClasses.as
index 9a6f7dd..7531f9a 100644
--- a/frameworks/projects/Icons/src/main/royale/IconsClasses.as
+++ b/frameworks/projects/Icons/src/main/royale/IconsClasses.as
@@ -28,8 +28,6 @@ package
internal class IconsClasses
{
import org.apache.royale.icons.FontIconBase; FontIconBase;
- import org.apache.royale.icons.FontIcon; FontIcon;
- import org.apache.royale.icons.ToggleFontIcon; ToggleFontIcon;
MaterialIconType;
}
diff --git a/frameworks/projects/Icons/src/main/royale/MaterialIconType.as b/frameworks/projects/Icons/src/main/royale/MaterialIconType.as
index 3687780..21448cb 100644
--- a/frameworks/projects/Icons/src/main/royale/MaterialIconType.as
+++ b/frameworks/projects/Icons/src/main/royale/MaterialIconType.as
@@ -32,10 +32,6 @@ package
{
/**
* constructor.
- *
- * <inject_html>
- * <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
- * </inject_html>
*
* @langversion 3.0
* @playerversion Flash 10.2
diff --git a/frameworks/projects/Icons/src/main/royale/org/apache/royale/icons/FontIcon.as b/frameworks/projects/Icons/src/main/royale/org/apache/royale/icons/FontAwesomeIcon.as
similarity index 64%
copy from frameworks/projects/Icons/src/main/royale/org/apache/royale/icons/FontIcon.as
copy to frameworks/projects/Icons/src/main/royale/org/apache/royale/icons/FontAwesomeIcon.as
index ca03527..9a0e9da 100644
--- a/frameworks/projects/Icons/src/main/royale/org/apache/royale/icons/FontIcon.as
+++ b/frameworks/projects/Icons/src/main/royale/org/apache/royale/icons/FontAwesomeIcon.as
@@ -18,6 +18,8 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.royale.icons
{
+ import org.apache.royale.utils.StringUtil;
+
/**
* Icons can be used alone or in buttons and other controls
*
@@ -27,54 +29,48 @@ package org.apache.royale.icons
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
- * @productversion Royale 0.9.3
+ * @productversion Royale 0.9.7
*/
- public class FontIcon extends FontIconBase
+ public class FontAwesomeIcon extends FontIconBase
{
/**
* constructor.
+ *
+ * <inject_html>
+ * <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
+ * </inject_html>
*
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
- * @productversion Royale 0.9.3
+ * @productversion Royale 0.9.7
*/
- public function FontIcon()
+ public function FontAwesomeIcon()
{
super();
- typeNames = "fonticon";
+ typeNames = "fonticon fa";
}
-
- /**
- * The text of the icon
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion Royale 0.9.3
- */
- override public function set text(value:String):void
- {
- super.text = value;
- COMPILE::JS
- {
- textNode.nodeValue = _text;
- }
- }
+ protected var _type:String;
- /**
- * The icon text
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion Royale 0.9.3
- */
- override protected function get iconText():String
+ public function get type():String
{
- return text;
+ return _type;
}
+ public function set type(value:String):void
+ {
+ COMPILE::JS
+ {
+ element.classList.remove(value);
+ }
+
+ _type = value;
+
+ COMPILE::JS
+ {
+ element.classList.add(_type);
+ }
+ }
}
}
diff --git a/frameworks/projects/Icons/src/main/royale/org/apache/royale/icons/FontIcon.as b/frameworks/projects/Icons/src/main/royale/org/apache/royale/icons/FontIcon.as
index ca03527..7a2a2b6 100644
--- a/frameworks/projects/Icons/src/main/royale/org/apache/royale/icons/FontIcon.as
+++ b/frameworks/projects/Icons/src/main/royale/org/apache/royale/icons/FontIcon.as
@@ -18,6 +18,8 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.royale.icons
{
+ import org.apache.royale.utils.StringUtil;
+
/**
* Icons can be used alone or in buttons and other controls
*
@@ -28,6 +30,8 @@ package org.apache.royale.icons
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion Royale 0.9.3
+ *
+ * @deprecated this class will be removed soon
*/
public class FontIcon extends FontIconBase
{
@@ -76,5 +80,38 @@ package org.apache.royale.icons
{
return text;
}
+
+ private var _material:Boolean;
+ /**
+ * add class name "material-icons" since in IE11 this font only
+ * works with that class name strangely. it seems we can avoid this
+ * self-hosting the fonts @see https://google.github.io/material-design-icons/
+ * but we must think if this is or not the right way.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.3
+ */
+ public function get material():Boolean
+ {
+ return _material;
+ }
+ public function set material(value:Boolean):void
+ {
+ if (_material != value)
+ {
+ _material = value;
+
+ typeNames = StringUtil.removeWord(typeNames, " material-icons");
+ typeNames += " material-icons";
+
+ COMPILE::JS
+ {
+ if (parent)
+ setClassName(computeFinalClassNames());
+ }
+ }
+ }
}
}
diff --git a/frameworks/projects/Icons/src/main/royale/org/apache/royale/icons/FontIconBase.as b/frameworks/projects/Icons/src/main/royale/org/apache/royale/icons/FontIconBase.as
index bb1236c..64dab45 100644
--- a/frameworks/projects/Icons/src/main/royale/org/apache/royale/icons/FontIconBase.as
+++ b/frameworks/projects/Icons/src/main/royale/org/apache/royale/icons/FontIconBase.as
@@ -18,15 +18,13 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.royale.icons
{
- import org.apache.royale.core.IIcon;
- import org.apache.royale.core.StyledUIBase;
- import org.apache.royale.utils.StringUtil;
-
COMPILE::JS
{
- import org.apache.royale.core.WrappedHTMLElement;
- import org.apache.royale.html.util.addElementToWrapper;
+ import org.apache.royale.core.WrappedHTMLElement;
+ import org.apache.royale.html.util.addElementToWrapper;
}
+ import org.apache.royale.core.IIcon;
+ import org.apache.royale.core.StyledUIBase;
/**
* FontIconBase is the base class to provide most common features
@@ -86,11 +84,10 @@ package org.apache.royale.icons
var i:WrappedHTMLElement = addElementToWrapper(this,'i');
textNode = document.createTextNode(iconText) as Text;
+ textNode.textContent = '';
i.appendChild(textNode);
- positioner = element;
-
- return i;
+ return element;
}
/**
@@ -107,39 +104,6 @@ package org.apache.royale.icons
return "";
}
- private var _material:Boolean;
- /**
- * add class name "material-icons" since in IE11 this font only
- * works with that class name strangely. it seems we can avoid this
- * self-hosting the fonts @see https://google.github.io/material-design-icons/
- * but we must think if this is or not the right way.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion Royale 0.9.3
- */
- public function get material():Boolean
- {
- return _material;
- }
- public function set material(value:Boolean):void
- {
- if (_material != value)
- {
- _material = value;
-
- typeNames = StringUtil.removeWord(typeNames, " material-icons");
- typeNames += " material-icons";
-
- COMPILE::JS
- {
- if (parent)
- setClassName(computeFinalClassNames());
- }
- }
- }
-
private var _size:Number = 24;
/**
* Activate "size-XX" size class selector. Although the icons in the
diff --git a/frameworks/projects/Icons/src/main/royale/org/apache/royale/icons/FontIcon.as b/frameworks/projects/Icons/src/main/royale/org/apache/royale/icons/MaterialIcon.as
similarity index 67%
copy from frameworks/projects/Icons/src/main/royale/org/apache/royale/icons/FontIcon.as
copy to frameworks/projects/Icons/src/main/royale/org/apache/royale/icons/MaterialIcon.as
index ca03527..e58bed3 100644
--- a/frameworks/projects/Icons/src/main/royale/org/apache/royale/icons/FontIcon.as
+++ b/frameworks/projects/Icons/src/main/royale/org/apache/royale/icons/MaterialIcon.as
@@ -23,36 +23,47 @@ package org.apache.royale.icons
*
* This class could be used with any icon family out there and with
* its text property
+ *
+ * add class name "material-icons" since in IE11 this font only
+ * works with that class name strangely. it seems we can avoid this
+ * self-hosting the fonts @see https://google.github.io/material-design-icons/
+ * but we must think if this is or not the right way.
+ *
*
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
- * @productversion Royale 0.9.3
+ * @productversion Royale 0.9.7
+ *
*/
- public class FontIcon extends FontIconBase
+ public class MaterialIcon extends FontIconBase
{
/**
* constructor.
+ *
+ * <inject_html>
+ * <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
+ * </inject_html>
*
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
- * @productversion Royale 0.9.3
+ * @productversion Royale 0.9.7
*/
- public function FontIcon()
+ public function MaterialIcon()
{
super();
- typeNames = "fonticon";
+ typeNames = "fonticon material-icons";
}
-
+
/**
* The text of the icon
*
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
- * @productversion Royale 0.9.3
+ * @productversion Royale 0.9.7
*/
override public function set text(value:String):void
{
@@ -60,7 +71,7 @@ package org.apache.royale.icons
COMPILE::JS
{
- textNode.nodeValue = _text;
+ textNode.textContent = _text;
}
}
@@ -70,11 +81,11 @@ package org.apache.royale.icons
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
- * @productversion Royale 0.9.3
+ * @productversion Royale 0.9.7
*/
- override protected function get iconText():String
- {
- return text;
- }
+ // override protected function get iconText():String
+ // {
+ // return text;
+ // }
}
}
diff --git a/frameworks/projects/Icons/src/main/royale/org/apache/royale/icons/ToggleFontIcon.as b/frameworks/projects/Icons/src/main/royale/org/apache/royale/icons/MaterialToggleIcon.as
similarity index 88%
copy from frameworks/projects/Icons/src/main/royale/org/apache/royale/icons/ToggleFontIcon.as
copy to frameworks/projects/Icons/src/main/royale/org/apache/royale/icons/MaterialToggleIcon.as
index b6a599f..6b81ded 100644
--- a/frameworks/projects/Icons/src/main/royale/org/apache/royale/icons/ToggleFontIcon.as
+++ b/frameworks/projects/Icons/src/main/royale/org/apache/royale/icons/MaterialToggleIcon.as
@@ -29,9 +29,9 @@ package org.apache.royale.icons
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
- * @productversion Royale 0.9.3
+ * @productversion Royale 0.9.7
*/
- public class ToggleFontIcon extends FontIcon implements ISelectable
+ public class MaterialToggleIcon extends MaterialIcon implements ISelectable
{
/**
* constructor.
@@ -39,9 +39,9 @@ package org.apache.royale.icons
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
- * @productversion Royale 0.9.3
+ * @productversion Royale 0.9.7
*/
- public function ToggleFontIcon()
+ public function MaterialToggleIcon()
{
super();
}
@@ -54,7 +54,7 @@ package org.apache.royale.icons
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
- * @productversion Royale 0.9.3
+ * @productversion Royale 0.9.7
*/
public function get selected():Boolean
{
@@ -77,7 +77,7 @@ package org.apache.royale.icons
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
- * @productversion Royale 0.9.3
+ * @productversion Royale 0.9.7
*/
public function get selectedText():String
{
@@ -99,7 +99,7 @@ package org.apache.royale.icons
{
COMPILE::JS
{
- textNode.nodeValue = _selected ? _selectedText : _text;
+ textNode.textContent = _selected ? _selectedText : _text;
}
}
@@ -109,7 +109,7 @@ package org.apache.royale.icons
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
- * @productversion Royale 0.9.3
+ * @productversion Royale 0.9.7
*/
override protected function get iconText():String
{
diff --git a/frameworks/projects/Icons/src/main/royale/org/apache/royale/icons/ToggleFontIcon.as b/frameworks/projects/Icons/src/main/royale/org/apache/royale/icons/ToggleFontIcon.as
index b6a599f..ff577a5 100644
--- a/frameworks/projects/Icons/src/main/royale/org/apache/royale/icons/ToggleFontIcon.as
+++ b/frameworks/projects/Icons/src/main/royale/org/apache/royale/icons/ToggleFontIcon.as
@@ -30,6 +30,8 @@ package org.apache.royale.icons
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion Royale 0.9.3
+ *
+ * @deprecated this class will be removed soon
*/
public class ToggleFontIcon extends FontIcon implements ISelectable
{