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 2015/12/28 17:39:59 UTC
git commit: [flex-tlf] [refs/heads/develop] - Moved the logic for
composing the table on cell resizing out of EditManager and into
StandardFlowComposer where it belongs.
Repository: flex-tlf
Updated Branches:
refs/heads/develop 095a165a5 -> 235cd97ee
Moved the logic for composing the table on cell resizing out of EditManager and into StandardFlowComposer where it belongs.
Project: http://git-wip-us.apache.org/repos/asf/flex-tlf/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-tlf/commit/235cd97e
Tree: http://git-wip-us.apache.org/repos/asf/flex-tlf/tree/235cd97e
Diff: http://git-wip-us.apache.org/repos/asf/flex-tlf/diff/235cd97e
Branch: refs/heads/develop
Commit: 235cd97ee0ef17ac21bdd1a55081fee6ee5d9b54
Parents: 095a165
Author: Harbs <ha...@in-tools.com>
Authored: Mon Dec 28 18:39:53 2015 +0200
Committer: Harbs <ha...@in-tools.com>
Committed: Mon Dec 28 18:39:53 2015 +0200
----------------------------------------------------------------------
.../textLayout/compose/StandardFlowComposer.as | 26 ++++++++++++++++++--
.../src/flashx/textLayout/edit/EditManager.as | 23 -----------------
2 files changed, 24 insertions(+), 25 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-tlf/blob/235cd97e/textLayout/src/flashx/textLayout/compose/StandardFlowComposer.as
----------------------------------------------------------------------
diff --git a/textLayout/src/flashx/textLayout/compose/StandardFlowComposer.as b/textLayout/src/flashx/textLayout/compose/StandardFlowComposer.as
index 9c93e94..5557167 100644
--- a/textLayout/src/flashx/textLayout/compose/StandardFlowComposer.as
+++ b/textLayout/src/flashx/textLayout/compose/StandardFlowComposer.as
@@ -20,7 +20,7 @@ package flashx.textLayout.compose
{
import flash.display.Sprite;
import flash.system.Capabilities;
-
+
import flashx.textLayout.accessibility.TextAccImpl;
import flashx.textLayout.container.ContainerController;
import flashx.textLayout.container.ScrollPolicy;
@@ -28,8 +28,11 @@ package flashx.textLayout.compose
import flashx.textLayout.edit.ISelectionManager;
import flashx.textLayout.elements.BackgroundManager;
import flashx.textLayout.elements.ContainerFormattedElement;
+ import flashx.textLayout.elements.TableCellElement;
+ import flashx.textLayout.elements.TableElement;
import flashx.textLayout.elements.TextFlow;
import flashx.textLayout.events.CompositionCompleteEvent;
+ import flashx.textLayout.events.ModelChange;
import flashx.textLayout.formats.BlockProgression;
import flashx.textLayout.tlf_internal;
@@ -550,7 +553,15 @@ package flashx.textLayout.compose
//CONFIG::debug { assert(!_composing,"updateToController: compose in process"); }
if (_composing)
return false;
-
+
+ var cellHeight:Number = 0;
+ if(textFlow.nestedInTable())
+ {
+ var controller:ContainerController = getControllerAt(0);
+ if (controller)
+ cellHeight = controller.container.height;
+
+ }
//note that this will always update the display AND update the
//selection. So, even if nothing has changed that would cause
//a recompose, the selection would still be redrawn.
@@ -563,6 +574,17 @@ package flashx.textLayout.compose
if (shapesDamaged)
updateCompositionShapes();
+ // recompose the containing table if the cell height changed.
+ // This should be ok because updateAllControllers() should be ignored if the parent textFlow is in middle of a compose.
+ if(cellHeight && controller.container.height != cellHeight)
+ {
+ var table:TableElement = (textFlow.parentElement as TableCellElement).getTable();
+ table.modelChanged(ModelChange.ELEMENT_MODIFIED, table, 0, table.textLength);
+ table.getTextFlow().flowComposer.updateAllControllers();
+ if(sm && sm.focused)
+ controller.setFocus();
+ }
+
if (sm)
sm.refreshSelection();
return shapesDamaged;
http://git-wip-us.apache.org/repos/asf/flex-tlf/blob/235cd97e/textLayout/src/flashx/textLayout/edit/EditManager.as
----------------------------------------------------------------------
diff --git a/textLayout/src/flashx/textLayout/edit/EditManager.as b/textLayout/src/flashx/textLayout/edit/EditManager.as
index 0eaafeb..b0ab077 100644
--- a/textLayout/src/flashx/textLayout/edit/EditManager.as
+++ b/textLayout/src/flashx/textLayout/edit/EditManager.as
@@ -852,19 +852,8 @@ package flashx.textLayout.edit
redrawListener = null;
}
- var cellHeight:Number = 0;
if (textFlow.flowComposer)
{
- if(superManager && superManager is IEditManager)
- {
- var controller:ContainerController = textFlow.flowComposer.getControllerAt(0);
- if (controller)
- {
- cellHeight = controller.container.height;
- }
- }
-
-
textFlow.flowComposer.updateAllControllers();
// Scroll to selection
@@ -874,18 +863,6 @@ package flashx.textLayout.edit
if (controllerIndex >= 0)
textFlow.flowComposer.getControllerAt(controllerIndex).scrollToRange(activePosition,anchorPosition);
}
- if(superManager && superManager is IEditManager)
- {
- if(controller.container.height != cellHeight)
- {
- var setFormat:String = selectionFormatState;
- var table:TableElement = (textFlow.parentElement as TableCellElement).getTable();
- table.modelChanged(ModelChange.ELEMENT_MODIFIED, table, 0, table.textLength);
- (superManager as IEditManager).updateAllControllers();
- if(setFormat == SelectionFormatState.FOCUSED)
- setFocus();
- }
- }
}
selectionChanged(true, false);