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 2019/12/29 11:44:34 UTC
[royale-asjs] branch develop updated: jewel-datacontainer: Make
StyledUIBase the base class for DataContainerBase, List,
DropDownList and Table components
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 32e0973 jewel-datacontainer: Make StyledUIBase the base class for DataContainerBase, List, DropDownList and Table components
32e0973 is described below
commit 32e0973f523bb54b7286d78502db59be1b4b2821
Author: Carlos Rovira <ca...@apache.org>
AuthorDate: Sun Dec 29 12:44:22 2019 +0100
jewel-datacontainer: Make StyledUIBase the base class for DataContainerBase, List, DropDownList and Table components
---
.../projects/Jewel/src/main/royale/JewelClasses.as | 1 -
.../org/apache/royale/jewel/DataContainer.as | 2 +-
.../royale/org/apache/royale/jewel/DropDownList.as | 2 +-
.../main/royale/org/apache/royale/jewel/List.as | 36 +-----
.../main/royale/org/apache/royale/jewel/Table.as | 2 +-
.../jewel/supportClasses/DataContainerBase.as | 132 ---------------------
.../supportClasses/container/DataContainerBase.as | 125 +++++++++++++++++++
7 files changed, 130 insertions(+), 170 deletions(-)
diff --git a/frameworks/projects/Jewel/src/main/royale/JewelClasses.as b/frameworks/projects/Jewel/src/main/royale/JewelClasses.as
index cb3102a..a30b67f 100644
--- a/frameworks/projects/Jewel/src/main/royale/JewelClasses.as
+++ b/frameworks/projects/Jewel/src/main/royale/JewelClasses.as
@@ -102,7 +102,6 @@ package
import org.apache.royale.jewel.supportClasses.ISelectableContent; ISelectableContent;
import org.apache.royale.jewel.supportClasses.textinput.ITextInput; ITextInput;
- import org.apache.royale.jewel.supportClasses.DataContainerBase; DataContainerBase;
import org.apache.royale.jewel.supportClasses.Viewport; Viewport;
import org.apache.royale.jewel.supportClasses.NoViewport; NoViewport;
import org.apache.royale.jewel.supportClasses.scrollbar.ScrollingViewport; ScrollingViewport;
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/DataContainer.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/DataContainer.as
index 1198377..64f7197 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/DataContainer.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/DataContainer.as
@@ -23,7 +23,7 @@ package org.apache.royale.jewel
import org.apache.royale.core.IListPresentationModel;
import org.apache.royale.core.IListWithPresentationModel;
import org.apache.royale.jewel.beads.models.ListPresentationModel;
- import org.apache.royale.jewel.supportClasses.DataContainerBase;
+ import org.apache.royale.jewel.supportClasses.container.DataContainerBase;
/**
* Indicates that the initialization of the list is complete.
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/DropDownList.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/DropDownList.as
index ee96cb8..795c425 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/DropDownList.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/DropDownList.as
@@ -31,7 +31,7 @@ package org.apache.royale.jewel
import org.apache.royale.core.ISelectionModel;
import org.apache.royale.html.elements.Select;
import org.apache.royale.jewel.beads.models.ListPresentationModel;
- import org.apache.royale.jewel.supportClasses.DataContainerBase;
+ import org.apache.royale.jewel.supportClasses.container.DataContainerBase;
//--------------------------------------
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/List.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/List.as
index e956765..0eeb95d 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/List.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/List.as
@@ -23,8 +23,7 @@ package org.apache.royale.jewel
import org.apache.royale.core.IRollOverModel;
import org.apache.royale.core.ISelectionModel;
import org.apache.royale.jewel.beads.models.ListPresentationModel;
- import org.apache.royale.jewel.supportClasses.DataContainerBase;
- import org.apache.royale.utils.IEmphasis;
+ import org.apache.royale.jewel.supportClasses.container.DataContainerBase;
/**
* Indicates that the initialization of the list is complete.
@@ -64,7 +63,7 @@ package org.apache.royale.jewel
* @playerversion AIR 2.6
* @productversion Royale 0.9.4
*/
- public class List extends DataContainerBase implements IEmphasis
+ public class List extends DataContainerBase
{
/**
* constructor.
@@ -228,36 +227,5 @@ package org.apache.royale.jewel
}
return presModel;
}
-
- private var _emphasis:String;
- /**
- * Applies emphasis color display. Possible constant values are: PRIMARY, SECONDARY, EMPHASIZED.
- * Colors are defined in royale jewel theme CSS.
- *
- * Left without value to get the default look (light or dark).
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion Royale 0.9.7
- */
- public function get emphasis():String
- {
- return _emphasis;
- }
- [Inspectable(category="General", enumeration="primary,secondary,emphasized")]
- public function set emphasis(value:String):void
- {
- if (_emphasis != value)
- {
- if(_emphasis)
- {
- toggleClass(_emphasis, false);
- }
- _emphasis = value;
-
- toggleClass(_emphasis, value);
- }
- }
}
}
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/Table.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/Table.as
index aab7d64..1371ddc 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/Table.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/Table.as
@@ -26,7 +26,7 @@ package org.apache.royale.jewel
}
import org.apache.royale.core.ISelectionModel;
import org.apache.royale.jewel.beads.models.TableModel;
- import org.apache.royale.jewel.supportClasses.DataContainerBase;
+ import org.apache.royale.jewel.supportClasses.container.DataContainerBase;
[DefaultProperty("columns")]
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/DataContainerBase.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/DataContainerBase.as
deleted file mode 100644
index 93a6ab1..0000000
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/DataContainerBase.as
+++ /dev/null
@@ -1,132 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-// 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.jewel.supportClasses
-{
- import org.apache.royale.core.DataContainerBase;
- import org.apache.royale.utils.IClassSelectorListSupport;
- import org.apache.royale.utils.ClassSelectorList;
-
- public class DataContainerBase extends org.apache.royale.core.DataContainerBase implements IClassSelectorListSupport
- {
- /**
- * Constructor.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion Royale 0.0
- */
- public function DataContainerBase()
- {
- classSelectorList = new ClassSelectorList(this);
- super();
- }
-
- protected var classSelectorList:ClassSelectorList;
-
- COMPILE::JS
- override protected function setClassName(value:String):void
- {
- classSelectorList.addNames(value);
- }
-
- /**
- * Add a class selector to the list.
- *
- * @param name Name of selector to add.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion Royale 0.9.3
- */
- public function addClass(name:String):void
- {
- COMPILE::JS
- {
- classSelectorList.add(name);
- }
- }
-
- /**
- * Removes a class selector from the list.
- *
- * @param name Name of selector to remove.
- *
- * @royaleignorecoercion HTMLElement
- * @royaleignorecoercion DOMTokenList
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion Royale 0.9.3
- */
- public function removeClass(name:String):void
- {
- COMPILE::JS
- {
- classSelectorList.remove(name);
- }
- }
-
- /**
- * Add or remove a class selector to/from the list.
- *
- * @param name Name of selector to add or remove.
- * @param value True to add, False to remove.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion Royale 0.9.3
- */
- public function toggleClass(name:String, value:Boolean):void
- {
- COMPILE::JS
- {
- classSelectorList.toggle(name, value);
- }
- }
-
- /**
- * Search for the name in the element class list
- *
- * @param name Name of selector to find.
- * @return return true if the name is found or false otherwise.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion Royale 0.9.3
- */
- public function containsClass(name:String):Boolean
- {
- COMPILE::JS
- {
- return classSelectorList.contains(name);
- }
- COMPILE::SWF
- {//not implemented
- return false;
- }
- }
-
- }
-
-}
\ No newline at end of file
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/container/DataContainerBase.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/container/DataContainerBase.as
new file mode 100644
index 0000000..c4ef1ab
--- /dev/null
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/container/DataContainerBase.as
@@ -0,0 +1,125 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// 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.jewel.supportClasses.container
+{
+ import org.apache.royale.core.IFactory;
+ import org.apache.royale.core.IItemRendererProvider;
+ import org.apache.royale.core.ValuesManager;
+ import org.apache.royale.events.Event;
+
+ /**
+ * Indicates that the initialization of the list is complete.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.7
+ */
+ [Event(name="initComplete", type="org.apache.royale.events.Event")]
+
+ /**
+ * The DataContainerBase class is the base class for components that
+ * that have generated content, like lists.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.7
+ */
+ public class DataContainerBase extends ContainerBase implements IItemRendererProvider
+ {
+ /**
+ * Constructor.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.7
+ */
+ public function DataContainerBase()
+ {
+ super();
+ }
+
+ /*
+ * UIBase
+ */
+
+ private var _DCinitialized:Boolean;
+
+ /**
+ * @private
+ */
+ override public function addedToParent():void
+ {
+ if (!_DCinitialized)
+ {
+ ValuesManager.valuesImpl.init(this);
+ _DCinitialized = true;
+ }
+
+ super.addedToParent();
+
+ dispatchEvent(new Event("initComplete"));
+ }
+
+ /*
+ * IList
+ */
+
+ /**
+ * Returns the sub-component that parents all of the item renderers.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.7
+ * @royaleignorecoercion org.apache.royale.html.beads.IListView
+ public function get dataGroup():IItemRendererParent
+ {
+ // The JS-side's view.dataGroup is actually this instance of DataContainerBase
+ return (view as IListView).dataGroup;
+ }
+ */
+
+ /*
+ * IItemRendererProvider
+ */
+
+ private var _itemRenderer:IFactory = null;
+
+ /**
+ * The class or factory used to display each item.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.7
+ */
+ public function get itemRenderer():IFactory
+ {
+ return _itemRenderer;
+ }
+ public function set itemRenderer(value:IFactory):void
+ {
+ _itemRenderer = value;
+ }
+
+ }
+}