You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ha...@apache.org on 2017/10/28 22:40:07 UTC

[royale-asjs] branch develop updated: More simplifying of adding beads from ValuesManager

This is an automated email from the ASF dual-hosted git repository.

harbs 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 f5f1a2d  More simplifying of adding beads from ValuesManager
f5f1a2d is described below

commit f5f1a2da5a4b5a2ef0879bce040586474f6fd04e
Author: Harbs <ha...@in-tools.com>
AuthorDate: Sun Oct 29 01:40:03 2017 +0300

    More simplifying of adding beads from ValuesManager
---
 .../org/apache/royale/html/beads/ContainerView.as  | 21 ++++------------
 .../beads/DataItemRendererFactoryForArrayData.as   | 11 +++++----
 .../beads/DataItemRendererFactoryForArrayList.as   | 11 +++++----
 .../beads/DataItemRendererFactoryForColumnData.as  | 10 ++++----
 .../DynamicItemsRendererFactoryForArrayListData.as | 12 ++++------
 .../org/apache/royale/html/beads/SliderView.as     | 28 ++++++++++++++--------
 .../beads/TextItemRendererFactoryForArrayData.as   | 11 ++++-----
 .../TextItemRendererFactoryForStringVectorData.as  |  3 +++
 8 files changed, 52 insertions(+), 55 deletions(-)

diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ContainerView.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ContainerView.as
index cc1e3af..cd0b3bc 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ContainerView.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ContainerView.as
@@ -346,27 +346,16 @@ package org.apache.royale.html.beads
 			_strand = value;
 			super.strand = value;
 
-			var c:Class;
-
-			if (viewport == null) {
-				_viewport = _strand.getBeadByType(IViewport) as IViewport;
-				if (viewport == null) {
-					c = ValuesManager.valuesImpl.getValue(host, "iViewport");
-					if (c)
-					{
-						_viewport = new c() as IViewport;
-						_strand.addBead(viewport);
-					}
-				}
-			}
+			if(!_viewport)
+				_viewport = loadBeadFromValuesManager(IViewport, "iViewport", _strand) as IViewport;
 			
-			if (viewport != null) {
+			if (_viewport) {
 				var chost:IContainer = host as IContainer;
 				// add the viewport's contentView to this host ONLY if
 				// the contentView is not the host itself, which is likely
 				// most situations.
-				if (chost != null && chost != viewport.contentView) {
-					chost.addElement(viewport.contentView);
+				if (chost != null && chost != _viewport.contentView) {
+					chost.addElement(_viewport.contentView);
 				}
 			}
 		}
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataItemRendererFactoryForArrayData.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataItemRendererFactoryForArrayData.as
index 6886e94..e1109d0 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataItemRendererFactoryForArrayData.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataItemRendererFactoryForArrayData.as
@@ -41,6 +41,7 @@ package org.apache.royale.html.beads
 	import org.apache.royale.core.ILayoutHost;
 	import org.apache.royale.core.IParentIUIBase;
     import org.apache.royale.html.supportClasses.DataItemRenderer;
+	import org.apache.royale.utils.loadBeadFromValuesManager;
 
     [Event(name="itemRendererCreated",type="org.apache.royale.events.ItemRendererEvent")]
 	
@@ -110,11 +111,8 @@ package org.apache.royale.html.beads
 
 			// 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;
-				_strand.addBead(_itemRendererFactory);
-			}
+			if(!_itemRendererFactory)
+    			_itemRendererFactory = loadBeadFromValuesManager(IItemRendererClassFactory, "iItemRendererClassFactory", _strand) as IItemRendererClassFactory;				
 			
 			dataProviderChangeHandler(null);
 		}
@@ -132,6 +130,9 @@ package org.apache.royale.html.beads
          */
 		public function get itemRendererFactory():IItemRendererClassFactory
 		{
+			if(!_itemRendererFactory)
+    			_itemRendererFactory = loadBeadFromValuesManager(IItemRendererClassFactory, "iItemRendererClassFactory", _strand) as IItemRendererClassFactory;
+			
 			return _itemRendererFactory;
 		}
 		
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataItemRendererFactoryForArrayList.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataItemRendererFactoryForArrayList.as
index c6630c8..6b58158 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataItemRendererFactoryForArrayList.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataItemRendererFactoryForArrayList.as
@@ -36,6 +36,7 @@ package org.apache.royale.html.beads
 	import org.apache.royale.events.EventDispatcher;
 	import org.apache.royale.events.ItemRendererEvent;
     import org.apache.royale.html.supportClasses.DataItemRenderer;
+	import org.apache.royale.utils.loadBeadFromValuesManager;
 
     //import org.apache.royale.html.List;
 	import org.apache.royale.core.IList;
@@ -105,11 +106,8 @@ package org.apache.royale.html.beads
 
 			// 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;
-				_strand.addBead(_itemRendererFactory);
-			}
+			if(!_itemRendererFactory)
+    			_itemRendererFactory = loadBeadFromValuesManager(IItemRendererClassFactory, "iItemRendererClassFactory", _strand) as IItemRendererClassFactory;				
 			
 			dataProviderChangeHandler(null);
 		}
@@ -127,6 +125,9 @@ package org.apache.royale.html.beads
          */
 		public function get itemRendererFactory():IItemRendererClassFactory
 		{
+			if(!_itemRendererFactory)
+    			_itemRendererFactory = loadBeadFromValuesManager(IItemRendererClassFactory, "iItemRendererClassFactory", _strand) as IItemRendererClassFactory;
+			
 			return _itemRendererFactory;
 		}
 		
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataItemRendererFactoryForColumnData.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataItemRendererFactoryForColumnData.as
index 199e0c0..599dd9e 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataItemRendererFactoryForColumnData.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DataItemRendererFactoryForColumnData.as
@@ -83,11 +83,8 @@ package org.apache.royale.html.beads
 			
 			// 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;
-				_strand.addBead(_itemRendererFactory);
-			}
+			if(!_itemRendererFactory)
+    			_itemRendererFactory = loadBeadFromValuesManager(IItemRendererClassFactory, "iItemRendererClassFactory", _strand) as IItemRendererClassFactory;
 			
 			dataProviderChangeHandler(null);
 		}
@@ -104,6 +101,9 @@ package org.apache.royale.html.beads
 		 */
 		public function get itemRendererFactory():IItemRendererClassFactory
 		{
+			if(!_itemRendererFactory)
+    			_itemRendererFactory = loadBeadFromValuesManager(IItemRendererClassFactory, "iItemRendererClassFactory", _strand) as IItemRendererClassFactory;
+			
 			return _itemRendererFactory
 		}
 		public function set itemRendererFactory(value:IItemRendererClassFactory):void
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DynamicItemsRendererFactoryForArrayListData.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DynamicItemsRendererFactoryForArrayListData.as
index 54b0e64..97c9456 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DynamicItemsRendererFactoryForArrayListData.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/DynamicItemsRendererFactoryForArrayListData.as
@@ -36,6 +36,7 @@ package org.apache.royale.html.beads
     import org.apache.royale.events.Event;
     import org.apache.royale.core.ISelectableItemRenderer;
     import org.apache.royale.core.ISelectionModel;
+	import org.apache.royale.utils.loadBeadFromValuesManager;
 
     [Event(name="itemRendererCreated",type="org.apache.royale.events.ItemRendererEvent")]
 
@@ -112,14 +113,9 @@ package org.apache.royale.html.beads
          */
         public function get itemRendererFactory():IItemRendererClassFactory
         {
-			if (_itemRendererFactory == null) {
-				var factory:IItemRendererClassFactory = _strand.getBeadByType(IItemRendererClassFactory) as IItemRendererClassFactory;
-				if (factory == null) {
-					factory = new (ValuesManager.valuesImpl.getValue(_strand, "iItemRendererClassFactory")) as IItemRendererClassFactory;
-					_strand.addBead(factory);
-				}
-				_itemRendererFactory = factory;
-			}
+			if(!_itemRendererFactory)
+    			_itemRendererFactory = loadBeadFromValuesManager(IItemRendererClassFactory, "iItemRendererClassFactory", _strand) as IItemRendererClassFactory;
+
             return _itemRendererFactory;
         }
 
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/SliderView.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/SliderView.as
index 0ff390d..b3c30c1 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/SliderView.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/SliderView.as
@@ -93,25 +93,27 @@ package org.apache.royale.html.beads
 			COMPILE::JS {
 				_track = new Button();
 				_track.className = "SliderTrack";
-				UIBase(_strand).addElement(_track);
+				host.addElement(_track);
 				
 				_thumb = new TextButton();
 				_thumb.className = "SliderThumb";
 				_thumb.text = '\u2B0C';
-				UIBase(_strand).addElement(_thumb);
+				host.addElement(_thumb);
 			}
 			
-			IEventDispatcher(value).addEventListener("widthChanged",sizeChangeHandler);
-			IEventDispatcher(value).addEventListener("heightChanged",sizeChangeHandler);
+			host.addEventListener("widthChanged",sizeChangeHandler);
+			host.addEventListener("heightChanged",sizeChangeHandler);
 			
 			rangeModel = _strand.getBeadByType(IBeadModel) as IRangeModel;
+
+			var rm:IEventDispatcher = rangeModel as IEventDispatcher;
 			
 			// listen for changes to the model and adjust the UI accordingly.
-			IEventDispatcher(rangeModel).addEventListener("valueChange",modelChangeHandler);
-			IEventDispatcher(rangeModel).addEventListener("minimumChange",modelChangeHandler);
-			IEventDispatcher(rangeModel).addEventListener("maximumChange",modelChangeHandler);
-			IEventDispatcher(rangeModel).addEventListener("stepSizeChange",modelChangeHandler);
-			IEventDispatcher(rangeModel).addEventListener("snapIntervalChange",modelChangeHandler);
+			rm.addEventListener("valueChange",modelChangeHandler);
+			rm.addEventListener("minimumChange",modelChangeHandler);
+			rm.addEventListener("maximumChange",modelChangeHandler);
+			rm.addEventListener("stepSizeChange",modelChangeHandler);
+			rm.addEventListener("snapIntervalChange",modelChangeHandler);
 			
 			sizeChangeHandler(null);
 		}
@@ -147,11 +149,17 @@ package org.apache.royale.html.beads
 		}
 		
 		/**
+		 * @royaleignorecoercion org.apache.royale.core.UIBase
+		 */
+		private function get host():UIBase
+		{
+			return _strand as UIBase;
+		}
+		/**
 		 * @private
 		 */
 		private function sizeChangeHandler( event:Event ) : void
 		{
-			var host:UIBase = UIBase(_strand);
 			var w:Number = host.width;
 			var h:Number = host.height;
 			
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/TextItemRendererFactoryForArrayData.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/TextItemRendererFactoryForArrayData.as
index 9f2c156..8a16f66 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/TextItemRendererFactoryForArrayData.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/TextItemRendererFactoryForArrayData.as
@@ -30,6 +30,7 @@ package org.apache.royale.html.beads
 	import org.apache.royale.events.EventDispatcher;
 	import org.apache.royale.events.ItemRendererEvent;
     import org.apache.royale.events.IEventDispatcher;
+	import org.apache.royale.utils.loadBeadFromValuesManager;
 
 	[Event(name="itemRendererCreated",type="org.apache.royale.events.ItemRendererEvent")]
 
@@ -88,12 +89,7 @@ package org.apache.royale.html.beads
 			// already have been loaded by DataContainerBase.addedToParent function.
             if (!itemRendererFactory)
             {
-				_itemRendererFactory = _strand.getBeadByType(IItemRendererClassFactory) as IItemRendererClassFactory;
-				if (!_itemRendererFactory)
-				{
-	                _itemRendererFactory = new (ValuesManager.valuesImpl.getValue(_strand, "iItemRendererClassFactory")) as IItemRendererClassFactory;
-    	            _strand.addBead(_itemRendererFactory);
-				}
+    			_itemRendererFactory = loadBeadFromValuesManager(IItemRendererClassFactory, "iItemRendererClassFactory", _strand) as IItemRendererClassFactory;
             }
 
 			dataProviderChangeHandler(null);
@@ -111,6 +107,9 @@ package org.apache.royale.html.beads
          */
         public function get itemRendererFactory():IItemRendererClassFactory
         {
+			if(!_itemRendererFactory)
+    			_itemRendererFactory = loadBeadFromValuesManager(IItemRendererClassFactory, "iItemRendererClassFactory", _strand) as IItemRendererClassFactory;
+            
             return _itemRendererFactory
         }
 
diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/TextItemRendererFactoryForStringVectorData.as b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/TextItemRendererFactoryForStringVectorData.as
index 2c060d7..48e1b48 100644
--- a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/TextItemRendererFactoryForStringVectorData.as
+++ b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/TextItemRendererFactoryForStringVectorData.as
@@ -107,6 +107,9 @@ package org.apache.royale.html.beads
          */
         public function get itemRendererFactory():IItemRendererClassFactory
         {
+			if(!_itemRendererFactory)
+    			_itemRendererFactory = loadBeadFromValuesManager(IItemRendererClassFactory, "iItemRendererClassFactory", _strand) as IItemRendererClassFactory;
+            
             return _itemRendererFactory
         }
         

-- 
To stop receiving notification emails like this one, please contact
['"commits@royale.apache.org" <co...@royale.apache.org>'].