패키지 | flashx.textLayout.edit |
클래스 | public class EditManager |
상속 | EditManager SelectionManager Object |
구현 | IEditManager |
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
텍스트 흐름 편집을 사용하려면 EditManager 객체를 TextFlow 객체의 interactionManager
속성에 할당합니다. 편집 관리자는 삽입, 삭제 또는 서식 변경 등의 텍스트 변경 작업을 처리합니다. 편집 관리자에 실행 취소 관리자가 있는 경우 변경 작업을 되돌릴 수 있습니다. 필요한 경우 편집 관리자는 텍스트 흐름의 재구성 및 표시를 트리거합니다.
EditManager 클래스는 다음 키보드 단축키를 지원합니다.
키 | 결과 |
---|---|
Ctrl+Z | 실행 취소 |
Ctrl+Y | 다시 실행 |
Ctrl+백스페이스 | deletePreviousWord |
Ctrl+Delete | deleteNextWord |
Alt+Delete | deleteNextWord |
Ctrl+Alt+Delete | deleteNextWord |
Ctrl+Shift+하이픈(-) | 임의의 하이픈 삽입 |
Ctrl+백스페이스 | deletePreviousWord |
Alt+백스페이스 | deletePreviousWord |
Ctrl+Alt+백스페이스 | deletePreviousWord |
Insert | 덮어쓰기 모드로 전환 |
백스페이스 | deletePreviousCharacter |
Enter | 목록에 textFlow.configuration.manageEnterKey가 있으면 새 목록 항목을 만들고, 그렇지 않으면 새 단락을 만듭니다. |
shift-Enter | textFlow.configuration.manageEnterKey가 새 단락을 만드는 경우 |
Tab | 목록에 textFlow.configuration.manageTabKey가 있으면 중첩된 목록을 만들고, 그렇지 않으면 Tab을 삽입하거나 다음 문자를 Tab으로 덮어씁니다. |
shift-Tab | 목록의 첫 번째 항목에 textFlow.configuration.manageTabKey가 있으면 해당 항목을 목록 밖으로 이동합니다(승격). |
참고: Alt+백스페이스, Alt+Delete, Ctrl+Alt+백스페이스 및 Ctrl+Alt+Delete는 Windows에서 작동하지 않습니다. 이러한 키는 런타임 동안 이벤트를 생성하지 않습니다.
관련 API 요소
속성 | 정의 주체 | ||
---|---|---|---|
absoluteEnd : int [읽기 전용]
텍스트 흐름의 시작을 기준으로 하는 오프셋으로서, 선택 영역의 끝에 있는 텍스트 위치입니다. | SelectionManager | ||
absoluteStart : int [읽기 전용]
텍스트 흐름의 시작을 기준으로 하는 오프셋으로서, 선택 영역의 시작 부분에 있는 텍스트 위치입니다. | SelectionManager | ||
activePosition : int [읽기 전용]
선택 영역의 활성 지점입니다. | SelectionManager | ||
allowDelayedOperations : Boolean | EditManager | ||
anchorPosition : int [읽기 전용]
선택 영역의 기준점입니다. | SelectionManager | ||
constructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다. | Object | ||
currentSelectionFormat : SelectionFormat [읽기 전용]
현재 SelectionFormat 객체입니다. | SelectionManager | ||
delayUpdates : Boolean | EditManager | ||
editingMode : String [읽기 전용]
편집 모드입니다. | SelectionManager | ||
focused : Boolean [읽기 전용]
텍스트 흐름의 컨테이너에 포커스가 있는지 여부를 나타냅니다. | SelectionManager | ||
focusedSelectionFormat : SelectionFormat
포커스된 컨테이너의 선택 영역을 그리는 데 사용된 SelectionFormat 객체입니다. | SelectionManager | ||
inactiveSelectionFormat : SelectionFormat
SelectionFormat 객체는 선택 영역이 활성 창에 없는 경우 선택 영역을 그리는 데 사용됩니다. | SelectionManager | ||
overwriteMode : Boolean = false [정적]
덮어쓰기 모드가 켜져 있는지 꺼져 있는지 여부를 나타냅니다. | EditManager | ||
textFlow : flashx.textLayout.elements:TextFlow
이 선택 영역 관리자에서 관리할 TextFlow 객체입니다. | SelectionManager | ||
undoManager : IUndoManager [읽기 전용]
이 편집 관리자에 할당된 IUndoManager입니다. | EditManager | ||
unfocusedSelectionFormat : SelectionFormat
SelectionFormat 객체는 선택 영역이 포커스된 컨테이너에 없지만 활성 창에 있는 경우 선택 영역을 그리는 데 사용됩니다. | SelectionManager | ||
windowActive : Boolean [읽기 전용]
텍스트 흐름과 연결된 창이 활성 상태인지 여부를 나타냅니다. | SelectionManager |
메서드 | 정의 주체 | ||
---|---|---|---|
EditManager(undoManager:IUndoManager = null)
EditManager 객체를 만듭니다. | EditManager | ||
활성화 이벤트를 처리합니다. | SelectionManager | ||
applyContainerFormat(containerFormat:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
선택 영역의 모든 컨테이너에 컨테이너 스타일을 적용합니다. | EditManager | ||
applyFormat(leafFormat:flashx.textLayout.formats:ITextLayoutFormat, paragraphFormat:flashx.textLayout.formats:ITextLayoutFormat, containerFormat:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
지정된 선택 영역 또는 현재 선택 영역의 서식을 변경합니다. | EditManager | ||
applyFormatToElement(targetElement:FlowElement, format:flashx.textLayout.formats:ITextLayoutFormat, relativeStart:int = 0, relativeEnd:int = -1, operationState:SelectionState = null):void
지정된 요소에 스타일을 적용합니다. | EditManager | ||
applyLeafFormat(characterFormat:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
지정된 선택 영역 또는 현재 선택 영역의 리프 요소에 적용되는 서식을 변경합니다. | EditManager | ||
applyLink(href:String, targetString:String = null, extendToLinkBoundary:Boolean = false, operationState:SelectionState = null):LinkElement
선택 영역을 링크로 변형하거나 링크를 기본 텍스트로 변형합니다. | EditManager | ||
applyParagraphFormat(paragraphFormat:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
선택 영역의 모든 단락에 단락 스타일을 적용합니다. | EditManager | ||
텍스트를 TCY 실행으로 변형하거나 TCY 실행을 TCY가 아닌 텍스트로 변형합니다. | EditManager | ||
새 작업 그룹을 시작합니다. | EditManager | ||
changeElementID(newID:String, targetElement:FlowElement, relativeStart:int = 0, relativeEnd:int = -1, operationState:SelectionState = null):void
요소의 ID를 변경합니다. | EditManager | ||
changeStyleName(newName:String, targetElement:FlowElement, relativeStart:int = 0, relativeEnd:int = -1, operationState:SelectionState = null):void 버전부터 사용되지 않음 2.0: 사용 applyFormatToElement
요소의 styleName 또는 일부를 변경합니다. | EditManager | ||
changeTypeName(newName:String, targetElement:FlowElement, relativeStart:int = 0, relativeEnd:int = -1, operationState:SelectionState = null):void
요소의 typeName 또는 일부를 변경합니다. | EditManager | ||
clearFormat(leafFormat:flashx.textLayout.formats:ITextLayoutFormat, paragraphFormat:flashx.textLayout.formats:ITextLayoutFormat, containerFormat:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
지정된 선택 영역 또는 현재 선택 영역의 서식을 정의 취소합니다. | EditManager | ||
clearFormatOnElement(targetElement:FlowElement, format:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
지정된 요소의 스타일 정의를 취소합니다. | EditManager | ||
createDiv(parent:FlowGroupElement = null, format:flashx.textLayout.formats:ITextLayoutFormat = null, operationState:SelectionState = null):DivElement operationState에 지정된 범위 전체가 포함되는 새 DivElement를 해당 범위의 시작점과 끝점을 모두 포함하면서 가장 가까운 공통 부모 요소에 생성합니다. | EditManager | ||
createList(parent:FlowGroupElement = null, format:flashx.textLayout.formats:ITextLayoutFormat = null, operationState:SelectionState = null):ListElement operationState에 지정된 범위 전체가 포함되는 새 ListElement를 해당 범위의 시작점과 끝점을 모두 포함하면서 가장 가까운 공통 부모 요소에 생성합니다. | EditManager | ||
createSubParagraphGroup(parent:FlowGroupElement = null, format:flashx.textLayout.formats:ITextLayoutFormat = null, operationState:SelectionState = null):SubParagraphGroupElement operationState에 지정된 범위 전체가 포함되는 새 SubParagraphGroupElement를 해당 범위의 시작점과 끝점을 모두 포함하면서 가장 가까운 공통 부모 요소에 생성합니다. | EditManager | ||
선택 영역을 삭제하고 TextScrap 객체에 삭제된 영역을 반환합니다. | EditManager | ||
비활성화 이벤트를 처리합니다. | SelectionManager | ||
텍스트 범위를 삭제하거나 지점 선택 영역이 있는 경우 다음 문자를 삭제합니다. | EditManager | ||
다음 단어를 삭제합니다. | EditManager | ||
텍스트 범위를 삭제하거나 지점 선택 영역이 있는 경우 이전 문자를 삭제합니다. | EditManager | ||
이전 단어를 삭제합니다. | EditManager | ||
텍스트 범위를 삭제합니다. | EditManager | ||
[재정의]
FlowOperation을 실행합니다. | EditManager | ||
편집 이벤트를 처리합니다. | SelectionManager | ||
작업 그룹을 종료합니다. | EditManager | ||
SelectionManager | |||
focusChange 이벤트를 처리합니다. | SelectionManager | ||
focusIn 이벤트를 처리합니다. | SelectionManager | ||
focusOut 이벤트를 처리합니다. | SelectionManager | ||
getCommonCharacterFormat(range:flashx.textLayout.elements:TextRange = null):flashx.textLayout.formats:TextLayoutFormat
지정한 텍스트 범위 또는 현재 선택 영역의 모든 문자에 대해 공통된 문자 서식 특성을 가져옵니다. | SelectionManager | ||
getCommonContainerFormat(range:flashx.textLayout.elements:TextRange = null):flashx.textLayout.formats:TextLayoutFormat
지정한 텍스트 범위 또는 현재 선택 영역의 모든 컨테이너에 대해 공통된 컨테이너 서식 특성을 가져옵니다. | SelectionManager | ||
getCommonParagraphFormat(range:flashx.textLayout.elements:TextRange = null):flashx.textLayout.formats:TextLayoutFormat
지정한 텍스트 범위 또는 현재 선택 영역의 모든 단락에 대해 공통된 단락 서식 특성을 가져옵니다. | SelectionManager | ||
현재 선택 영역의 SelectionState 객체를 가져옵니다. | SelectionManager | ||
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다. | Object | ||
선택 영역이 있는지 여부를 나타냅니다. | SelectionManager | ||
imeStartComposition 이벤트를 처리합니다.
| SelectionManager | ||
insertInlineGraphic(source:Object, width:Object, height:Object, options:Object = null, operationState:SelectionState = null):InlineGraphicElement
이미지를 삽입합니다. | EditManager | ||
텍스트를 삽입합니다. | EditManager | ||
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다. | Object | ||
선택 영역이 텍스트 범위를 포함하는지 여부를 나타냅니다. | SelectionManager | ||
keyDown 이벤트를 처리합니다. | SelectionManager | ||
keyFocusChange 이벤트를 처리합니다. | SelectionManager | ||
keyUp 이벤트를 처리합니다. | SelectionManager | ||
menuSelect 이벤트를 처리합니다. | SelectionManager | ||
modifyInlineGraphic(source:Object, width:Object, height:Object, options:Object = null, operationState:SelectionState = null):void
기존 인라인 그래픽을 수정합니다. | EditManager | ||
mouseDoubleClick 이벤트를 처리합니다. | SelectionManager | ||
mouseDown 이벤트를 처리합니다. | SelectionManager | ||
mouseMove 이벤트를 처리합니다. | SelectionManager | ||
mouseOut 이벤트를 처리합니다. | SelectionManager | ||
mouseOver 이벤트를 처리합니다. | SelectionManager | ||
mouseUp 이벤트를 처리합니다. | SelectionManager | ||
mouseWheel 이벤트를 처리합니다. | SelectionManager | ||
moveChildren(source:FlowGroupElement, sourceIndex:int, numChildren:int, destination:FlowGroupElement, destinationIndex:int, selectionState:SelectionState = null):void FlowGroupElement 간에 FlowElement 집합을 이동합니다. | EditManager | ||
텍스트가 삽입되거나 삭제되면 선택 영역 관리자를 업데이트합니다. | SelectionManager | ||
선택된 텍스트를 덮어씁니다. | EditManager | ||
pasteTextScrap(scrapToPaste:flashx.textLayout.edit:TextScrap, operationState:SelectionState = null):void
TextScrap을 선택 영역으로 붙여넣습니다. | EditManager | ||
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다. | Object | ||
이전에 실행 취소한 작업을 다시 수행합니다. | EditManager | ||
선택 영역 모양을 다시 표시합니다. | SelectionManager | ||
SelectionManager | |||
SelectionManager | |||
선택 영역의 첫 번째 컨테이너에 포커스를 둡니다. | SelectionManager | ||
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다. | Object | ||
현재 선택 영역의 SelectionState 객체를 설정합니다. | SelectionManager | ||
softKeyboardActivating 이벤트를 처리합니다.
| SelectionManager | ||
지정된 위치에서 대상 요소를 분할하여 현재 요소 뒤에 새 요소를 만듭니다. | EditManager | ||
현재 위치에서 단락을 분할하여 현재 단락 뒤에 새 단락을 만듭니다. | EditManager | ||
TextEvent를 처리합니다. | SelectionManager | ||
로캘별 규칙에 따라 서식이 지정된 이 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 문자열 표현을 반환합니다. | Object | ||
이전 작업을 되돌립니다. | EditManager | ||
EditManager | |||
지정된 객체의 프리미티브 값을 반환합니다. | Object |
allowDelayedOperations | 속성 |
delayUpdates | 속성 |
overwriteMode | 속성 |
public static var overwriteMode:Boolean = false
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
덮어쓰기 모드가 켜져 있는지 꺼져 있는지 여부를 나타냅니다.
true
인 경우 키 입력이 커서 뒤의 문자를 덮어씁니다. false
인 경우 키 입력이 커서 위치에 삽입됩니다.
undoManager | 속성 |
undoManager:IUndoManager
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
이 편집 관리자에 할당된 IUndoManager입니다.
편집 시 실행 취소 및 다시 실행을 사용하려면 IUndoManager 인스턴스를 EditManager 생성자에 전달합니다. 다시 실행 관리자는 실행된 작업 스택을 유지 관리하고 각 작업을 실행 취소하거나 다시 실행할 수 있습니다.
참고: EditManager를 호출하지 않고 관리되는 FlowElement 객체를 호출하여 TextFlow를 직접 수정한 경우 EditManager는 실행 취소 스택을 삭제하여 현재 상태와 동기화가 해제되지 않도록 합니다.
구현
public function get undoManager():IUndoManager
EditManager | () | 생성자 |
public function EditManager(undoManager:IUndoManager = null)
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
EditManager 객체를 만듭니다.
EditManager 객체를 텍스트 흐름의 interactionManager
속성에 할당하여 해당 텍스트 흐름의 편집을 활성화합니다.
변경 작업 실행 취소 및 다시 실행을 지원하려면 IUndoManager 인스턴스를 EditManager 생성자에 전달합니다. flashx.undo.UndoManager
클래스를 사용하거나 사용자 정의 IUndoManager 인스턴스를 만들 수 있습니다. 사용자 정의 IUndoManager 인스턴스를 사용하여 UndoManager 클래스의 인스턴스가 아닌 기존 실행 취소 관리자와 Text Layout Framework 변경 내용을 통합합니다. 사용자 정의 IUndoManager 인스턴스를 만들려면 실행 취소 관리자를 정의하는 데 사용하는 클래스가 IUndoManager 인터페이스를 구현하는지 확인해야 합니다.
undoManager:IUndoManager (default = null ) — 응용 프로그램에 대한 UndoManager입니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
package flashx.textLayout.edit.examples { import flashx.textLayout.edit.EditManager; import flashx.textLayout.elements.TextFlow; import flashx.undo.UndoManager; public class EditManager_constructor { // Create a new TextFlow that is editable and undoable. static public function createEditableTextFlow():TextFlow { var textFlow:TextFlow = new TextFlow(); textFlow.interactionManager = new EditManager( new UndoManager() ); return textFlow; } } }
applyContainerFormat | () | 메서드 |
public function applyContainerFormat(containerFormat:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
선택 영역의 모든 컨테이너에 컨테이너 스타일을 적용합니다.
null
로 설정된 서식 객체의 모든 스타일 속성은 변경되지 않고 유지됩니다.
매개 변수
containerFormat:flashx.textLayout.formats:ITextLayoutFormat — 범위의 컨테이너에 적용할 서식입니다.
| |
operationState:SelectionState (default = null ) — 이 작업을 적용할 텍스트를 지정합니다. null 로 설정된 경우 작업은 현재 선택 영역에 적용됩니다.
|
예제 ( 예제 사용 방법 )
package flashx.textLayout.edit.examples { import flashx.textLayout.edit.IEditManager; import flashx.textLayout.edit.SelectionState; import flashx.textLayout.elements.TextFlow; import flashx.textLayout.formats.TextLayoutFormat; public class EditManager_applyContainerFormat { public function EditManager_applyContainerFormat( selection:SelectionState ):void { var textFlow:TextFlow = selection.textFlow; var editManager:IEditManager = textFlow.interactionManager as IEditManager; var containerStyle:TextLayoutFormat = new TextLayoutFormat(); containerStyle.columnCount = 2; editManager.applyContainerFormat( containerStyle ); } } }
applyFormat | () | 메서드 |
public function applyFormat(leafFormat:flashx.textLayout.formats:ITextLayoutFormat, paragraphFormat:flashx.textLayout.formats:ITextLayoutFormat, containerFormat:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
지정된 선택 영역 또는 현재 선택 영역의 서식을 변경합니다.
실행 취소 가능한 새 서식 적용 작업을 실행합니다. TextLayoutFormat 객체의 스타일 속성 세트만 적용되며 서식 객체의 정의되지 않은 속성은 변경되지 않습니다.
매개 변수
leafFormat:flashx.textLayout.formats:ITextLayoutFormat — 범위 및 인라인 그래픽과 같은 리프 요소에 적용할 서식입니다.
| |
paragraphFormat:flashx.textLayout.formats:ITextLayoutFormat — 단락 요소에 적용할 서식입니다.
| |
containerFormat:flashx.textLayout.formats:ITextLayoutFormat — 컨테이너에 적용할 서식입니다.
| |
operationState:SelectionState (default = null ) — 이 작업을 적용할 텍스트를 지정합니다. null 로 설정된 경우 작업은 현재 선택 영역에 적용됩니다.
|
예제 ( 예제 사용 방법 )
package flashx.textLayout.edit.examples { import flashx.textLayout.edit.IEditManager; import flashx.textLayout.edit.SelectionState; import flashx.textLayout.elements.TextFlow; import flashx.textLayout.formats.TextAlign; import flashx.textLayout.formats.TextLayoutFormat; public class EditManager_applyFormat { public function EditManager_applyFormat( selection:SelectionState ):void { var textFlow:TextFlow = selection.textFlow; var editManager:IEditManager = textFlow.interactionManager as IEditManager; var containerStyle:TextLayoutFormat = new TextLayoutFormat(); containerStyle.columnCount = 2; var paraStyle:TextLayoutFormat = new TextLayoutFormat(); paraStyle.textAlign = TextAlign.JUSTIFY; var charStyle:TextLayoutFormat = new TextLayoutFormat(); charStyle.color = 0xff0000; editManager.applyFormat( charStyle, paraStyle, containerStyle ); } } }
applyFormatToElement | () | 메서드 |
public function applyFormatToElement(targetElement:FlowElement, format:flashx.textLayout.formats:ITextLayoutFormat, relativeStart:int = 0, relativeEnd:int = -1, operationState:SelectionState = null):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
지정된 요소에 스타일을 적용합니다.
null
로 설정된 서식 객체의 모든 스타일 속성은 변경되지 않고 유지됩니다. 지정된 요소와 관련 있는 스타일만 적용됩니다.
매개 변수
targetElement:FlowElement — 스타일을 적용할 요소입니다.
| |
format:flashx.textLayout.formats:ITextLayoutFormat — 적용할 스타일이 있는 서식입니다.
| |
relativeStart:int (default = 0 ) — 새 서식을 할당할 때 요소의 시작점을 기준으로 하는, 요소 분할 지점의 오프셋입니다.
| |
relativeEnd:int (default = -1 ) — 새 서식을 적용할 때 요소의 시작점을 기준으로 하는, 요소 분할 지점의 오프셋입니다.
| |
operationState:SelectionState (default = null ) — 이 작업을 적용할 텍스트를 지정합니다. null 로 설정된 경우 작업은 현재 선택 영역에 적용됩니다.
|
applyLeafFormat | () | 메서드 |
public function applyLeafFormat(characterFormat:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
지정된 선택 영역 또는 현재 선택 영역의 리프 요소에 적용되는 서식을 변경합니다.
SpanElement 및 InlineGraphicElement 객체 등의 리프 요소에 새 서식을 적용하는 실행 취소 가능한 작업을 실행합니다. TextLayoutFormat 객체의 스타일 속성 세트만 적용되며 서식 객체의 정의되지 않은 속성은 변경됩니다.
매개 변수
characterFormat:flashx.textLayout.formats:ITextLayoutFormat — 적용할 서식입니다.
| |
operationState:SelectionState (default = null ) — 이 작업을 적용할 텍스트를 지정합니다. null 로 설정된 경우 작업은 현재 선택 영역에 적용됩니다.
|
예제 ( 예제 사용 방법 )
package flashx.textLayout.edit.examples { import flashx.textLayout.edit.IEditManager; import flashx.textLayout.edit.SelectionState; import flashx.textLayout.elements.TextFlow; import flashx.textLayout.formats.TextLayoutFormat; public class EditManager_applyLeafFormat { public function EditManager_applyLeafFormat(selection:SelectionState) { var textFlow:TextFlow = selection.textFlow; var editManager:IEditManager = textFlow.interactionManager as IEditManager; var charStyle:TextLayoutFormat = new TextLayoutFormat(); charStyle.color = 0xff0000; editManager.applyLeafFormat( charStyle ); } } }
applyLink | () | 메서드 |
public function applyLink(href:String, targetString:String = null, extendToLinkBoundary:Boolean = false, operationState:SelectionState = null):LinkElement
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10 - + 10.2, AIR 1.5 |
선택 영역을 링크로 변형하거나 링크를 기본 텍스트로 변형합니다.
실행 취소 가능한 링크 만들기 또는 제거 작업을 실행합니다.
target
매개 변수가 지정된 경우 다음 값 중 하나여야 합니다.
- "_self"
- "_blank"
- "_parent"
- "_top"
브라우저 호스팅 런타임에서 "_self"의 대상은 현재의 HTML 페이지를 대체합니다. 따라서 링크를 포함하는 SWF의 내용이 프레임 또는 프레임 세트 내의 페이지에 있는 경우 링크된 내용은 해당 프레임 내에서 로드됩니다. 페이지가 최상위 수준에 있는 경우 링크된 내용이 열리고 원래 페이지를 대체합니다. "_blank"의 대상은 이름이 지정되지 않은 새 브라우저 창을 엽니다. "_parent"의 대상은 SWF 내용을 포함하는 HTML 페이지의 부모 페이지를 대체합니다. "_top"의 대상은 현재 브라우저 창의 최상위 수준 페이지를 대체합니다.
Adobe AIR와 같은 다른 런타임에서는 링크가 사용자의 기본 브라우저에서 열리고 target
매개 변수가 무시됩니다.
extendToLinkBoundary
매개 변수는 편집 관리자가 하나 이상의 기존 링크와 교차하는 선택 영역을 처리하는 방법을 결정합니다. 매개 변수가 true
인 경우 작업은 선택 영역 및 기존 링크의 전체 텍스트에 하나의 단위로 적용됩니다. 따라서 교차된 첫 번째 링크의 시작부터 교차된 마지막 링크의 끝까지에 걸쳐 하나의 링크가 만들어집니다. 반대로 이 상황에서 extendToLinkBoundary
가 false
인 경우 부분적으로 선택된 기존 링크는 두 개의 링크로 분할됩니다.
매개 변수
href:String — 링크에서 참조하는 URI입니다.
| |
targetString:String (default = null ) — 링크의 대상 브라우저 창입니다.
| |
extendToLinkBoundary:Boolean (default = false ) — 겹치는 기존 링크와 선택 영역을 통합한 다음 변경 사항을 적용할지 여부를 지정합니다.
| |
operationState:SelectionState (default = null ) — 이 작업을 적용할 텍스트를 지정합니다. null 로 설정된 경우 작업은 현재 선택 영역에 적용됩니다.
|
LinkElement — 생성된 LinkElement입니다.
|
예제 ( 예제 사용 방법 )
package flashx.textLayout.edit.examples { import flash.display.Sprite; import flashx.textLayout.container.ContainerController; import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.edit.IEditManager; import flashx.textLayout.edit.SelectionState; import flashx.textLayout.elements.TextFlow; public class EditManager_applyLink { static public function makeLink( selection:SelectionState ):void { var textFlow:TextFlow = selection.textFlow; var editManager:IEditManager = textFlow.interactionManager as IEditManager; editManager.applyLink( "http://www.adobe.com" ); } static public function removeLink( selection:SelectionState ):void { var textFlow:TextFlow = selection.textFlow; var editManager:IEditManager = textFlow.interactionManager as IEditManager; editManager.applyLink( null, null, true ); } } }
applyParagraphFormat | () | 메서드 |
public function applyParagraphFormat(paragraphFormat:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
선택 영역의 모든 단락에 단락 스타일을 적용합니다.
null
로 설정된 서식 객체의 모든 스타일 속성은 변경되지 않고 유지됩니다.
매개 변수
paragraphFormat:flashx.textLayout.formats:ITextLayoutFormat — 선택된 단락에 적용할 서식입니다.
| |
operationState:SelectionState (default = null ) — 이 작업을 적용할 텍스트를 지정합니다. null 로 설정된 경우 작업은 현재 선택 영역에 적용됩니다.
|
예제 ( 예제 사용 방법 )
package flashx.textLayout.edit.examples { import flashx.textLayout.edit.IEditManager; import flashx.textLayout.edit.SelectionState; import flashx.textLayout.elements.TextFlow; import flashx.textLayout.formats.TextAlign; import flashx.textLayout.formats.TextLayoutFormat; public class EditManager_applyParagraphFormat { static public function justifyParagraph( selection:SelectionState ):void { var textFlow:TextFlow = selection.textFlow; var editManager:IEditManager = textFlow.interactionManager as IEditManager; var paraStyle:TextLayoutFormat = new TextLayoutFormat(); paraStyle.textAlign = TextAlign.JUSTIFY; editManager.applyParagraphFormat( paraStyle ); } } }
applyTCY | () | 메서드 |
public function applyTCY(tcyOn:Boolean, operationState:SelectionState = null):flashx.textLayout.elements:TCYElement
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10 - + 10.2, AIR 1.5 |
텍스트를 TCY 실행으로 변형하거나 TCY 실행을 TCY가 아닌 텍스트로 변형합니다.
TCY(수평 문자)를 사용하면 세로선 내에서 텍스트가 가로로 나타나므로 수직 텍스트에서 일본어가 아닌 텍스트나 날짜 등의 숫자로 구성된 작은 블록을 보다 쉽게 읽을 수 있습니다.
매개 변수
tcyOn:Boolean — 텍스트 범위에 TCY를 적용하려면 true 로 설정하고, TCY를 제거하려면 false 로 설정합니다.
| |
operationState:SelectionState (default = null ) — 이 작업을 적용할 텍스트를 지정합니다. null 로 설정된 경우 작업은 현재 선택 영역에 적용됩니다.
|
flashx.textLayout.elements:TCYElement — 생성된 TCYElement입니다.
|
예제 ( 예제 사용 방법 )
package flashx.textLayout.edit.examples { import flashx.textLayout.edit.IEditManager; import flashx.textLayout.edit.SelectionState; import flashx.textLayout.elements.TextFlow; public class EditManager_applyTCY { static public function tcyOn( selection:SelectionState ):void { var textFlow:TextFlow = selection.textFlow; var editManager:IEditManager = textFlow.interactionManager as IEditManager; editManager.applyTCY( true ); } static public function tcyOff( selection:SelectionState ):void { var textFlow:TextFlow = selection.textFlow; var editManager:IEditManager = textFlow.interactionManager as IEditManager; editManager.applyTCY( false ); } } }
beginCompositeOperation | () | 메서드 |
public function beginCompositeOperation():void
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
새 작업 그룹을 시작합니다.
beginCompositeOperation()
을 호출하고 난 후와 이에 대응하는 endCompositeOperation()
을 호출하기 전에 실행된 모든 작업은 하나의 단위로 실행 취소될 수 있는 단일 작업으로 실행 및 그룹화됩니다.
beginCompositeOperation
/endCompositeOperation
블록은 다른 beginCompositeOperation
/endCompositeOperation
블록 내에 중첩될 수 있습니다.
예제 ( 예제 사용 방법 )
beginCompositeOperation()
및 endCompositeOperation()
함수가 사용되지 않았을 경우 각 하위 작업은 그룹이 아닌 개별적으로 실행 취소해야 합니다.
package flashx.textLayout.edit.examples { import flashx.textLayout.edit.IEditManager; import flashx.textLayout.edit.SelectionState; import flashx.textLayout.elements.TextFlow; public class EditManager_beginCompositeOperation { static public function insertGraphic( source:Object, width:Object, height:Object, float:String, selection:SelectionState ):void { var editManager:IEditManager = selection.textFlow.interactionManager as IEditManager; editManager.beginCompositeOperation(); editManager.deleteText( selection ); var changedSelection:SelectionState = new SelectionState( selection.textFlow, selection.anchorPosition, selection.anchorPosition ); editManager.splitParagraph( changedSelection ); changedSelection = new SelectionState( changedSelection.textFlow, changedSelection.anchorPosition + 1, changedSelection.anchorPosition + 1); editManager.insertInlineGraphic( source, width, height, float, changedSelection ); changedSelection = new SelectionState( changedSelection.textFlow, changedSelection.anchorPosition + 1, changedSelection.anchorPosition + 1); editManager.splitParagraph( changedSelection ); editManager.endCompositeOperation(); } } }
changeElementID | () | 메서드 |
public function changeElementID(newID:String, targetElement:FlowElement, relativeStart:int = 0, relativeEnd:int = -1, operationState:SelectionState = null):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
요소의 ID를 변경합니다.
relativeStart
또는 relativeEnd
매개 변수가 기본값이 아닌 다른 값으로 설정된 경우 요소가 분할됩니다. 이 범위 밖에 있는 요소에는 원래 ID가 유지됩니다. relativeStart
및 relativeEnd
매개 변수를 모두 설정하면 복제 ID를 사용하여 요소가 만들어집니다.
매개 변수
newID:String — 새 ID 값입니다.
| |
targetElement:FlowElement — 수정할 요소입니다.
| |
relativeStart:int (default = 0 ) — 새 ID를 할당할 때 요소의 시작점을 기준으로 하는, 요소 분할 지점의 오프셋입니다.
| |
relativeEnd:int (default = -1 ) — 새 ID를 할당할 때 요소의 시작점을 기준으로 하는, 요소 분할 지점의 오프셋입니다.
| |
operationState:SelectionState (default = null ) — 이 작업을 실행 취소할 때 복원할 선택 영역을 지정합니다. null 로 설정된 경우 현재 선택 영역이 저장됩니다.
|
예제 ( 예제 사용 방법 )
package flashx.textLayout.edit.examples { import flashx.textLayout.edit.ElementRange; import flashx.textLayout.edit.IEditManager; import flashx.textLayout.edit.SelectionState; import flashx.textLayout.elements.TextFlow; public class EditManager_changeElementID { static public function changeParagraphID( id:String, selection:SelectionState ):void { var textFlow:TextFlow = selection.textFlow; var editManager:IEditManager = textFlow.interactionManager as IEditManager; var selectedRange:ElementRange = ElementRange.createElementRange( selection.textFlow, selection.absoluteStart, selection.absoluteEnd ); editManager.changeElementID( id, selectedRange.firstParagraph, 0, -1, selection ); } } }
changeStyleName | () | 메서드 |
public function changeStyleName(newName:String, targetElement:FlowElement, relativeStart:int = 0, relativeEnd:int = -1, operationState:SelectionState = null):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
요소의 styleName 또는 일부를 변경합니다.
relativeStart
또는 relativeEnd
매개 변수가 기본값이 아닌 다른 값으로 설정된 경우 요소가 분할됩니다. 이 범위 밖에 있는 요소에는 원래 스타일이 유지됩니다.
매개 변수
newName:String — 새 스타일의 이름입니다.
| |
targetElement:FlowElement — 변경할 요소를 지정합니다.
| |
relativeStart:int (default = 0 ) — 새 스타일을 할당할 때 요소의 시작점을 기준으로 하는, 요소 분할 지점의 오프셋입니다.
| |
relativeEnd:int (default = -1 ) — 새 스타일을 할당할 때 요소의 끝점을 기준으로 하는, 요소 분할 지점의 오프셋입니다.
| |
operationState:SelectionState (default = null ) — 이 작업을 실행 취소할 때 복원할 선택 영역을 지정합니다. null 로 설정된 경우 현재 선택 영역이 저장됩니다.
|
예제 ( 예제 사용 방법 )
package flashx.textLayout.edit.examples { import flashx.textLayout.edit.ElementRange; import flashx.textLayout.edit.IEditManager; import flashx.textLayout.edit.SelectionState; import flashx.textLayout.elements.TextFlow; public class EditManager_changeStyleName { static public function changeParagraphStyle( styleName:String, selection:SelectionState ):void { var textFlow:TextFlow = selection.textFlow; var editManager:IEditManager = textFlow.interactionManager as IEditManager; var selectedRange:ElementRange = ElementRange.createElementRange( selection.textFlow, selection.absoluteStart, selection.absoluteEnd ); editManager.changeElementID( styleName, selectedRange.firstParagraph, 0, -1, selection ); } } }
changeTypeName | () | 메서드 |
public function changeTypeName(newName:String, targetElement:FlowElement, relativeStart:int = 0, relativeEnd:int = -1, operationState:SelectionState = null):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
요소의 typeName 또는 일부를 변경합니다.
relativeStart
또는 relativeEnd
매개 변수가 기본값이 아닌 다른 값으로 설정된 경우 요소가 분할됩니다. 이 범위 밖에 있는 요소에는 원래 스타일이 유지됩니다.
매개 변수
newName:String — 새 유형의 이름입니다.
| |
targetElement:FlowElement — 변경할 요소를 지정합니다.
| |
relativeStart:int (default = 0 ) — 새 스타일을 할당할 때 요소의 시작점을 기준으로 하는, 요소 분할 지점의 오프셋입니다.
| |
relativeEnd:int (default = -1 ) — 새 스타일을 할당할 때 요소의 끝점을 기준으로 하는, 요소 분할 지점의 오프셋입니다.
| |
operationState:SelectionState (default = null ) — 이 작업을 실행 취소할 때 복원할 선택 영역을 지정합니다. null 로 설정된 경우 현재 선택 영역이 저장됩니다.
|
clearFormat | () | 메서드 |
public function clearFormat(leafFormat:flashx.textLayout.formats:ITextLayoutFormat, paragraphFormat:flashx.textLayout.formats:ITextLayoutFormat, containerFormat:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
지정된 선택 영역 또는 현재 선택 영역의 서식을 정의 취소합니다.
지정된 서식을 정의 취소하는 실행 취소 가능한 작업을 실행합니다. TextLayoutFormat 객체의 스타일 속성 세트만 적용되며 서식 객체의 정의되지 않은 속성은 변경되지 않습니다.
매개 변수
leafFormat:flashx.textLayout.formats:ITextLayoutFormat — 선택한 범위의 LeafFlowElement 객체에 대해 정의를 지울 속성을 나타내는 설정 값을 가지는 서식입니다.
| |
paragraphFormat:flashx.textLayout.formats:ITextLayoutFormat — 선택한 범위의 ParagraphElement 객체에 대해 정의를 지울 속성을 나타내는 설정 값을 가지는 서식입니다.
| |
containerFormat:flashx.textLayout.formats:ITextLayoutFormat — 선택한 범위의 ContainerController 객체에 대해 정의를 지울 속성을 나타내는 설정 값을 가지는 서식입니다.
| |
operationState:SelectionState (default = null ) — 이 작업을 적용할 텍스트를 지정합니다. null 로 설정된 경우 작업은 현재 선택 영역에 적용됩니다.
|
clearFormatOnElement | () | 메서드 |
public function clearFormatOnElement(targetElement:FlowElement, format:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
지정된 요소의 스타일 정의를 취소합니다.
undefined
상태인 서식 객체의 모든 스타일 속성은 변경되지 않고 유지됩니다. 지정한 서식에 정의되어 있는 모든 스타일은 지정한 요소에서 정의 취소됩니다.
매개 변수
targetElement:FlowElement — 스타일을 적용할 요소입니다.
| |
format:flashx.textLayout.formats:ITextLayoutFormat — 정의를 취소할 스타일이 있는 서식입니다.
| |
operationState:SelectionState (default = null ) — 이 작업을 적용할 텍스트를 지정합니다. null 로 설정된 경우 작업은 현재 선택 영역에 적용됩니다.
|
createDiv | () | 메서드 |
public function createDiv(parent:FlowGroupElement = null, format:flashx.textLayout.formats:ITextLayoutFormat = null, operationState:SelectionState = null):DivElement
operationState에 지정된 범위 전체가 포함되는 새 DivElement를 해당 범위의 시작점과 끝점을 모두 포함하면서 가장 가까운 공통 부모 요소에 생성합니다. 시작점과 끝점이 같으면 새 DivElement는 그 지점에 하나의 자식 단락과 함께 생성됩니다.
매개 변수
parent:FlowGroupElement (default = null ) — 새 DivElement의 부모 요소를 지정합니다. null 이면 새 부모가 SelectionState가 있는 최하위 요소가 됩니다.
| |
format:flashx.textLayout.formats:ITextLayoutFormat (default = null ) — 새 DivElement에 적용할 서식 지정 특성입니다.
| |
operationState:SelectionState (default = null ) — 이 작업을 적용할 텍스트를 지정합니다. null 로 설정된 경우 작업은 현재 선택 영역에 적용됩니다.
|
DivElement — 생성된 새 DivElement입니다.
|
createList | () | 메서드 |
public function createList(parent:FlowGroupElement = null, format:flashx.textLayout.formats:ITextLayoutFormat = null, operationState:SelectionState = null):ListElement
operationState에 지정된 범위 전체가 포함되는 새 ListElement를 해당 범위의 시작점과 끝점을 모두 포함하면서 가장 가까운 공통 부모 요소에 생성합니다. 범위 내 각 단락은 새 ListElement에서 ListItemElement가 됩니다. 시작점과 끝점이 같으면 새 ListElement는 그 지점에 하나의 ListItemElement 자식과 함께 생성됩니다.
매개 변수
parent:FlowGroupElement (default = null ) — 필요한 경우 새 ListElement의 부모 요소를 지정합니다. null 이면 새 부모가 SelectionState가 있는 최하위 요소가 됩니다.
| |
format:flashx.textLayout.formats:ITextLayoutFormat (default = null ) — 새 ListElement에 적용할 서식 지정 특성입니다.
| |
operationState:SelectionState (default = null ) — 이 작업을 적용할 텍스트를 지정합니다. null 로 설정된 경우 작업은 현재 선택 영역에 적용됩니다.
|
ListElement — 생성된 새 ListElement입니다.
|
createSubParagraphGroup | () | 메서드 |
public function createSubParagraphGroup(parent:FlowGroupElement = null, format:flashx.textLayout.formats:ITextLayoutFormat = null, operationState:SelectionState = null):SubParagraphGroupElement
operationState에 지정된 범위 전체가 포함되는 새 SubParagraphGroupElement를 해당 범위의 시작점과 끝점을 모두 포함하면서 가장 가까운 공통 부모 요소에 생성합니다. 시작점과 끝점이 같으면 아무 작업도 하지 않습니다.
매개 변수
parent:FlowGroupElement (default = null ) — 새 SubParagraphGroupElement 요소의 부모 요소를 지정합니다. null 이면 새 부모가 SelectionState가 있는 최하위 요소가 됩니다.
| |
format:flashx.textLayout.formats:ITextLayoutFormat (default = null ) — 새 SubParagraphGroupElement에 적용할 서식 지정 특성입니다.
| |
operationState:SelectionState (default = null ) — 이 작업을 적용할 텍스트를 지정합니다. null 로 설정된 경우 작업은 현재 선택 영역에 적용됩니다.
|
SubParagraphGroupElement — 생성된 새 SubParagraphGroupElement입니다.
|
cutTextScrap | () | 메서드 |
public function cutTextScrap(operationState:SelectionState = null):flashx.textLayout.edit:TextScrap
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
선택 영역을 삭제하고 TextScrap 객체에 삭제된 영역을 반환합니다.
결과 TextScrap은 시스템 클립보드에 게시할 수도 있고 후속 pasteTextOperation()
작업에 사용할 수도 있습니다.
매개 변수
operationState:SelectionState (default = null ) — 이 작업을 적용할 텍스트를 지정합니다. null 로 설정된 경우 작업은 현재 선택 영역에 적용됩니다.
|
flashx.textLayout.edit:TextScrap — 잘라낸 TextScrap입니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
package flashx.textLayout.edit.examples { import flash.display.Sprite; import flashx.textLayout.container.ContainerController; import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.edit.EditManager; import flashx.textLayout.edit.TextScrap; import flashx.undo.UndoManager; import flashx.textLayout.elements.TextFlow; public class EditManager_cutTextScrap { static public function cutTextScrap():TextScrap { var textFlow:TextFlow = TextConverter.importToFlow( "How do now brown cow.", TextConverter.PLAIN_TEXT_FORMAT ); textFlow.flowComposer.addController( new ContainerController( new Sprite() )); var editManager:EditManager = new EditManager( new UndoManager() ); textFlow.interactionManager = editManager; textFlow.flowComposer.updateAllControllers(); editManager.selectRange( 4, 7 ); var scrap:TextScrap = editManager.cutTextScrap(); //Displays: How now brown cow. return scrap; } } }
deleteNextCharacter | () | 메서드 |
public function deleteNextCharacter(operationState:SelectionState = null):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
텍스트 범위를 삭제하거나 지점 선택 영역이 있는 경우 다음 문자를 삭제합니다.
매개 변수
operationState:SelectionState (default = null ) — 이 작업을 적용할 텍스트를 지정합니다. null 로 설정된 경우 작업은 현재 선택 영역에 적용됩니다.
|
예제 ( 예제 사용 방법 )
package flashx.textLayout.edit.examples { import flash.display.Sprite; import flashx.textLayout.container.ContainerController; import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.edit.EditManager; import flashx.textLayout.elements.TextFlow; public class EditManager_deleteNextCharacter { static public function deleteNextCharacter():void { var textFlow:TextFlow = TextConverter.importToFlow( "How now brown crow.", TextConverter.PLAIN_TEXT_FORMAT ); textFlow.flowComposer.addController( new ContainerController( new Sprite() )); var editManager:EditManager = new EditManager(); textFlow.interactionManager = editManager; textFlow.flowComposer.updateAllControllers(); editManager.selectRange( 15, 15 ); editManager.deleteNextCharacter(); //displays: How now brown cow. } } }
deleteNextWord | () | 메서드 |
public function deleteNextWord(operationState:SelectionState = null):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
다음 단어를 삭제합니다.
범위가 선택된 경우 범위의 첫 번째 단어를 삭제합니다.
매개 변수
operationState:SelectionState (default = null ) — 이 작업을 적용할 텍스트를 지정합니다. null 로 설정된 경우 작업은 현재 선택 영역에 적용됩니다.
|
예제 ( 예제 사용 방법 )
package flashx.textLayout.edit.examples { import flash.display.Sprite; import flashx.textLayout.container.ContainerController; import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.edit.EditManager; import flashx.textLayout.elements.TextFlow; public class EditManager_deleteNextWord { static public function deleteNextWord():void { var textFlow:TextFlow = TextConverter.importToFlow( "How do now brown cow.", TextConverter.PLAIN_TEXT_FORMAT ); textFlow.flowComposer.addController( new ContainerController( new Sprite() )); var editManager:EditManager = new EditManager(); textFlow.interactionManager = editManager; textFlow.flowComposer.updateAllControllers(); editManager.selectRange( 3, 3 ); editManager.deleteNextWord(); //displays: How now brown cow. } } }
deletePreviousCharacter | () | 메서드 |
public function deletePreviousCharacter(operationState:SelectionState = null):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
텍스트 범위를 삭제하거나 지점 선택 영역이 있는 경우 이전 문자를 삭제합니다.
매개 변수
operationState:SelectionState (default = null ) — 이 작업을 적용할 텍스트를 지정합니다. null 로 설정된 경우 작업은 현재 선택 영역에 적용됩니다.
|
예제 ( 예제 사용 방법 )
package flashx.textLayout.edit.examples { import flash.display.Sprite; import flashx.textLayout.container.ContainerController; import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.edit.EditManager; import flashx.textLayout.elements.TextFlow; public class EditManager_deletePreviousCharacter { static public function deletePreviousCharacter():void { var textFlow:TextFlow = TextConverter.importToFlow( "How now brown crow.", TextConverter.PLAIN_TEXT_FORMAT ); textFlow.flowComposer.addController( new ContainerController( new Sprite() )); var editManager:EditManager = new EditManager(); textFlow.interactionManager = editManager; textFlow.flowComposer.updateAllControllers(); editManager.selectRange( 16, 16 ); editManager.deletePreviousCharacter(); //displays: How now brown cow. } } }
deletePreviousWord | () | 메서드 |
public function deletePreviousWord(operationState:SelectionState = null):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
이전 단어를 삭제합니다.
범위가 선택된 경우 범위의 첫 번째 단어를 삭제합니다.
매개 변수
operationState:SelectionState (default = null ) — 이 작업을 적용할 텍스트를 지정합니다. null 로 설정된 경우 작업은 현재 선택 영역에 적용됩니다.
|
예제 ( 예제 사용 방법 )
var textFlow:TextFlow = TextConverter.importToFlow( "How do now brown cow.", TextConverter.PLAIN_TEXT_FORMAT ); textFlow.flowComposer = new StandardFlowComposer(); textFlow.flowComposer.addController( new ContainerController( this )); var editManager:EditManager = new EditManager( new UndoManager() ); textFlow.interactionManager = editManager; textFlow.flowComposer.updateAllControllers(); editManager.setSelection( 7, 7 ); editManager.deletePreviousWord(); //displays: How now brown cow.
deleteText | () | 메서드 |
public function deleteText(operationState:SelectionState = null):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
텍스트 범위를 삭제합니다.
매개 변수
operationState:SelectionState (default = null ) — 이 작업을 적용할 텍스트를 지정합니다. null 로 설정된 경우 작업은 현재 선택 영역에 적용됩니다.
|
예제 ( 예제 사용 방법 )
package flashx.textLayout.edit.examples { import flash.display.Sprite; import flashx.textLayout.container.ContainerController; import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.edit.EditManager; import flashx.textLayout.elements.TextFlow; public class EditManager_deleteText { static public function deleteText():void { var textFlow:TextFlow = TextConverter.importToFlow( "How do now brown cow.", TextConverter.PLAIN_TEXT_FORMAT ); textFlow.flowComposer.addController( new ContainerController( new Sprite() )); var editManager:EditManager = new EditManager(); textFlow.interactionManager = editManager; textFlow.flowComposer.updateAllControllers(); editManager.selectRange( 4, 7 ); editManager.deleteText(); //displays: How now brown cow. } } }
doOperation | () | 메서드 |
override public function doOperation(operation:FlowOperation):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
FlowOperation을 실행합니다.
doOperation()
메서드는 텍스트 흐름을 업데이트하는 IEditManager 함수에서 호출됩니다. 고유한 사용자 정의 작업을 만드는 경우를 제외하고 대개 이 함수를 직접 호출할 필요가 없습니다.
이 함수는 다음 단계에 따라 사용할 수 있습니다.
- 이 작업을 수행하기 전에 보류 중인 작업을 플러시합니다.
- 취소 가능한 flowOperationBegin 작업을 보냅니다. 작업이 취소되면 이 메서드가 즉시 반환됩니다.
- 작업을 실행합니다. 작업이
true
또는false
를 반환합니다.False
는 변경된 사항이 없음을 나타냅니다. - 작업을 실행 취소 스택으로 밀어 넣습니다.
- 다시 실행 스택을 지웁니다.
- 표시를 업데이트합니다.
- 취소 가능한 flowOperationEnd 이벤트를 보냅니다.
예외 처리: 작업이 예외를 throw하는 경우 예외가 catch되고 오류가 flowOperationEnd 이벤트에 첨부됩니다. 이벤트가 취소되지 않으면 오류가 rethrow됩니다.
매개 변수
operation:FlowOperation — FlowOperation 객체입니다.
|
예제 ( 예제 사용 방법 )
package flashx.textLayout.edit.examples { import flash.display.Sprite; import flashx.textLayout.container.ContainerController; import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.edit.EditManager; import flashx.textLayout.edit.SelectionState; import flashx.textLayout.elements.TextFlow; import flashx.textLayout.operations.InsertTextOperation; public class EditManager_doOperation { static public function doOperation(sprite:Sprite):void { var textFlow:TextFlow = TextConverter.importToFlow( "How brown cow.", TextConverter.PLAIN_TEXT_FORMAT ); textFlow.flowComposer.addController( new ContainerController( sprite )); var editManager:EditManager = new EditManager(); textFlow.interactionManager = editManager; textFlow.flowComposer.updateAllControllers(); var selectionState:SelectionState = new SelectionState(textFlow, 4, 4); var insertOperation:InsertTextOperation = new InsertTextOperation( selectionState, "now " ); editManager.doOperation( insertOperation ); // displays: How now brown cow } } }
endCompositeOperation | () | 메서드 |
public function endCompositeOperation():void
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
작업 그룹을 종료합니다.
beginCompositeOperation()
을 마지막으로 호출한 뒤에 실행된 모든 작업은 완료된 CompositeOperation으로 그룹화됩니다. CompositeOperation 객체는 실행 취소 스택에 추가되거나 이 컴포지션 작업이 다른 컴포지션 작업 내에 중첩되는 경우 부모 작업에 추가됩니다.
예제 ( 예제 사용 방법 )
beginCompositeOperation()
및 endCompositeOperation()
함수가 사용되지 않았을 경우 각 하위 작업은 그룹이 아닌 개별적으로 실행 취소해야 합니다.
package flashx.textLayout.edit.examples { import flashx.textLayout.edit.IEditManager; import flashx.textLayout.edit.SelectionState; import flashx.textLayout.elements.TextFlow; public class EditManager_beginCompositeOperation { static public function insertGraphic( source:Object, width:Object, height:Object, float:String, selection:SelectionState ):void { var editManager:IEditManager = selection.textFlow.interactionManager as IEditManager; editManager.beginCompositeOperation(); editManager.deleteText( selection ); var changedSelection:SelectionState = new SelectionState( selection.textFlow, selection.anchorPosition, selection.anchorPosition ); editManager.splitParagraph( changedSelection ); changedSelection = new SelectionState( changedSelection.textFlow, changedSelection.anchorPosition + 1, changedSelection.anchorPosition + 1); editManager.insertInlineGraphic( source, width, height, float, changedSelection ); changedSelection = new SelectionState( changedSelection.textFlow, changedSelection.anchorPosition + 1, changedSelection.anchorPosition + 1); editManager.splitParagraph( changedSelection ); editManager.endCompositeOperation(); } } }
insertInlineGraphic | () | 메서드 |
public function insertInlineGraphic(source:Object, width:Object, height:Object, options:Object = null, operationState:SelectionState = null):InlineGraphicElement
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10 - + 10.2, AIR 1.5 |
이미지를 삽입합니다.
이미지의 소스는 URI를 포함하는 문자열, URLRequest 객체, 포함된 에셋을 나타내는 클래스 객체 또는 DisplayObject 인스턴스일 수 있습니다.
폭 및 높이 값은 픽셀 수, 퍼센트 또는 그래픽의 실제 크기가 사용된 경우 문자열 'auto'로 나타날 수 있습니다.
Float 클래스에 정의된 상수 중 하나로 float
을 설정하여 이미지가 텍스트의 왼쪽 또는 오른쪽에 표시되어야 하는지 또는 텍스트와 함께 표시되어야 하는지 여부를 지정합니다.
매개 변수
source:Object — URI로 해석된 문자열, Embed DisplayObject 클래스로 해석된 클래스, DisplayObject 인스턴스 또는 URLRequest 중 하나일 수 있습니다.
| |
width:Object — 삽입할 이미지의 폭(숫자, 퍼센트 또는 'auto')입니다.
| |
height:Object — 삽입할 이미지의 높이(숫자, 퍼센트 또는 'auto')입니다.
| |
options:Object (default = null ) — none이 지원됩니다.
| |
operationState:SelectionState (default = null ) — 이 작업을 적용할 텍스트를 지정합니다. null 로 설정된 경우 작업은 현재 선택 영역에 적용됩니다.
|
InlineGraphicElement |
관련 API 요소
예제 ( 예제 사용 방법 )
package flashx.textLayout.edit.examples { import flash.display.Shape; import flash.display.Sprite; import flashx.textLayout.container.ContainerController; import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.edit.EditManager; import flashx.textLayout.elements.TextFlow; import flashx.undo.UndoManager; public class EditManager_insertInlineGraphic { static public function insertInlineGraphic(sprite:Sprite):void { var textFlow:TextFlow = TextConverter.importToFlow( "How now brown cow.", TextConverter.PLAIN_TEXT_FORMAT ); textFlow.flowComposer.addController( new ContainerController( sprite )); var editManager:EditManager = new EditManager( new UndoManager() ); textFlow.interactionManager = editManager; textFlow.flowComposer.updateAllControllers(); editManager.selectRange( 0, 0 ); editManager.insertInlineGraphic( createGraphic(), 6, 6, "none" ); } static private function createGraphic():Shape { var shape:Shape = new Shape(); shape.graphics.beginFill( 0x993366 ); shape.graphics.drawCircle( 5, 4, 6 ); return shape; } } }
insertText | () | 메서드 |
public function insertText(text:String, origOperationState:SelectionState = null):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
텍스트를 삽입합니다.
텍스트를 특정 위치에 삽입하거나 텍스트의 범위에 삽입합니다. operationState
매개 변수에서 제공되는 위치가 범위인 경우 또는 매개 변수가 null
이고 현재 선택 영역이 범위인 경우 현재 범위 내에 있는 텍스트는 삽입된 텍스트로 대체됩니다.
매개 변수
text:String — 삽입할 문자열입니다.
| |
origOperationState:SelectionState (default = null ) — 이 작업을 적용할 흐름의 텍스트를 지정합니다. null 로 설정된 경우 작업은 현재 선택 영역에 적용됩니다.
|
예제 ( 예제 사용 방법 )
package flashx.textLayout.edit.examples { import flash.display.Sprite; import flashx.textLayout.container.ContainerController; import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.edit.EditManager; import flashx.textLayout.elements.TextFlow; import flashx.undo.UndoManager; public class EditManager_insertText { static public function insertText(sprite:Sprite):void { var textFlow:TextFlow = TextConverter.importToFlow( "How brown cow.", TextConverter.PLAIN_TEXT_FORMAT ); textFlow.flowComposer.addController( new ContainerController( sprite )); var editManager:EditManager = new EditManager( new UndoManager() ); textFlow.interactionManager = editManager; textFlow.flowComposer.updateAllControllers(); editManager.selectRange( 4, 4 ); editManager.insertText( "now " ); } } }
modifyInlineGraphic | () | 메서드 |
public function modifyInlineGraphic(source:Object, width:Object, height:Object, options:Object = null, operationState:SelectionState = null):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
기존 인라인 그래픽을 수정합니다.
변경되지 않는 속성을 원본 그래픽의 값으로 설정합니다. 일반적으로 기존 그래픽 객체를 수정하는 것이 삭제하고 다시 만드는 것보다 효율적입니다.
매개 변수
source:Object — URI로 해석된 문자열, Embed DisplayObject 클래스로 해석된 클래스, DisplayObject 인스턴스 또는 URLRequest 중 하나일 수 있습니다.
| |
width:Object — 이미지의 새 폭(숫자 또는 퍼센트)입니다.
| |
height:Object — 이미지의 새 높이(숫자 또는 퍼센트)입니다.
| |
options:Object (default = null ) — none이 지원됩니다.
| |
operationState:SelectionState (default = null ) — 이 작업을 적용할 텍스트를 지정합니다. null 로 설정된 경우 작업은 현재 선택 영역에 적용됩니다.
|
예제 ( 예제 사용 방법 )
width
및 height
속성을 변경하여 타원으로 확장합니다.
package flashx.textLayout.edit.examples { import flash.display.Sprite; import flash.display.Shape; import flashx.textLayout.container.ContainerController; import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.edit.EditManager; import flashx.textLayout.elements.TextFlow; import flashx.undo.UndoManager; public class EditManager_modifyInlineGraphic { static public function modifyInlineGraphic(sprite:Sprite):void { var textFlow:TextFlow = TextConverter.importToFlow( "How now brown cow.", TextConverter.PLAIN_TEXT_FORMAT ); textFlow.flowComposer.addController( new ContainerController( sprite )); var editManager:EditManager = new EditManager( new UndoManager() ); textFlow.interactionManager = editManager; textFlow.flowComposer.updateAllControllers(); editManager.selectRange( 0, 0 ); editManager.insertInlineGraphic( createGraphic(), 6, 6, "none" ); editManager.selectRange( 0, 1 ); editManager.modifyInlineGraphic( null, '12', '5', 'none' ); } static private function createGraphic():Shape { var shape:Shape = new Shape(); shape.graphics.beginFill( 0x993366 ); shape.graphics.drawCircle( 4, 4, 6 ); return shape; } } }
moveChildren | () | 메서드 |
public function moveChildren(source:FlowGroupElement, sourceIndex:int, numChildren:int, destination:FlowGroupElement, destinationIndex:int, selectionState:SelectionState = null):void
FlowGroupElement 간에 FlowElement 집합을 이동합니다. desinationElement는 이동할 자식의 부모로서 올바른 유형이어야 하며 그렇지 않으면 예외가 발생합니다.
매개 변수
source:FlowGroupElement — 이동할 요소의 원래 부모입니다.
| |
sourceIndex:int — 이동할 첫 번째 요소의 소스에 있는 자식 인덱스입니다.
| |
numChildren:int — 이동할 자식의 개수입니다.
| |
destination:FlowGroupElement — 이동 후 요소의 새 부모입니다.
| |
destinationIndex:int — 요소가 이동할 대상에 있는 자식 인덱스입니다.
| |
selectionState:SelectionState (default = null ) — 이 작업이 적용될 텍스트이자 실행 취소 시 선택 항목이 반환될 텍스트를 지정합니다. null 이면 작업은 현재 선택 항목에 적용됩니다. 현재 선택 항목이 없으면 이 매개 변수는 null이 아니어야 합니다.
|
overwriteText | () | 메서드 |
public function overwriteText(text:String, operationState:SelectionState = null):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
선택된 텍스트를 덮어씁니다.
선택 영역이 지점 선택인 경우 첫 번째 문자는 새 텍스트로 덮어쓰여집니다.
매개 변수
text:String — 삽입할 문자열입니다.
| |
operationState:SelectionState (default = null ) — 이 작업을 적용할 텍스트를 지정합니다. null 로 설정된 경우 작업은 현재 선택 영역에 적용됩니다.
|
예제 ( 예제 사용 방법 )
package flashx.textLayout.edit.examples { import flash.display.Sprite; import flashx.textLayout.container.ContainerController; import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.edit.EditManager; import flashx.textLayout.elements.TextFlow; import flashx.undo.UndoManager; public class EditManager_overwriteText { static public function overwriteText(sprite:Sprite):void { var textFlow:TextFlow = TextConverter.importToFlow( "How zzz brown cow.", TextConverter.PLAIN_TEXT_FORMAT ); textFlow.flowComposer.addController( new ContainerController( sprite )); var editManager:EditManager = new EditManager( new UndoManager() ); textFlow.interactionManager = editManager; textFlow.flowComposer.updateAllControllers(); editManager.selectRange( 4, 6 ); editManager.overwriteText( "now" ); //Displays: How now brown cow. } } }
pasteTextScrap | () | 메서드 |
public function pasteTextScrap(scrapToPaste:flashx.textLayout.edit:TextScrap, operationState:SelectionState = null):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
TextScrap을 선택 영역으로 붙여넣습니다.
텍스트의 범위가 지정된 경우 범위 내의 텍스트가 삭제됩니다.
매개 변수
scrapToPaste:flashx.textLayout.edit:TextScrap — 붙여 넣을 TextScrap입니다.
| |
operationState:SelectionState (default = null ) — 이 작업을 적용할 텍스트를 지정합니다. null 로 설정된 경우 작업은 현재 선택 영역에 적용됩니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
package flashx.textLayout.edit.examples { import flash.display.Sprite; import flashx.textLayout.container.ContainerController; import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.edit.EditManager; import flashx.textLayout.edit.TextScrap; import flashx.textLayout.elements.TextFlow; import flashx.undo.UndoManager; public class EditManager_pasteTextScrap { static public function pasteText(sprite:Sprite):void { var textFlow:TextFlow = TextConverter.importToFlow( "How brown cow now.", TextConverter.PLAIN_TEXT_FORMAT ); textFlow.flowComposer.addController( new ContainerController( sprite )); var editManager:EditManager = new EditManager( new UndoManager() ); textFlow.interactionManager = editManager; textFlow.flowComposer.updateAllControllers(); editManager.selectRange( 13, 17 ); var scrap:TextScrap = editManager.cutTextScrap(); editManager.selectRange( 3, 3 ); editManager.pasteTextScrap( scrap ); //Displays: How now brown cow. } } }
redo | () | 메서드 |
public function redo():void
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
이전에 실행 취소한 작업을 다시 수행합니다.
참고: 이 IEditManager와 연결된 IUndoManager 관리자는 다른 IEditManager와도 연결되어 있으므로 다른 IEditManager와 연결된 다시 실행 작업이 이미 다시 실행된 작업일 수 있습니다. 다른 IEditManager의 FlowOperation이 다시 실행 스택의 위에 있을 때 이러한 현상이 발생할 수 있습니다.
이 함수는 undo가 켜져 있어야 작동합니다.
관련 API 요소
예제 ( 예제 사용 방법 )
package flashx.textLayout.edit.examples { import flash.display.Sprite; import flashx.textLayout.edit.IEditManager; import flashx.textLayout.elements.TextFlow; public class EditManager_redo { static public function redo( textFlow:TextFlow ):void { if( textFlow.interactionManager is IEditManager ) { IEditManager( textFlow.interactionManager ).redo(); } } } }
splitElement | () | 메서드 |
public function splitElement(target:FlowGroupElement, operationState:SelectionState = null):FlowGroupElement
지정된 위치에서 대상 요소를 분할하여 현재 요소 뒤에 새 요소를 만듭니다. operationState가 범위인 경우 범위 내 텍스트가 삭제됩니다. 새 요소가 operationState를 통해 지정된 텍스트 위치 뒤에 생성됩니다. SubParagraphGroupElement는 분할해도 인접한 요소들이 자동으로 다시 연결되기 때문에 아무 효과가 없습니다.
이를 사용할 수 있는 적절한 예로는 목록을 두 목록으로 나누는 경우입니다.
매개 변수
target:FlowGroupElement — 분할할 요소입니다.
| |
operationState:SelectionState (default = null ) — 이 작업을 적용할 텍스트를 지정합니다. null 로 설정된 경우 작업은 현재 선택 영역에 적용됩니다.
|
FlowGroupElement — 생성된 새 단락입니다.
|
splitParagraph | () | 메서드 |
public function splitParagraph(operationState:SelectionState = null):ParagraphElement
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
현재 위치에서 단락을 분할하여 현재 단락 뒤에 새 단락을 만듭니다.
텍스트의 범위가 지정된 경우 범위 내의 텍스트가 삭제됩니다.
매개 변수
operationState:SelectionState (default = null ) — 이 작업을 적용할 텍스트를 지정합니다. null 로 설정된 경우 작업은 현재 선택 영역에 적용됩니다.
|
ParagraphElement — 생성된 새 단락입니다.
|
예제 ( 예제 사용 방법 )
package flashx.textLayout.edit.examples { import flash.display.Sprite; import flashx.textLayout.container.ContainerController; import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.edit.EditManager; import flashx.textLayout.edit.TextScrap; import flashx.textLayout.elements.TextFlow; import flashx.undo.UndoManager; public class EditManager_splitParagraph { static public function splitParagraph(sprite:Sprite):void { var textFlow:TextFlow = TextConverter.importToFlow( "How now brown cow.", TextConverter.PLAIN_TEXT_FORMAT ); textFlow.flowComposer.addController( new ContainerController( sprite )); var editManager:EditManager = new EditManager( new UndoManager() ); textFlow.interactionManager = editManager; textFlow.flowComposer.updateAllControllers(); editManager.selectRange( 8, 8 ); editManager.splitParagraph(); //Displays: How now // brown cow. } } }
undo | () | 메서드 |
public function undo():void
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
이전 작업을 되돌립니다.
참고: 이 IEditManager와 연결된 IUndoManager 관리자는 다른 IEditManager와도 연결되어 있으므로 다른 IEditManager와 연결된 실행 취소 작업이 이미 실행 취소된 작업일 수 있습니다. 다른 IEditManager의 FlowOperation이 실행 취소 스택의 위에 있을 때 이러한 현상이 발생할 수 있습니다.
이 함수는 undo가 켜져 있어야 작동합니다.
관련 API 요소
예제 ( 예제 사용 방법 )
package flashx.textLayout.edit.examples { import flashx.textLayout.edit.IEditManager; import flashx.textLayout.elements.TextFlow; public class EditManager_undo { static public function undo( textFlow:TextFlow ):void { if( textFlow.interactionManager is IEditManager ) { IEditManager( textFlow.interactionManager ).undo(); } } } }
updateAllControllers | () | 메서드 |
public function updateAllControllers():void
- TextFlow(
tf
)를 만들어 샘플 텍스트 행을 포함합니다. - ParagraphElement에 저장되는 SpanElement에 텍스트를 저장합니다.
- 텍스트에 대한 ContainerController를 만들고 표시할 텍스트를 구성합니다.
- 이벤트 리스너에서 나중에 사용하도록 TextFlow 관리자 객체를 인스턴스화합니다.
- 사용자가 텍스트를 편집 가능하게 할 수 있는 매우 간단한 편집 버튼을 만듭니다.
- 읽기 전용 및 편집 가능 상태 간에 전환하는 버튼의 이벤트 리스너를 만듭니다.
TextFlow의 interactionManager
속성 값은 샘플 텍스트의 편집 가능 여부를 결정합니다. 속성이 null
이면 샘플 텍스트는 읽기 전용이고, 속성에 EditManager 인스턴스가 할당되면 샘플 텍스트는 편집 가능합니다. createEditButton() 메서드는 매우 간단한 버튼식 TextField 인스턴스를 만듭니다. 사용자가 TextField 인스턴스를 클릭하면 updateEditable()
리스너 함수가 interactionManager
속성의 값을 전환합니다.
package flashx.textLayout.edit.examples { import flash.display.Sprite; import flash.events.MouseEvent; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flashx.textLayout.container.ContainerController; import flashx.textLayout.edit.EditManager; import flashx.textLayout.elements.ParagraphElement; import flashx.textLayout.elements.SpanElement; import flashx.textLayout.elements.TextFlow; import flashx.undo.UndoManager; public class EditManager_example extends Sprite { private var tf:TextFlow; private var em:EditManager; private var um:UndoManager; private var editable:TextField; public function EditManager_example() { //define TextFlow tf = new TextFlow(); //define elements to contain text var p:ParagraphElement = new ParagraphElement(); var s:SpanElement = new SpanElement(); s.text ="This is sample text for the EditManager example."; //add these elements to the TextFlow p.addChild(s); tf.addChild(p); //compose TextFlow to display var tfController:ContainerController = new ContainerController(this,600,600); tfController.container.y = 10 tf.flowComposer.addController(tfController); tf.flowComposer.updateAllControllers(); //define TextFlow manager objects um = new UndoManager(); em = new EditManager(um); tf.interactionManager = null; createEditButton(); } private function createEditButton ():void { editable = new TextField(); editable.appendText("Click to make the sample text editable"); editable.x = 0; editable.y = 50; editable.width = 150; editable.autoSize = flash.text.TextFieldAutoSize.LEFT; editable.selectable = false; editable.background = true; editable.backgroundColor = 0xAAAAAA; addChild(editable); editable.addEventListener(MouseEvent.CLICK, updateEditable); } private function updateEditable(me:MouseEvent):void{ if (editable.text.indexOf("read only") >= 0) { editable.text = "Click to make the sample text editable"; tf.interactionManager = null; } else { editable.text = "Click to make the sample text read only"; tf.interactionManager = em; } } } }
Tue Jun 12 2018, 03:17 PM Z