You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ha...@apache.org on 2014/10/26 22:09:22 UTC

git commit: [flex-tlf] [refs/heads/tables] - Cells were incorrectly setting padding every time they were composed which was causing cell lines to become incorrectly invalid and put cells into an unstable state. I think ContainerController should be addin

Repository: flex-tlf
Updated Branches:
  refs/heads/tables b9011500b -> d159e00c7


Cells were incorrectly setting padding every time they were composed which was causing cell lines to become incorrectly invalid and put cells into an unstable state.
I think ContainerController should be adding the array including tables to _shapeChildren and not the old _linesInView which only contains pure lines.


Project: http://git-wip-us.apache.org/repos/asf/flex-tlf/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-tlf/commit/d159e00c
Tree: http://git-wip-us.apache.org/repos/asf/flex-tlf/tree/d159e00c
Diff: http://git-wip-us.apache.org/repos/asf/flex-tlf/diff/d159e00c

Branch: refs/heads/tables
Commit: d159e00c74a698276221fe3c4e1d6e4a5fc14cb5
Parents: b901150
Author: Harbs <ha...@in-tools.com>
Authored: Sun Oct 26 23:08:40 2014 +0200
Committer: Harbs <ha...@in-tools.com>
Committed: Sun Oct 26 23:08:40 2014 +0200

----------------------------------------------------------------------
 .../textLayout/container/ContainerController.as |  3 +-
 .../textLayout/elements/TableCellElement.as     | 47 +++++++++++++++-----
 2 files changed, 39 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-tlf/blob/d159e00c/textLayout/src/flashx/textLayout/container/ContainerController.as
----------------------------------------------------------------------
diff --git a/textLayout/src/flashx/textLayout/container/ContainerController.as b/textLayout/src/flashx/textLayout/container/ContainerController.as
index 2e375f4..eef34fb 100644
--- a/textLayout/src/flashx/textLayout/container/ContainerController.as
+++ b/textLayout/src/flashx/textLayout/container/ContainerController.as
@@ -3248,7 +3248,8 @@ package flashx.textLayout.container
 			{
 				// We only updated some of the lines. Remove the old versions off the end, and add in the new ones from _linesInView
 				_shapeChildren.length = shapeChildrenStartIdx;		// truncate
-				_shapeChildren = _shapeChildren.concat(_linesInView);	// append _linesInView to end of _shapeChildren
+				//_shapeChildren = _shapeChildren.concat(_linesInView);	// append _linesInView to end of _shapeChildren
+				_shapeChildren = _shapeChildren.concat(newShapeChildren);	// append _linesInView to end of _shapeChildren
 				_linesInView.length = 0;	// truncate
 			}
 			else

http://git-wip-us.apache.org/repos/asf/flex-tlf/blob/d159e00c/textLayout/src/flashx/textLayout/elements/TableCellElement.as
----------------------------------------------------------------------
diff --git a/textLayout/src/flashx/textLayout/elements/TableCellElement.as b/textLayout/src/flashx/textLayout/elements/TableCellElement.as
index 7f04939..197d4c9 100644
--- a/textLayout/src/flashx/textLayout/elements/TableCellElement.as
+++ b/textLayout/src/flashx/textLayout/elements/TableCellElement.as
@@ -27,6 +27,7 @@ package flashx.textLayout.elements
 	import flash.utils.getDefinitionByName;
 	import flash.utils.getQualifiedClassName;
 	
+	import flashx.textLayout.compose.FlowDamageType;
 	import flashx.textLayout.compose.TextFlowLine;
 	import flashx.textLayout.container.ContainerController;
 	import flashx.textLayout.edit.EditManager;
@@ -90,26 +91,52 @@ package flashx.textLayout.elements
 		}
 
 		public function isDamaged():Boolean {
-			return _damaged;
+			return _damaged || (_textFlow && _textFlow.flowComposer.isDamaged(_textFlow.textLength));
 		}
 		
+		private var _savedPaddingTop:Number = 0;
+		private var _savedPaddingBottom:Number = 0;
+		private var _savedPaddingLeft:Number = 0;
+		private var _savedPaddingRight:Number = 0;
+		
 		public function compose():Boolean {
+			
+			var pt:Number = getEffectivePaddingTop();
+			var pb:Number = getEffectivePaddingBottom();
+			var pl:Number = getEffectivePaddingLeft();
+			var pr:Number = getEffectivePaddingRight();
+
+			if(pt != _savedPaddingTop)
+			{
+				_controller.paddingTop = _savedPaddingTop = pt;
+			}
+			if(pb != _savedPaddingBottom)
+			{
+				_controller.paddingBottom = _savedPaddingBottom = pb;
+			}
+			if(pl != _savedPaddingLeft)
+			{
+				_controller.paddingLeft = _savedPaddingLeft = pl;
+			}
+			if(pr != _savedPaddingRight)
+			{
+				_controller.paddingRight = _savedPaddingRight = pr;
+			}
+
 			var table:TableElement = getTable();
-			width = 0;
+			
+			_damaged = false;
+			
+			var compWidth:Number = 0;
 			for(var i:int=0;i<columnSpan;i++)
 			{
 				if (table && table.getColumnAt(colIndex+i)) {
-					width += table.getColumnAt(colIndex+i).columnWidth;
+					compWidth += table.getColumnAt(colIndex+i).columnWidth;
 				}
 				
 			}
-			
-			_damaged = false;
-			_controller.paddingTop = getEffectivePaddingTop();
-			_controller.paddingBottom = getEffectivePaddingBottom();
-			_controller.paddingLeft = getEffectivePaddingLeft();
-			_controller.paddingRight = getEffectivePaddingRight();
-			
+			width = compWidth;
+
 			if (_textFlow && _textFlow.flowComposer) {
 				return _textFlow.flowComposer.compose();
 			}