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 2020/07/05 17:10:30 UTC

[royale-asjs] branch develop updated: ItemRendererOwnerViewBead should not be required

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 f4efc1a  ItemRendererOwnerViewBead should not be required
f4efc1a is described below

commit f4efc1ae3c24a0d41f7fbc7bc6b163f4493d9fef
Author: Harbs <ha...@in-tools.com>
AuthorDate: Sun Jul 5 20:10:16 2020 +0300

    ItemRendererOwnerViewBead should not be required
---
 .../html/beads/MultiSelectionDragImageBead.as      | 40 ++++++++++------------
 .../html/beads/SingleSelectionDragSourceBead.as    | 12 +++----
 .../html/beads/SingleSelectionDropTargetBead.as    | 36 +++++++++++--------
 3 files changed, 44 insertions(+), 44 deletions(-)

diff --git a/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/MultiSelectionDragImageBead.as b/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/MultiSelectionDragImageBead.as
index bf5fdeb..c97986c 100644
--- a/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/MultiSelectionDragImageBead.as
+++ b/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/MultiSelectionDragImageBead.as
@@ -19,39 +19,27 @@
 package org.apache.royale.html.beads
 {
 
-	import org.apache.royale.core.IMultiSelectionModel;
-	import org.apache.royale.html.beads.IListView;
-	import org.apache.royale.core.IStrandWithModel;
-	import org.apache.royale.collections.ArrayList;
 	import org.apache.royale.core.IBead;
 	import org.apache.royale.core.IBeadLayout;
+	import org.apache.royale.core.IBeadView;
 	import org.apache.royale.core.IChild;
-	import org.apache.royale.core.IMultiSelectionModel;
-	import org.apache.royale.core.IDocument;
-	import org.apache.royale.core.IDragInitiator;
 	import org.apache.royale.core.IItemRenderer;
 	import org.apache.royale.core.IItemRendererOwnerView;
-	import org.apache.royale.core.IParent;
-	import org.apache.royale.core.ISelectableItemRenderer;
+	import org.apache.royale.core.IMultiSelectionModel;
 	import org.apache.royale.core.IStrand;
+	import org.apache.royale.core.IStrandWithModel;
 	import org.apache.royale.core.IUIBase;
 	import org.apache.royale.core.Lookalike;
 	import org.apache.royale.core.UIBase;
-	import org.apache.royale.core.IBeadView;
 	import org.apache.royale.events.DragEvent;
-	import org.apache.royale.events.Event;
 	import org.apache.royale.events.EventDispatcher;
 	import org.apache.royale.events.IEventDispatcher;
-	import org.apache.royale.geom.Point;
-	import org.apache.royale.geom.Rectangle;
-	import org.apache.royale.html.Button;
 	import org.apache.royale.html.Container;
-	import org.apache.royale.html.Label;
+	import org.apache.royale.html.beads.IListView;
 	import org.apache.royale.html.beads.controllers.DragMouseController;
-	import org.apache.royale.utils.PointUtils;
-	import org.apache.royale.utils.getParentOrSelfByType;
-	import org.apache.royale.html.beads.layouts.VerticalLayout;
 	import org.apache.royale.html.beads.layouts.HorizontalLayout;
+	import org.apache.royale.html.beads.layouts.VerticalLayout;
+	import org.apache.royale.utils.getParentOrSelfByType;
 
 	COMPILE::JS
 	{
@@ -105,11 +93,14 @@ package org.apache.royale.html.beads
 		 *
 		 * @return UIBase The "dragImage" to use.
 		 *
-		 *  @royaleignorecoercion org.apache.royale.core.WrappedHTMLElement
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
 		 *  @productversion Royale 0.9.7
+		 *  @royaleignorecoercion org.apache.royale.core.WrappedHTMLElement
+		 *  @royaleignorecoercion org.apache.royale.core.IUIBase
+		 *  @royaleignorecoercion org.apache.royale.core.IItemRendererOwnerView
+		 *  @royaleignorecoercion org.apache.royale.html.beads.IListView
 		 */
 		protected function createDragImage():UIBase
 		{
@@ -128,8 +119,8 @@ package org.apache.royale.html.beads
 			{
 				var ir:IItemRenderer = itemRendererOwnerView.getItemRendererForIndex(selectedIndices[i]);
 				var lookalike:UIBase = new Lookalike(ir);
-				lookalike.width = IUIBase(ir).width;
-				lookalike.height = IUIBase(ir).height;
+				lookalike.width = (ir as IUIBase).width;
+				lookalike.height = (ir as IUIBase).height;
 				dragImage.addElement(lookalike);
 			}
 
@@ -144,7 +135,8 @@ package org.apache.royale.html.beads
 
 		/**
 		 * @private
-		 *
+		 *  @royaleignorecoercion org.apache.royale.core.IChild
+		 *  @royaleignorecoercion org.apache.royale.core.IItemRenderer
 		 */
 		private function handleDragStart(event:DragEvent):void
 		{
@@ -160,6 +152,10 @@ package org.apache.royale.html.beads
 			}
 		}
 
+		/**
+		 *  @royaleignorecoercion org.apache.royale.core.IMultiSelectionModel
+		 *  @royaleignorecoercion org.apache.royale.core.IStrandWithModel
+		 */
 		private function get model():IMultiSelectionModel
 		{
 			return (_strand as IStrandWithModel).model as IMultiSelectionModel;
diff --git a/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/SingleSelectionDragSourceBead.as b/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/SingleSelectionDragSourceBead.as
index a939466..9f06ea3 100644
--- a/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/SingleSelectionDragSourceBead.as
+++ b/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/SingleSelectionDragSourceBead.as
@@ -23,10 +23,8 @@ package org.apache.royale.html.beads
 	import org.apache.royale.core.IChild;
 	import org.apache.royale.core.IDataProviderModel;
 	import org.apache.royale.core.IDragInitiator;
+	import org.apache.royale.core.IIndexedItemRenderer;
 	import org.apache.royale.core.IItemRenderer;
-    import org.apache.royale.core.ItemRendererOwnerViewBead;
-	import org.apache.royale.core.ILayoutHost;
-	import org.apache.royale.core.IParent;
 	import org.apache.royale.core.ISelectionModel;
 	import org.apache.royale.core.IStrand;
 	import org.apache.royale.events.DragEvent;
@@ -187,13 +185,11 @@ package org.apache.royale.html.beads
 			DragMouseController.dragImageOffsetY = -30;
 
 			var relatedObject:Object = event.relatedObject;
-			var itemRenderer:IItemRenderer = getParentOrSelfByType(relatedObject as IChild, IItemRenderer) as IItemRenderer;
+			var itemRenderer:IIndexedItemRenderer = getParentOrSelfByType(relatedObject as IChild, IItemRenderer) as IIndexedItemRenderer;
 
 			if (itemRenderer) {
-                var ownerViewBead:ItemRendererOwnerViewBead = itemRenderer.getBeadByType(ItemRendererOwnerViewBead) as ItemRendererOwnerViewBead;
-				var p:IParent = (ownerViewBead.ownerView as ILayoutHost).contentView as IParent;
-				_dragSourceIndex = p.getElementIndex(itemRenderer as IChild);
-				DragEvent.dragSource = (itemRenderer as IItemRenderer).data;
+				_dragSourceIndex = itemRenderer.index;
+				DragEvent.dragSource = itemRenderer.data;
 			}
 
 			var newEvent:Event = new Event("start", false, true);
diff --git a/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/SingleSelectionDropTargetBead.as b/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/SingleSelectionDropTargetBead.as
index 07664c6..1ddf400 100644
--- a/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/SingleSelectionDropTargetBead.as
+++ b/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/SingleSelectionDropTargetBead.as
@@ -25,7 +25,7 @@ package org.apache.royale.html.beads
 	import org.apache.royale.core.IChild;
 	import org.apache.royale.core.IDataProviderModel;
 	import org.apache.royale.core.IItemRenderer;
-    import org.apache.royale.core.ItemRendererOwnerViewBead;
+	import org.apache.royale.core.ItemRendererOwnerViewBead;
 	import org.apache.royale.core.IParent;
 	import org.apache.royale.core.ILayoutHost;
 	import org.apache.royale.core.ISelectionModel;
@@ -42,6 +42,9 @@ package org.apache.royale.html.beads
 	import org.apache.royale.html.supportClasses.DataItemRenderer;
 	import org.apache.royale.utils.PointUtils;
 	import org.apache.royale.utils.UIUtils;
+	import org.apache.royale.core.IIndexedItemRenderer;
+	import org.apache.royale.utils.sendStrandEvent;
+	import org.apache.royale.utils.sendEvent;
 
 
 	/**
@@ -178,6 +181,7 @@ package org.apache.royale.html.beads
 
 		/**
 		 * @private
+		 * @royaleignorecoercion org.apache.royale.html.beads.IDrawingLayerBead
 		 */
 		protected function get indicatorParent():UIBase
 		{
@@ -191,6 +195,7 @@ package org.apache.royale.html.beads
 		}
 		/**
 		 * @private
+		 * @royaleignorecoercion org.apache.royale.core.IItemRendererOwnerView
 		 */
 		private function get itemRendererOwnerView():IItemRendererOwnerView
 		{
@@ -201,6 +206,7 @@ package org.apache.royale.html.beads
 
 		/**
 		 * @private
+		 * @royaleignorecoercion org.apache.royale.html.beads.SingleSelectionDropIndicatorBead
 		 */
 		protected function getDropIndicator(ir:Object, width:Number, height:Number):UIBase
 		{
@@ -214,6 +220,8 @@ package org.apache.royale.html.beads
 
 		/**
 		 * @private
+		 * @royaleignorecoercion org.apache.royale.core.IUIBase
+		 * @royaleignorecoercion org.apache.royale.core.IItemRenderer
 		 */
 		private function handleDragEnter(event:DragEvent):void
 		{
@@ -274,6 +282,7 @@ package org.apache.royale.html.beads
 
 		/**
 		 * @private
+		 * @royaleignorecoercion org.apache.royale.core.IUIBase
 		 */
 		private function handleDragOver(event:DragEvent):void
 		{
@@ -295,13 +304,17 @@ package org.apache.royale.html.beads
 
 			}
 			else if (lastItemVisited && _dropIndicator != null && indicatorParent) {
-				var lastItem:UIBase = lastItemVisited as UIBase;
 				displayDropIndicator(lastItemVisited as IUIBase);
 			}
 		}
 
 		/**
 		 * @private
+		 * @royaleignorecoercion Array
+		 * @royaleignorecoercion org.apache.royale.collections.ArrayList
+		 * @royaleignorecoercion org.apache.royale.core.IDataProviderModel
+		 * @royaleignorecoercion org.apache.royale.core.IIndexedItemRenderer
+		 * @royaleignorecoercion org.apache.royale.core.ISelectionModel
 		 */
 		private function handleDragDrop(event:DragEvent):void
 		{
@@ -316,20 +329,16 @@ package org.apache.royale.html.beads
 			}
 
 			var targetIndex:int = -1; // indicates drop beyond length of items
-			var contentViewAsParent:IParent;
+			// var contentViewAsParent:IParent;
 
 			var startHere:Object = event.relatedObject;
-			while( !(startHere is IItemRenderer) && startHere != null) {
+			while( !(startHere is IIndexedItemRenderer) && startHere != null) {
 				startHere = startHere.parent;
 			}
 
-			if (startHere is IItemRenderer) {
-				var ir:IItemRenderer = startHere as IItemRenderer;
-				//trace("-- dropping onto an existing object: "+ir.data.toString());
-
-                var ownerViewBead:ItemRendererOwnerViewBead = ir.getBeadByType(ItemRendererOwnerViewBead) as ItemRendererOwnerViewBead;
-				contentViewAsParent = (ownerViewBead.ownerView as ILayoutHost).contentView as IParent;
-				targetIndex = contentViewAsParent.getElementIndex(ir);
+			if (startHere) {
+				var ir:IIndexedItemRenderer = startHere as IIndexedItemRenderer;
+				targetIndex = ir.index;
 			}
 
 			var downPoint:Point = new Point(event.clientX, event.clientY);
@@ -384,9 +393,8 @@ package org.apache.royale.html.beads
 			}
 
 			// is this event necessary? isn't "complete" enough?
-			IEventDispatcher(_strand).dispatchEvent(new Event("dragDropAccepted"));
-
-			dispatchEvent(new Event("complete"));
+			sendStrandEvent(_strand,"dragDropAccepted");
+			sendEvent(this,"complete");
 		}
 
 		COMPILE::SWF