You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ah...@apache.org on 2019/12/26 03:49:19 UTC
[royale-asjs] branch develop updated: auto-generate skinparts
This is an automated email from the ASF dual-hosted git repository.
aharui 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 743ee23 auto-generate skinparts
743ee23 is described below
commit 743ee235938b4a241e732917c8c92a1c5e1668bc
Author: Alex Harui <ah...@apache.org>
AuthorDate: Wed Dec 25 19:49:03 2019 -0800
auto-generate skinparts
---
.../src/main/config/compile-js-config.xml | 1 +
.../src/main/config/compile-swf-config.xml | 1 +
.../src/main/royale/spark/components/FormItem.as | 7 +-----
.../supportClasses/SkinnableComponent.as | 29 +++++++++++++++++++++-
4 files changed, 31 insertions(+), 7 deletions(-)
diff --git a/frameworks/js/projects/SparkRoyaleJS/src/main/config/compile-js-config.xml b/frameworks/js/projects/SparkRoyaleJS/src/main/config/compile-js-config.xml
index 3328d7e..f3fc9c0 100644
--- a/frameworks/js/projects/SparkRoyaleJS/src/main/config/compile-js-config.xml
+++ b/frameworks/js/projects/SparkRoyaleJS/src/main/config/compile-js-config.xml
@@ -52,6 +52,7 @@
<name>ChangeEvent</name>
<name>NonCommittingChangeEvent</name>
<name>Transient</name>
+ <name>SkinPart</name>
</keep-as3-metadata>
<locale/>
diff --git a/frameworks/projects/SparkRoyale/src/main/config/compile-swf-config.xml b/frameworks/projects/SparkRoyale/src/main/config/compile-swf-config.xml
index d14487d..f710ab6 100644
--- a/frameworks/projects/SparkRoyale/src/main/config/compile-swf-config.xml
+++ b/frameworks/projects/SparkRoyale/src/main/config/compile-swf-config.xml
@@ -68,6 +68,7 @@
<name>ChangeEvent</name>
<name>NonCommittingChangeEvent</name>
<name>Transient</name>
+ <name>SkinPart</name>
</keep-as3-metadata>
<locale/>
diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/FormItem.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/FormItem.as
index d8681e3..d16df19 100644
--- a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/FormItem.as
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/FormItem.as
@@ -422,12 +422,7 @@ package spark.components
return "normal";
}
}
-
- override protected function get skinParts():Object
- {
- return { labelDisplay: true, sequenceLabelDisplay: true};
- }
-
+
/**
* @private
*/
diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/supportClasses/SkinnableComponent.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/supportClasses/SkinnableComponent.as
index 5875441..dcbcfa2 100644
--- a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/supportClasses/SkinnableComponent.as
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/supportClasses/SkinnableComponent.as
@@ -31,6 +31,11 @@ import mx.core.IFactory;
import mx.core.mx_internal;
import org.apache.royale.events.Event;
+import org.apache.royale.reflection.TypeDefinition;
+import org.apache.royale.reflection.VariableDefinition;
+import org.apache.royale.reflection.MetaDataDefinition;
+import org.apache.royale.reflection.MetaDataArgDefinition;
+import org.apache.royale.reflection.describeType;
use namespace mx_internal;
import mx.core.UIComponent;
@@ -306,7 +311,29 @@ public class SkinnableComponent extends UIComponent
*/
protected function get skinParts():Object
{
- return null;
+ var parts:Object = {};
+
+ var td:TypeDefinition = describeType(this);
+ var vars:Array = td.variables;
+ for each (var vd:VariableDefinition in vars)
+ {
+ var metadata:Array = vd.metadata;
+ for each (var md:MetaDataDefinition in metadata)
+ {
+ if (md.name == "SkinPart")
+ {
+ var required:Boolean = false;
+ var args:Array = md.args;
+ for each (var arg:MetaDataArgDefinition in args)
+ {
+ if (arg.name == "required")
+ required = (arg.value == "true");
+ }
+ parts[vd.name] = required;
+ }
+ }
+ }
+ return parts;
}
/**