You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ah...@apache.org on 2017/04/18 06:17:54 UTC
[30/50] [abbrv] git commit: [flex-asjs] [refs/heads/dual] - Cleaned
up unused or unnecessary event listeners.
Cleaned up unused or unnecessary event listeners.
Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/f4138d09
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/f4138d09
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/f4138d09
Branch: refs/heads/dual
Commit: f4138d09434cfa192d2fe38339ec98a26179fdd6
Parents: 7f29a98
Author: Peter Ent <pe...@apache.org>
Authored: Sun Apr 9 17:26:43 2017 -0400
Committer: Peter Ent <pe...@apache.org>
Committed: Sun Apr 9 17:26:43 2017 -0400
----------------------------------------------------------------------
.../org/apache/flex/charts/beads/ChartView.as | 20 ++--
.../apache/flex/utils/MXMLDataInterpreter.as | 6 +-
.../flex/org/apache/flex/core/ContainerBase.as | 2 +-
.../org/apache/flex/core/DataContainerBase.as | 88 +++++++++++++---
.../main/flex/org/apache/flex/core/GroupBase.as | 14 ++-
.../src/main/flex/org/apache/flex/core/View.as | 2 +-
.../main/flex/org/apache/flex/html/Container.as | 5 +-
.../flex/org/apache/flex/html/DataContainer.as | 65 +-----------
.../src/main/flex/org/apache/flex/html/Group.as | 2 +-
.../flex/org/apache/flex/html/MXMLBeadView.as | 104 +++++++++----------
.../org/apache/flex/html/beads/ContainerView.as | 24 +----
.../apache/flex/html/beads/DataContainerView.as | 40 +++++--
.../DataItemRendererFactoryForArrayData.as | 3 +-
.../DataItemRendererFactoryForArrayList.as | 3 +-
.../DataItemRendererFactoryForColumnData.as | 4 +-
.../org/apache/flex/html/beads/GroupView.as | 67 ++++++++----
.../flex/org/apache/flex/html/beads/ListView.as | 75 ++++++++-----
.../org/apache/flex/html/beads/PanelView.as | 2 +
.../flex/html/beads/PanelWithControlBarView.as | 1 +
.../TextItemRendererFactoryForArrayData.as | 3 +-
...extItemRendererFactoryForStringVectorData.as | 4 +-
21 files changed, 305 insertions(+), 229 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f4138d09/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/beads/ChartView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/beads/ChartView.as b/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/beads/ChartView.as
index 9ce64a9..0d089c6 100644
--- a/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/beads/ChartView.as
+++ b/frameworks/projects/Charts/src/main/flex/org/apache/flex/charts/beads/ChartView.as
@@ -92,9 +92,19 @@ package org.apache.flex.charts.beads
{
super.completeSetup();
+ performLayout(null);
+ }
+
+ /**
+ * @private
+ */
+ override protected function beadsAddedHandler(event:Event):void
+ {
+ super.beadsAddedHandler(event);
+
dataModel = _strand.getBeadByType(IChartDataModel) as IChartDataModel;
dataModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
-
+
var haxis:IHorizontalAxisBead = _strand.getBeadByType(IHorizontalAxisBead) as IHorizontalAxisBead;
if (haxis && _horizontalAxisGroup == null) {
var m1:Class = ValuesManager.valuesImpl.getValue(_strand, "iHorizontalAxisGroup");
@@ -115,14 +125,6 @@ package org.apache.flex.charts.beads
}
/**
- * @private
- */
- override protected function beadsAddedHandler(event:Event):void
- {
- super.beadsAddedHandler(event);
- }
-
- /**
* The IAxisGroup that represents the horizontal axis.
*
* @langversion 3.0
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f4138d09/frameworks/projects/Core/src/main/flex/org/apache/flex/utils/MXMLDataInterpreter.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/utils/MXMLDataInterpreter.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/utils/MXMLDataInterpreter.as
index 058c5b8..6f24181 100644
--- a/frameworks/projects/Core/src/main/flex/org/apache/flex/utils/MXMLDataInterpreter.as
+++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/utils/MXMLDataInterpreter.as
@@ -337,9 +337,9 @@ public class MXMLDataInterpreter
*/
public static function generateMXMLInstances(document:Object, parent:IParent, data:Array):void
{
- if (!data) return;
-
- generateMXMLArray(document, parent, data);
+ if (data != null) {
+ generateMXMLArray(document, parent, data);
+ }
// maybe we can remove this. All IContainers should be IMXMLDocuments?
if (parent is IContainer)
{
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f4138d09/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ContainerBase.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ContainerBase.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ContainerBase.as
index 7f0be01..0dcb0e3 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ContainerBase.as
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/ContainerBase.as
@@ -66,7 +66,7 @@ package org.apache.flex.core
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public class ContainerBase extends GroupBase implements IContainer, IStrandPrivate
+ public class ContainerBase extends GroupBase implements IStrandPrivate
{
/**
* Constructor.
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f4138d09/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/DataContainerBase.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/DataContainerBase.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/DataContainerBase.as
index 6d8988f..0f03f67 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/DataContainerBase.as
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/DataContainerBase.as
@@ -19,6 +19,7 @@
package org.apache.flex.core
{
import org.apache.flex.core.ValuesManager;
+ import org.apache.flex.html.beads.IListView;
import org.apache.flex.events.Event;
import org.apache.flex.events.ItemAddedEvent;
import org.apache.flex.events.ItemClickedEvent;
@@ -46,7 +47,7 @@ package org.apache.flex.core
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public class DataContainerBase extends ContainerBase implements IItemRendererParent
+ public class DataContainerBase extends ContainerBase implements IItemRendererParent, IList
{
/**
* Constructor.
@@ -58,9 +59,7 @@ package org.apache.flex.core
*/
public function DataContainerBase()
{
- super();
-
- addEventListener("beadsAdded", beadsAddedHandler);
+ super();
}
/*
@@ -94,14 +93,10 @@ package org.apache.flex.core
super.addedToParent();
- dispatchEvent(new Event("initComplete"));
- }
-
- /**
- * @private
- */
- private function beadsAddedHandler(e:Event):void
- {
+ // Even though super.addedToParent dispatched "beadsAdded", DataContainer still needs its data mapper
+ // and item factory beads. These beads are added after super.addedToParent is called in case substitutions
+ // were made; these are just defaults extracted from CSS.
+
if (getBeadByType(IDataProviderItemRendererMapper) == null)
{
var mapper:IDataProviderItemRendererMapper = new (ValuesManager.valuesImpl.getValue(this, "iDataProviderItemRendererMapper")) as IDataProviderItemRendererMapper;
@@ -113,6 +108,75 @@ package org.apache.flex.core
itemRendererFactory = new (ValuesManager.valuesImpl.getValue(this, "iItemRendererClassFactory")) as IItemRendererClassFactory;
addBead(itemRendererFactory);
}
+
+ 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 FlexJS 0.0
+ */
+ 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;
+
+ /**
+ * The class or factory used to display each item.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function get itemRenderer():IFactory
+ {
+ return _itemRenderer;
+ }
+ public function set itemRenderer(value:IFactory):void
+ {
+ _itemRenderer = value;
+ }
+
+ /**
+ * Returns whether or not the itemRenderer property has been set.
+ *
+ * @see org.apache.flex.core.IItemRendererProvider
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function get hasItemRenderer():Boolean
+ {
+ var result:Boolean = false;
+
+ COMPILE::SWF {
+ result = _itemRenderer != null;
+ }
+
+ COMPILE::JS {
+ var test:* = _itemRenderer;
+ result = _itemRenderer !== null && test !== undefined;
+ }
+
+ return result;
}
/*
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f4138d09/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/GroupBase.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/GroupBase.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/GroupBase.as
index 0c2797b..e4dfb1f 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/GroupBase.as
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/GroupBase.as
@@ -72,7 +72,7 @@ package org.apache.flex.core
* @playerversion AIR 2.6
* @productversion FlexJS 0.8
*/
- public class GroupBase extends UIBase implements IStatesObject, ILayoutParent, ILayoutView, IContentViewHost
+ public class GroupBase extends UIBase implements IStatesObject, IContainer, ILayoutParent, ILayoutView, IContentViewHost
{
/**
* Constructor.
@@ -100,6 +100,10 @@ package org.apache.flex.core
return element;
}
+
+ /*
+ * IContainer
+ */
/**
* @private
@@ -109,6 +113,10 @@ package org.apache.flex.core
dispatchEvent(new Event("childrenAdded"));
}
+ /*
+ * Utility
+ */
+
/**
* Dispatches a "layoutNeeded" event
*
@@ -122,6 +130,10 @@ package org.apache.flex.core
dispatchEvent( new Event("layoutNeeded") );
}
+ /*
+ * ILayoutParent
+ */
+
/**
* Returns the ILayoutHost which is its view. From ILayoutParent.
*
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f4138d09/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/View.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/View.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/View.as
index 4f083b4..27882f3 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/View.as
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/core/View.as
@@ -71,7 +71,7 @@ package org.apache.flex.core
dispatchEvent(new Event("initComplete"));
_initialized = true;
- childrenAdded();
+ // - why was this added here? childrenAdded(); //?? Is this necessary since MXMLDataInterpreter will already have called it
}
}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f4138d09/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Container.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Container.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Container.as
index eb39c88..cbcf526 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Container.as
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Container.as
@@ -18,7 +18,6 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.html
{
- import org.apache.flex.core.IContainer;
import org.apache.flex.core.ContainerBase;
import org.apache.flex.core.IMXMLDocument;
import org.apache.flex.core.ValuesManager;
@@ -68,7 +67,7 @@ package org.apache.flex.html
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public class Container extends ContainerBase implements IMXMLDocument, IContainer
+ public class Container extends ContainerBase implements IMXMLDocument
{
/**
* Constructor.
@@ -108,7 +107,7 @@ package org.apache.flex.html
dispatchEvent(new Event("initComplete"));
_initialized = true;
- childrenAdded();
+ //?? why is this here? childrenAdded(); //?? Is this needed since MXMLDataInterpreter will have already called it
}
}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f4138d09/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataContainer.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataContainer.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataContainer.as
index ec74e3b..231ba42 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataContainer.as
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataContainer.as
@@ -73,7 +73,7 @@ package org.apache.flex.html
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public class DataContainer extends DataContainerBase implements IList
+ public class DataContainer extends DataContainerBase
{
/**
* constructor.
@@ -141,68 +141,5 @@ package org.apache.flex.html
}
return presModel;
}
-
- /*
- * IList and IItemRendererProvider
- */
-
- /**
- * Returns the sub-component that parents all of the item renderers.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get dataGroup():IItemRendererParent
- {
- //return this;
- return (view as IListView).dataGroup;
- }
-
- private var _itemRenderer:IFactory;
-
- /**
- * The class or factory used to display each item.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get itemRenderer():IFactory
- {
- return _itemRenderer;
- }
- public function set itemRenderer(value:IFactory):void
- {
- _itemRenderer = value;
- }
-
- /**
- * Returns whether or not the itemRenderer property has been set.
- *
- * @see org.apache.flex.core.IItemRendererProvider
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- public function get hasItemRenderer():Boolean
- {
- var result:Boolean = false;
-
- COMPILE::SWF {
- result = _itemRenderer != null;
- }
-
- COMPILE::JS {
- var test:* = _itemRenderer;
- result = _itemRenderer !== null && test !== undefined;
- }
-
- return result;
- }
}
}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f4138d09/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Group.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Group.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Group.as
index 2825f43..2b3ddb9 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Group.as
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Group.as
@@ -93,7 +93,7 @@ package org.apache.flex.html
dispatchEvent(new Event("initComplete"));
_initialized = true;
- childrenAdded();
+ //?? why was this added here? childrenAdded(); //?? Is this needed since MXMLDataInterpreter will already have called it
}
}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f4138d09/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/MXMLBeadView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/MXMLBeadView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/MXMLBeadView.as
index 4f19b10..4bfa105 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/MXMLBeadView.as
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/MXMLBeadView.as
@@ -19,7 +19,7 @@
package org.apache.flex.html
{
import org.apache.flex.states.State;
-
+
import org.apache.flex.core.IBead;
import org.apache.flex.core.ILayoutHost;
import org.apache.flex.core.IParent;
@@ -33,12 +33,12 @@ package org.apache.flex.html
import org.apache.flex.utils.MXMLDataInterpreter;
[DefaultProperty("mxmlContent")]
-
+
/**
* The MXMLBeadView class extends ContainerView
* and adds support for databinding and specification
* of children in MXML.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -48,7 +48,7 @@ package org.apache.flex.html
{
/**
* Constructor.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -58,12 +58,12 @@ package org.apache.flex.html
{
super();
}
-
+
[Bindable("strandChanged")]
/**
* An MXMLBeadView doesn't create its children until it is added to
* the strand.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -74,21 +74,21 @@ package org.apache.flex.html
super.strand = value;
// each MXML file can also have styles in fx:Style block
ValuesManager.valuesImpl.init(this);
-
- dispatchEvent(new Event("strandChanged"));
-
+
+ dispatchEvent(new Event("strandChanged"));
+
for each (var bead:IBead in beads)
addBead(bead);
-
+
dispatchEvent(new org.apache.flex.events.Event("beadsAdded"));
MXMLDataInterpreter.generateMXMLInstances(this, IParent(value), MXMLDescriptor);
-
- dispatchEvent(new Event("initBindings"))
- dispatchEvent(new Event("initComplete"))
+
dispatchEvent(new Event("childrenAdded"));
+ dispatchEvent(new Event("initBindings"));
+ dispatchEvent(new Event("initComplete"));
}
-
+
[Bindable("__NoChangeEvent__")]
/**
* The model object.
@@ -97,10 +97,10 @@ package org.apache.flex.html
{
return _strand["model"];
}
-
+
/**
* @copy org.apache.flex.core.Application#MXMLDescriptor
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -110,10 +110,10 @@ package org.apache.flex.html
{
return null;
}
-
+
/**
* @copy org.apache.flex.core.Application#generateMXMLAttributes()
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -123,23 +123,23 @@ package org.apache.flex.html
{
MXMLDataInterpreter.generateMXMLProperties(this, data);
}
-
+
/**
* @copy org.apache.flex.core.ItemRendererClassFactory#mxmlContent
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
public var mxmlContent:Array;
-
+
private var _states:Array;
-
+
/**
* The array of view states. These should
* be instances of org.apache.flex.states.State.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -149,7 +149,7 @@ package org.apache.flex.html
{
return _states;
}
-
+
/**
* @private
*/
@@ -157,7 +157,7 @@ package org.apache.flex.html
{
_states = value;
_currentState = _states[0].name;
-
+
try{
if (getBeadByType(IStatesImpl) == null)
addBead(new (ValuesManager.valuesImpl.getValue(this, "iStatesImpl")) as IBead);
@@ -167,19 +167,19 @@ package org.apache.flex.html
{
COMPILE::SWF
{
- trace(e.message);
+ trace(e.message);
}
}
-
+
}
-
+
/**
* <code>true</code> if the array of states
* contains a state with this name.
- *
+ *
* @param state The state namem.
* @return True if state in state array
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -194,13 +194,13 @@ package org.apache.flex.html
}
return false;
}
-
+
private var _currentState:String;
-
+
[Bindable("currentStateChange")]
/**
* The name of the current state.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -208,9 +208,9 @@ package org.apache.flex.html
*/
public function get currentState():String
{
- return _currentState;
+ return _currentState;
}
-
+
/**
* @private
*/
@@ -220,12 +220,12 @@ package org.apache.flex.html
_currentState = value;
dispatchEvent(event);
}
-
+
private var _transitions:Array;
-
+
/**
* The array of transitions.
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -233,48 +233,48 @@ package org.apache.flex.html
*/
public function get transitions():Array
{
- return _transitions;
+ return _transitions;
}
-
+
/**
* @private
*/
public function set transitions(value:Array):void
{
- _transitions = value;
+ _transitions = value;
}
/**
* @copy org.apache.flex.core.Application#beads
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
public var beads:Array;
-
+
private var _beads:Array;
-
+
/**
* @copy org.apache.flex.core.IStrand#addBead()
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
- */
+ */
public function addBead(bead:IBead):void
{
if (!_beads)
_beads = [];
_beads.push(bead);
- bead.strand = this;
+ bead.strand = this;
}
-
+
/**
* @copy org.apache.flex.core.IStrand#getBeadByType()
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -289,16 +289,16 @@ package org.apache.flex.html
}
return null;
}
-
+
/**
* @copy org.apache.flex.core.IStrand#removeBead()
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- public function removeBead(value:IBead):IBead
+ public function removeBead(value:IBead):IBead
{
var n:int = _beads.length;
for (var i:int = 0; i < n; i++)
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f4138d09/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ContainerView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ContainerView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ContainerView.as
index 9d9fb9a..4de5634 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ContainerView.as
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ContainerView.as
@@ -167,10 +167,6 @@ package org.apache.flex.html.beads
// when the first layout is complete, set up listeners for changes
// to the childrens' sizes.
host.addEventListener("layoutComplete", childrenChangedHandler);
-
- host.addEventListener("widthChanged", resizeHandler);
- host.addEventListener("heightChanged", resizeHandler);
- host.addEventListener("sizeChanged", resizeHandler);
}
/**
@@ -286,7 +282,7 @@ package org.apache.flex.html.beads
* @playerversion AIR 2.6
* @productversion FlexJS 0.0
*/
- protected function resizeHandler(event:Event):void
+ override protected function resizeHandler(event:Event):void
{
if (!adjusting) {
performLayout(event);
@@ -315,24 +311,6 @@ package org.apache.flex.html.beads
child.addEventListener("sizeChanged", childResizeHandler);
}
}
-
- /**
- * This event handles changes to the size of children of the container by running
- * the layout again and adjusting the size of the container or viewport as necessary.
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
- protected function childResizeHandler(event:Event):void
- {
- // during this process we don't want the layout to trigger
- // an endless event chain should any children get resized
- // by the layout.
- if (layoutRunning) return;
- performLayout(event);
- }
}
COMPILE::JS
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f4138d09/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataContainerView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataContainerView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataContainerView.as
index 0dfdb0c..36ed489 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataContainerView.as
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataContainerView.as
@@ -62,6 +62,22 @@ package org.apache.flex.html.beads
super();
}
+ /**
+ * @copy org.apache.flex.core.IBead#strand
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.8
+ */
+ override public function set strand(value:IStrand):void
+ {
+ _strand = value;
+ super.strand = value;
+
+ host.addEventListener("beadsAdded", beadsAddedHandler);
+ }
+
protected var dataModel:IDataProviderModel;
/**
@@ -72,14 +88,19 @@ package org.apache.flex.html.beads
return super.contentView as IItemRendererParent;
}
- override protected function beadsAddedHandler(event:Event):void
+ protected function beadsAddedHandler(event:Event):void
{
-
dataModel = _strand.getBeadByType(IDataProviderModel) as IDataProviderModel;
host.addEventListener("itemsCreated", itemsCreatedHandler);
dataModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
-
- super.beadsAddedHandler(event);
+ }
+
+ /**
+ * @private
+ */
+ override protected function handleInitComplete(event:Event):void
+ {
+ super.handleInitComplete(event);
}
/**
@@ -129,6 +150,8 @@ package org.apache.flex.html.beads
{
_strand = value;
super.strand = value;
+
+ host.addEventListener("beadsAdded", beadsAddedHandler);
}
override protected function completeSetup():void
@@ -142,14 +165,17 @@ package org.apache.flex.html.beads
host.addEventListener("itemsCreated", itemsCreatedHandler);
}
- override protected function beadsAddedHandler(event:Event):void
+ protected function beadsAddedHandler(event:Event):void
{
- super.beadsAddedHandler(event);
-
dataModel = _strand.getBeadByType(IDataProviderModel) as IDataProviderModel;
dataModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
}
+ override protected function handleInitComplete(event:Event):void
+ {
+ super.handleInitComplete(event);
+ }
+
/**
* The area holding the itemRenderers.
*
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f4138d09/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForArrayData.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForArrayData.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForArrayData.as
index 523e8d0..bcd837b 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForArrayData.as
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForArrayData.as
@@ -87,7 +87,6 @@ package org.apache.flex.html.beads
public function set strand(value:IStrand):void
{
_strand = value;
- IEventDispatcher(value).addEventListener("beadsAdded",finishSetup);
IEventDispatcher(value).addEventListener("initComplete",finishSetup);
}
@@ -100,6 +99,8 @@ package org.apache.flex.html.beads
dataProviderModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
labelField = dataProviderModel.labelField;
+ // if the host component inherits from DataContainerBase, the itemRendererClassFactory will
+ // already have been loaded by DataContainerBase.addedToParent function.
_itemRendererFactory = _strand.getBeadByType(IItemRendererClassFactory) as IItemRendererClassFactory;
if (itemRendererFactory == null) {
_itemRendererFactory = new (ValuesManager.valuesImpl.getValue(_strand, "iItemRendererClassFactory")) as IItemRendererClassFactory;
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f4138d09/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForArrayList.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForArrayList.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForArrayList.as
index 8d669dd..c35f07f 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForArrayList.as
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForArrayList.as
@@ -84,7 +84,6 @@ package org.apache.flex.html.beads
public function set strand(value:IStrand):void
{
_strand = value;
- IEventDispatcher(_strand).addEventListener("beadsAdded", finishSetup);
IEventDispatcher(_strand).addEventListener("initComplete", finishSetup);
}
@@ -94,6 +93,8 @@ package org.apache.flex.html.beads
dataProviderModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
labelField = dataProviderModel.labelField;
+ // if the host component inherits from DataContainerBase, the itemRendererClassFactory will
+ // already have been loaded by DataContainerBase.addedToParent function.
_itemRendererFactory = _strand.getBeadByType(IItemRendererClassFactory) as IItemRendererClassFactory;
if (itemRendererFactory == null) {
_itemRendererFactory = new (ValuesManager.valuesImpl.getValue(_strand, "iItemRendererClassFactory")) as IItemRendererClassFactory;
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f4138d09/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForColumnData.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForColumnData.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForColumnData.as
index 64a2240..554a9c9 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForColumnData.as
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataItemRendererFactoryForColumnData.as
@@ -70,7 +70,6 @@ package org.apache.flex.html.beads
public function set strand(value:IStrand):void
{
_strand = value;
- IEventDispatcher(value).addEventListener("beadsAdded",finishSetup);
IEventDispatcher(value).addEventListener("initComplete",finishSetup);
}
@@ -82,7 +81,8 @@ package org.apache.flex.html.beads
selectionModel = _strand.getBeadByType(IDataGridModel) as IDataGridModel;
selectionModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
-
+ // if the host component inherits from DataContainerBase, the itemRendererClassFactory will
+ // already have been loaded by DataContainerBase.addedToParent function.
_itemRendererFactory = _strand.getBeadByType(IItemRendererClassFactory) as IItemRendererClassFactory;
if (itemRendererFactory == null) {
_itemRendererFactory = new (ValuesManager.valuesImpl.getValue(_strand, "iItemRendererClassFactory")) as IItemRendererClassFactory;
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f4138d09/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/GroupView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/GroupView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/GroupView.as
index e4cab81..c3351a5 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/GroupView.as
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/GroupView.as
@@ -115,21 +115,28 @@ package org.apache.flex.html.beads
displayBackgroundAndBorder(host as UIBase);
}
- // listen for initComplete to signal that the strand is set with its size
- // and beads.
- host.addEventListener("beadsAdded", beadsAddedHandler);
+ // listen for initComplete to signal that the strand has been initialized
+ // with its beads and children.
+ host.addEventListener("initComplete", handleInitComplete);
+
+ // listen for when children have been added so additional event listeners
+ // can be placed upon them.
+ host.addEventListener("childrenAdded", handleChildrenAdded);
+
+ // listen for requests to run the layout.
+ host.addEventListener("layoutNeeded", performLayout);
}
/**
* Handles the initComplete event by completing the setup and kicking off the
- * presentation of the Container.
+ * presentation of the contents.
*
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
* @productversion FlexJS 0.8
*/
- protected function beadsAddedHandler(event:Event):void
+ protected function handleInitComplete(event:Event):void
{
var ilc:ILayoutChild = host as ILayoutChild;
// Complete the setup if the height is sized to content or has been explicitly set
@@ -137,9 +144,6 @@ package org.apache.flex.html.beads
if ((ilc.isHeightSizedToContent() || !isNaN(ilc.explicitHeight) || !isNaN(ilc.percentHeight)) &&
(ilc.isWidthSizedToContent() || !isNaN(ilc.explicitWidth) || !isNaN(ilc.percentWidth))) {
completeSetup();
-
- var num:Number = contentView.numElements;
- if (num > 0) performLayout(event);
}
else {
// otherwise, wait until the unknown sizes have been set and then finish
@@ -163,6 +167,7 @@ package org.apache.flex.html.beads
host.removeEventListener("sizeChanged", deferredSizeHandler);
host.removeEventListener("widthChanged", deferredSizeHandler);
host.removeEventListener("heightChanged", deferredSizeHandler);
+
completeSetup();
var num:Number = contentView.numElements;
@@ -183,16 +188,10 @@ package org.apache.flex.html.beads
*/
protected function completeSetup():void
{
- // set up listeners for when children are added or there is a specific request
- // to perform the layout again.
- host.addEventListener("childrenAdded", handleChildrenAdded);
- host.addEventListener("layoutNeeded", performLayout);
- host.addEventListener("viewCreated", viewCreatedHandler);
-
// listen for changes to strand's size and rerun the layout
- host.addEventListener("sizeChanged", performLayout);
- host.addEventListener("widthChanged", performLayout);
- host.addEventListener("heightChanged", performLayout);
+ host.addEventListener("sizeChanged", resizeHandler);
+ host.addEventListener("widthChanged", resizeHandler);
+ host.addEventListener("heightChanged", resizeHandler);
}
/**
@@ -222,13 +221,39 @@ package org.apache.flex.html.beads
var n:Number = contentView.numElements;
for(var i:int=0; i < n; i++) {
var child:IEventDispatcher = contentView.getElementAt(i) as IEventDispatcher;
- child.addEventListener("widthChanged", performLayout);
- child.addEventListener("heightChanged", performLayout);
- child.addEventListener("sizeChanged", performLayout);
+ child.addEventListener("widthChanged", childResizeHandler);
+ child.addEventListener("heightChanged", childResizeHandler);
+ child.addEventListener("sizeChanged", childResizeHandler);
}
}
- performLayout(event);
+ performLayout(event);
+ }
+
+ /**
+ * Invoked in response to the strand being resized.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.8
+ */
+ protected function resizeHandler(event:Event):void
+ {
+ performLayout(event);
+ }
+
+ /**
+ * Invoked in response to any child being resized.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.8
+ */
+ protected function childResizeHandler(event:Event):void
+ {
+ performLayout(event);
}
/**
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f4138d09/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ListView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ListView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ListView.as
index 4087f1c..0f73421 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ListView.as
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/ListView.as
@@ -17,7 +17,7 @@
//
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.html.beads
-{
+{
import org.apache.flex.core.BeadViewBase;
import org.apache.flex.core.ContainerBase;
import org.apache.flex.core.IBead;
@@ -47,10 +47,10 @@ package org.apache.flex.html.beads
import org.apache.flex.html.supportClasses.ScrollBar;
/**
- * The List class creates the visual elements of the org.apache.flex.html.List
- * component. A List consists of the area to display the data (in the dataGroup), any
+ * The List class creates the visual elements of the org.apache.flex.html.List
+ * component. A List consists of the area to display the data (in the dataGroup), any
* scrollbars, and so forth.
- *
+ *
* @viewbead
* @langversion 3.0
* @playerversion Flash 10.2
@@ -64,21 +64,23 @@ package org.apache.flex.html.beads
{
super();
}
-
+
protected var listModel:ISelectionModel;
-
+
protected var lastSelectedIndex:int = -1;
-
- override protected function beadsAddedHandler(event:Event):void
+
+ /**
+ * @private
+ */
+ override protected function handleInitComplete(event:Event):void
{
-
listModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
listModel.addEventListener("selectedIndexChanged", selectionChangeHandler);
- //listModel.addEventListener("rollOverIndexChanged", rollOverIndexChangeHandler);
-
- super.beadsAddedHandler(event);
+ listModel.addEventListener("rollOverIndexChanged", rollOverIndexChangeHandler);
+
+ super.handleInitComplete(event);
}
-
+
protected function selectionChangeHandler(event:Event):void
{
if (lastSelectedIndex != -1)
@@ -93,8 +95,28 @@ package org.apache.flex.html.beads
}
lastSelectedIndex = listModel.selectedIndex;
}
+
+ protected var lastRollOverIndex:int = -1;
+
+ /**
+ * @private
+ */
+ protected function rollOverIndexChangeHandler(event:Event):void
+ {
+ if (lastRollOverIndex != -1)
+ {
+ var ir:ISelectableItemRenderer = dataGroup.getItemRendererForIndex(lastRollOverIndex) as ISelectableItemRenderer;
+ ir.hovered = false;
+ }
+ if (IRollOverModel(listModel).rollOverIndex != -1)
+ {
+ ir = dataGroup.getItemRendererForIndex(IRollOverModel(listModel).rollOverIndex) as ISelectableItemRenderer;
+ ir.hovered = true;
+ }
+ lastRollOverIndex = IRollOverModel(listModel).rollOverIndex;
+ }
}
-
+
COMPILE::SWF
public class ListView extends DataContainerView
{
@@ -102,12 +124,12 @@ package org.apache.flex.html.beads
{
super();
}
-
+
protected var listModel:ISelectionModel;
-
+
/**
* @copy org.apache.flex.core.IBead#strand
- *
+ *
* @langversion 3.0
* @playerversion Flash 10.2
* @playerversion AIR 2.6
@@ -118,18 +140,21 @@ package org.apache.flex.html.beads
_strand = value;
super.strand = value;
}
-
- override protected function beadsAddedHandler(event:Event):void
+
+ /**
+ * @private
+ */
+ override protected function handleInitComplete(event:Event):void
{
- super.beadsAddedHandler(event);
-
+ super.handleInitComplete(event);
+
listModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
listModel.addEventListener("selectedIndexChanged", selectionChangeHandler);
listModel.addEventListener("rollOverIndexChanged", rollOverIndexChangeHandler);
}
-
+
protected var lastSelectedIndex:int = -1;
-
+
/**
* @private
*/
@@ -147,9 +172,9 @@ package org.apache.flex.html.beads
}
lastSelectedIndex = listModel.selectedIndex;
}
-
+
protected var lastRollOverIndex:int = -1;
-
+
/**
* @private
*/
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f4138d09/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/PanelView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/PanelView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/PanelView.as
index 99de1c2..43af3f8 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/PanelView.as
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/PanelView.as
@@ -243,6 +243,8 @@ package org.apache.flex.html.beads
}
super.completeSetup();
+
+ performLayout(null);
}
protected function handleSizeChange(event:Event):void
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f4138d09/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/PanelWithControlBarView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/PanelWithControlBarView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/PanelWithControlBarView.as
index 4a0cd39..b05dcec 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/PanelWithControlBarView.as
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/PanelWithControlBarView.as
@@ -135,6 +135,7 @@ package org.apache.flex.html.beads
for each(var comp:IUIBase in controlBarItems) {
controlBar.addElement(comp, false);
}
+ controlBar.childrenAdded();
}
super.completeSetup();
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f4138d09/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextItemRendererFactoryForArrayData.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextItemRendererFactoryForArrayData.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextItemRendererFactoryForArrayData.as
index cb8402f..7752e90 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextItemRendererFactoryForArrayData.as
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextItemRendererFactoryForArrayData.as
@@ -76,7 +76,6 @@ package org.apache.flex.html.beads
public function set strand(value:IStrand):void
{
_strand = value;
- IEventDispatcher(value).addEventListener("beadsAdded",finishSetup);
IEventDispatcher(value).addEventListener("initComplete",finishSetup);
}
@@ -85,6 +84,8 @@ package org.apache.flex.html.beads
selectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
selectionModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
+ // if the host component inherits from DataContainerBase, the itemRendererClassFactory will
+ // already have been loaded by DataContainerBase.addedToParent function.
if (!itemRendererFactory)
{
_itemRendererFactory = _strand.getBeadByType(IItemRendererClassFactory) as IItemRendererClassFactory;
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f4138d09/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextItemRendererFactoryForStringVectorData.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextItemRendererFactoryForStringVectorData.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextItemRendererFactoryForStringVectorData.as
index cf2a29c..d0d49a2 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextItemRendererFactoryForStringVectorData.as
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/TextItemRendererFactoryForStringVectorData.as
@@ -76,7 +76,7 @@ package org.apache.flex.html.beads
public function set strand(value:IStrand):void
{
_strand = value;
- IEventDispatcher(value).addEventListener("beadsAdded",finishSetup);
+ IEventDispatcher(value).addEventListener("initComplete",finishSetup);
}
private function finishSetup(event:Event):void
@@ -84,6 +84,8 @@ package org.apache.flex.html.beads
selectionModel = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
selectionModel.addEventListener("dataProviderChanged", dataProviderChangeHandler);
+ // if the host component inherits from DataContainerBase, the itemRendererClassFactory will
+ // already have been loaded by DataContainerBase.addedToParent function.
if (!itemRendererFactory)
{
_itemRendererFactory = _strand.getBeadByType(IItemRendererClassFactory) as IItemRendererClassFactory;