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/23 06:52:40 UTC
[royale-asjs] 02/09: more attempts to use Form Skins
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
commit a612f3c57beb4a3564d31c1666c6e337978c592a
Author: Alex Harui <ah...@apache.org>
AuthorDate: Mon Dec 16 01:10:43 2019 -0800
more attempts to use Form Skins
---
.../SparkRoyale/src/main/resources/defaults.css | 2 ++
.../src/main/royale/spark/components/Form.as | 2 ++
.../src/main/royale/spark/components/FormItem.as | 2 ++
.../royale/spark/components/SkinnableContainer.as | 4 ++--
.../components/beads/SkinnableContainerView.as | 6 ++++--
.../components/beads/SparkSkinScrollingViewport.as | 8 ++++++-
.../supportClasses/SkinnableContainerBase.as | 4 ++--
.../main/royale/spark/layouts/ConstraintLayout.as | 25 +++++++++++-----------
.../src/main/royale/spark/layouts/FormLayout.as | 2 +-
9 files changed, 35 insertions(+), 20 deletions(-)
diff --git a/frameworks/projects/SparkRoyale/src/main/resources/defaults.css b/frameworks/projects/SparkRoyale/src/main/resources/defaults.css
index 48705da..263f982 100644
--- a/frameworks/projects/SparkRoyale/src/main/resources/defaults.css
+++ b/frameworks/projects/SparkRoyale/src/main/resources/defaults.css
@@ -120,11 +120,13 @@ DropDownList
Form
{
skinClass: ClassReference("spark.skins.spark.FormSkin");
+ IViewport: ClassReference("spark.components.beads.SparkSkinScrollingViewport");
}
FormItem
{
skinClass: ClassReference("spark.skins.spark.FormItemSkin");
+ IViewport: ClassReference("spark.components.beads.SparkSkinScrollingViewport");
}
List
diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/Form.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/Form.as
index 9ddf272..0bd6a30 100644
--- a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/Form.as
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/Form.as
@@ -125,6 +125,8 @@ package spark.components
public function Form()
{
super();
+ typeNames += " Form";
+
// addEventListener(FlexEvent.VALID, validHandler, true);
// addEventListener(FlexEvent.INVALID, invalidHandler, true);
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 d5aa302..f29c132 100644
--- a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/FormItem.as
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/FormItem.as
@@ -129,6 +129,8 @@ package spark.components
public function FormItem()
{
super();
+ typeNames += " FormItem";
+
// Set these here instead of in the CSS type selector for Form
// We want to hide the fact that the Form itself doesn't show
// the error skin or error tip, but that its children do.
diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/SkinnableContainer.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/SkinnableContainer.as
index a7c8cad..f612a3a 100644
--- a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/SkinnableContainer.as
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/SkinnableContainer.as
@@ -27,13 +27,13 @@ import mx.core.IVisualElementContainer;
import mx.events.FlexEvent;
import mx.utils.BitFlagUtil;
-import spark.components.supportClasses.SkinnableContainerBase;
import spark.events.ElementExistenceEvent;
*/
import mx.core.IUIComponent;
import mx.core.IVisualElement;
import mx.core.mx_internal;
+import spark.components.supportClasses.SkinnableContainerBase;
import spark.components.supportClasses.SkinnableComponent;
import spark.components.supportClasses.GroupBase;
import spark.components.beads.SkinnableContainerView;
@@ -366,7 +366,7 @@ include "../styles/metadata/SelectionFormatTextStyles.as"
* @playerversion AIR 1.5
* @productversion Royale 0.9.4
*/
-public class SkinnableContainer extends SkinnableComponent implements IContainer, IContainerBaseStrandChildrenHost
+public class SkinnableContainer extends SkinnableContainerBase implements IContainer, IContainerBaseStrandChildrenHost
{// SkinnableContainerBase
// implements IDeferredContentOwner, IVisualElementContainer
// include "../core/Version.as";
diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/SkinnableContainerView.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/SkinnableContainerView.as
index ca63c80..7e4ece8 100644
--- a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/SkinnableContainerView.as
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/SkinnableContainerView.as
@@ -59,9 +59,11 @@ public class SkinnableContainerView extends SparkContainerView
{
var chost:IContainer = host as IContainer;
var skinhost:SkinnableComponent = host as SkinnableComponent;
- if (chost != null && chost != viewport.contentView) {
+ if (chost != null && chost != viewport.contentView && skinhost.skin) {
chost.addElement(skinhost.skin);
- }
+ }
+ else
+ super.addViewport();
}
}
diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/SparkSkinScrollingViewport.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/SparkSkinScrollingViewport.as
index d2fa6cf..0f4843e 100644
--- a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/SparkSkinScrollingViewport.as
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/SparkSkinScrollingViewport.as
@@ -33,6 +33,7 @@ import org.apache.royale.core.IUIBase;
import org.apache.royale.core.IViewport;
import org.apache.royale.core.UIBase;
import org.apache.royale.core.ValuesManager;
+import org.apache.royale.events.Event;
import org.apache.royale.geom.Size;
COMPILE::SWF
@@ -90,9 +91,14 @@ public class SparkSkinScrollingViewport implements IViewport
var c:Class = ValuesManager.valuesImpl.getValue(value, "skinClass") as Class;
host.setSkin(new c());
+ host.skin.addEventListener("initComplete", initCompleteHandler);
+ contentArea = host.skin; // temporary assigment so that SkinnableContainer.addElement can add the skin
+ }
+
+ private function initCompleteHandler(event:Event):void
+ {
contentArea = host.skin["contentGroup"];
-
COMPILE::JS
{
setScrollStyle();
diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/supportClasses/SkinnableContainerBase.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/supportClasses/SkinnableContainerBase.as
index 5f3aa8f..dfef503 100644
--- a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/supportClasses/SkinnableContainerBase.as
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/supportClasses/SkinnableContainerBase.as
@@ -34,7 +34,7 @@ import mx.managers.IFocusManagerContainer;
* @playerversion AIR 1.5
* @productversion Flex 4
*/
-[SkinState("normal")]
+//[SkinState("normal")]
/**
* Disabled State
@@ -44,7 +44,7 @@ import mx.managers.IFocusManagerContainer;
* @playerversion AIR 1.5
* @productversion Flex 4
*/
-[SkinState("disabled")]
+//[SkinState("disabled")]
//--------------------------------------
// Excluded APIs
diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/layouts/ConstraintLayout.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/layouts/ConstraintLayout.as
index 069c55f..07c6fbd 100644
--- a/frameworks/projects/SparkRoyale/src/main/royale/spark/layouts/ConstraintLayout.as
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/layouts/ConstraintLayout.as
@@ -255,7 +255,8 @@ public class ConstraintLayout extends LayoutBase
// constraintColumns
//----------------------------------
- private var _constraintColumns:Vector.<ConstraintColumn> = new Vector.<ConstraintColumn>(0, true);
+ // MXML assignment of vector not working right now
+ private var _constraintColumns:Array = []; //Vector.<ConstraintColumn> = new Vector.<ConstraintColumn>(0, true);
// An associative array of column id --> column index
private var columnsObject:Object = {};
@@ -269,7 +270,7 @@ public class ConstraintLayout extends LayoutBase
* @playerversion AIR 1.5
* @productversion Flex 4.5
*/
- public function get constraintColumns():Vector.<ConstraintColumn>
+ public function get constraintColumns():Array //Vector.<ConstraintColumn>
{
// make defensive copy
return _constraintColumns.slice();
@@ -278,19 +279,19 @@ public class ConstraintLayout extends LayoutBase
/**
* @private
*/
- public function set constraintColumns(value:Vector.<ConstraintColumn>):void
+ public function set constraintColumns(value:Array /*Vector.<ConstraintColumn>*/):void
{
// clear constraintColumns
if (value == null)
{
- _constraintColumns = new Vector.<ConstraintColumn>(0, true);
+ _constraintColumns = []; // new Vector.<ConstraintColumn>(0, true);
columnsObject = {};
return;
}
var n:int = value.length;
var col:ConstraintColumn;
- var temp:Vector.<ConstraintColumn> = value.slice();
+ var temp:Array /*Vector.<ConstraintColumn>*/ = value.slice();
var obj:Object = {};
for (var i:int = 0; i < n; i++)
@@ -314,7 +315,7 @@ public class ConstraintLayout extends LayoutBase
// constraintRows
//----------------------------------
- private var _constraintRows:Vector.<ConstraintRow> = new Vector.<ConstraintRow>(0, true);
+ private var _constraintRows:Array = [] // Vector.<ConstraintRow> = new Vector.<ConstraintRow>(0, true);
// An associative array of row id --> row index
private var rowsObject:Object = {};
@@ -328,7 +329,7 @@ public class ConstraintLayout extends LayoutBase
* @playerversion AIR 1.5
* @productversion Flex 4.5
*/
- public function get constraintRows():Vector.<ConstraintRow>
+ public function get constraintRows():Array //Vector.<ConstraintRow>
{
return _constraintRows.slice();
}
@@ -336,19 +337,19 @@ public class ConstraintLayout extends LayoutBase
/**
* @private
*/
- public function set constraintRows(value:Vector.<ConstraintRow>):void
+ public function set constraintRows(value:Array /*Vector.<ConstraintRow>*/):void
{
// clear constraintRows
if (value == null)
{
- _constraintRows = new Vector.<ConstraintRow>(0, true);
+ _constraintRows = []; //new Vector.<ConstraintRow>(0, true);
rowsObject = {};
return;
}
var n:int = value.length;
var row:ConstraintRow;
- var temp:Vector.<ConstraintRow> = value.slice();
+ var temp:Array /*Vector.<ConstraintRow>*/ = value.slice();
var obj:Object = {};
rowBaselines = new Vector.<Array>();
@@ -616,7 +617,7 @@ public class ConstraintLayout extends LayoutBase
if (value == null)
return;
- var constraintColumns:Vector.<ConstraintColumn> = this._constraintColumns;
+ var constraintColumns:Array /*Vector.<ConstraintColumn>*/ = this._constraintColumns;
var numCols:int = constraintColumns.length;
var totalWidth:Number = 0;
@@ -637,7 +638,7 @@ public class ConstraintLayout extends LayoutBase
if (value == null)
return;
- var constraintRows:Vector.<ConstraintRow> = this._constraintRows;
+ var constraintRows:Array /*Vector.<ConstraintRow>*/ = this._constraintRows;
var numRows:int = constraintRows.length;
var totalHeight:Number = 0;
diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/layouts/FormLayout.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/layouts/FormLayout.as
index 5d6a474..d94d0c6 100644
--- a/frameworks/projects/SparkRoyale/src/main/royale/spark/layouts/FormLayout.as
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/layouts/FormLayout.as
@@ -375,7 +375,7 @@ package spark.layouts
// TODO (klin): What happens when the form items have different types of columns?
const fiLayout:FormItemLayout = getElementLayout(formItems[0]) as FormItemLayout;
- const constraintColumns:Vector.<ConstraintColumn> = fiLayout.constraintColumns;
+ const constraintColumns:Array /*Vector.<ConstraintColumn>*/ = fiLayout.constraintColumns;
const numCols:int = constraintColumns.length;
var col:ConstraintColumn;
var childInfoArray:Array /* of ColumnFlexChildInfo */ = [];