Как выбрать элемент потока в TLF?

Есть ли метод, который я могу использовать, чтобы выбрать FlowElement? Я проверил несколько классов, включая SelectionManager и EditManager, и ничего не увидел.

1 ответ

Решение

В следующем примере показано, как выбрать элемент:

<fx:Script>
    <![CDATA[
        import flashx.textLayout.edit.ISelectionManager;
        import flashx.textLayout.edit.SelectionState;
        import flashx.textLayout.elements.FlowElement;
        import flashx.textLayout.elements.TextFlow; 

        protected function selectElementHandler(event:MouseEvent):void {
            var selectionManager:ISelectionManager = activeFlow.interactionManager as ISelectionManager;
            var element:FlowElement = activeFlow.findLeaf(selectionManager.anchorPosition);
            selectElement(element);
        }

        public function selectElement(flowElement:FlowElement):void { 
            var textFlow:TextFlow = flowElement.getTextFlow();
            var selection:SelectionState = ISelectionManager(textFlow.interactionManager).getSelectionState();
            var startIndex:int = flowElement.getAbsoluteStart();
            selection.updateRange(startIndex, startIndex + flowElement.textLength);
            IEditManager(textFlow.interactionManager).setSelectionState(selection);
            textFlow.flowComposer.updateAllControllers();
        }
    ]]>
</fx:Script>

<s:Button label="Select current element" click="selectElementHandler(event)"/>
Другие вопросы по тегам