套件 | flashx.textLayout.edit |
介面 | public interface IEditManager extends ISelectionManager , IInteractionEventHandler |
實作者 | EditManager |
語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10, AIR 1.5 |
若要啟用文字流排編輯,請將 IEditManager 實體指定給 TextFlow 物件的 interactionManager
屬性。編輯管理員會處理文字的變更 (如插入、刪除及格式變更)。如果編輯管理員具有還原管理員,則可以回復變更。編輯管理員會視需要觸發文字流排的重新撰寫及顯示。
相關 API 元素
屬性 | 定義自 | ||
---|---|---|---|
absoluteEnd : int [唯讀]
選取範圍結尾的文字位置 (從文字流排開頭算起的偏移量)。 | ISelectionManager | ||
absoluteStart : int [唯讀]
選取範圍開頭的文字位置 (從文字流排開頭算起的偏移量)。 | ISelectionManager | ||
activePosition : int [唯讀]
選取範圍的作用點。 | ISelectionManager | ||
allowDelayedOperations : Boolean 控制作業是否可以排入佇列以便稍後執行。 | IEditManager | ||
anchorPosition : int [唯讀]
選取範圍的錨點。 | ISelectionManager | ||
currentSelectionFormat : SelectionFormat [唯讀]
目前 SelectionFormat 物件。 | ISelectionManager | ||
delayUpdates : Boolean
根據預設,呼叫 IEditManager 會同步處理更新,因此,會進行要求的變更,以及重新撰寫文字並新增至 IEditManager 方法內的顯示清單。 | IEditManager | ||
editingMode : String [唯讀]
編輯模式。 | ISelectionManager | ||
focused : Boolean [唯讀]
指出文字流排中的容器是否具有焦點。 | ISelectionManager | ||
focusedSelectionFormat : SelectionFormat
用來在具有焦點的容器中繪製選取範圍的 SelectionFormat 物件。 | ISelectionManager | ||
inactiveSelectionFormat : SelectionFormat
當選取範圍不在作用中視窗時,用來繪製選取範圍的 SelectionFormat 物件。 | ISelectionManager | ||
textFlow : flashx.textLayout.elements:TextFlow
此選取管理員所管理的 TextFlow 物件。 | ISelectionManager | ||
undoManager : IUndoManager [唯讀]
指定給此 EditManager 實體的 UndoManager 物件 (如果有的話)。 | IEditManager | ||
unfocusedSelectionFormat : SelectionFormat
當選取範圍不在具有焦點的容器但在作用中視窗時,用來繪製選取範圍的SelectionFormat 物件。 | ISelectionManager | ||
windowActive : Boolean [唯讀]
指出與文字流排相關的視窗是否為作用中視窗。 | ISelectionManager |
方法 | 定義自 | ||
---|---|---|---|
處理 activate 事件。 | IInteractionEventHandler | ||
applyContainerFormat(format:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
將容器樣式套用至選取範圍中的任何容器。 | IEditManager | ||
applyFormat(leafFormat:flashx.textLayout.formats:ITextLayoutFormat, paragraphFormat:flashx.textLayout.formats:ITextLayoutFormat, containerFormat:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
變更指定 (或目前) 選取範圍的格式。 | IEditManager | ||
applyFormatToElement(targetElement:FlowElement, format:flashx.textLayout.formats:ITextLayoutFormat, relativeStart:int = 0, relativeEnd:int = -1, operationState:SelectionState = null):void
將樣式套用至指定的元素。 | IEditManager | ||
applyLeafFormat(format:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
變更在指定 (或目前) 選取範圍中套用至分葉元素的格式。 | IEditManager | ||
applyLink(href:String, target:String = null, extendToLinkBoundary:Boolean = false, operationState:SelectionState = null):LinkElement
將選取範圍轉換為連結,或將連結轉換為一般文字。 | IEditManager | ||
applyParagraphFormat(format:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
將段落樣式套用至選取範圍中的任何段落。 | IEditManager | ||
將文字轉換為 TCY 執行,或將 TCY 執行轉換為非 TCY 文字。 | IEditManager | ||
開始新的作業群組。 | IEditManager | ||
changeElementID(newID:String, targetElement:FlowElement, relativeStart:int = 0, relativeEnd:int = -1, operationState:SelectionState = null):void
變更元素的 ID。 | IEditManager | ||
changeStyleName(newName:String, targetElement:FlowElement, relativeStart:int = 0, relativeEnd:int = -1, operationState:SelectionState = null):void 從下列版本以後不建議使用: 2.0: 請使用 applyFormatToElement
變更元素或一部分元素的 styleName。 | IEditManager | ||
changeTypeName(newName:String, targetElement:FlowElement, relativeStart:int = 0, relativeEnd:int = -1, operationState:SelectionState = null):void
變更元素或一部分元素的 typeName。 | IEditManager | ||
clearFormat(leafFormat:flashx.textLayout.formats:ITextLayoutFormat, paragraphFormat:flashx.textLayout.formats:ITextLayoutFormat, containerFormat:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
將指定 (或目前) 選取範圍的格式解除定義。 | IEditManager | ||
clearFormatOnElement(targetElement:FlowElement, format:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
將指定元素的樣式解除定義。 | IEditManager | ||
createDiv(parent:FlowGroupElement = null, format:flashx.textLayout.formats:ITextLayoutFormat = null, operationState:SelectionState = null):DivElement 在同時包含範圍開始與結束點的最低常見父輩元素上,建立包含 operationState 中所指定之整個範圍的新 DivElement。 | IEditManager | ||
createList(parent:FlowGroupElement = null, format:flashx.textLayout.formats:ITextLayoutFormat = null, operationState:SelectionState = null):ListElement 在同時包含範圍開始與結束點的最低常見父輩元素上,建立包含 operationState 中所指定之整個範圍的新 ListElement。 | IEditManager | ||
createSubParagraphGroup(parent:FlowGroupElement = null, format:flashx.textLayout.formats:ITextLayoutFormat = null, operationState:SelectionState = null):SubParagraphGroupElement 在同時包含範圍開始與結束點的最低常見父輩元素上,建立包含 operationState 中所指定之整個範圍的新 SubParagraphGroupElement。 | IEditManager | ||
刪除選取的區域,並在 TextScrap 物件中傳回刪除的區域。 | IEditManager | ||
處理 deactivate 事件。 | IInteractionEventHandler | ||
刪除某範圍的文字,或如果指定點選取,則刪除下一個字元。 | IEditManager | ||
刪除下一個單字。 | IEditManager | ||
刪除某範圍的文字,或如果指定點選取,則刪除上一個字元。 | IEditManager | ||
刪除上一個單字。 | IEditManager | ||
刪除某範圍的文字。 | IEditManager | ||
執行 FlowOperation。 | IEditManager | ||
處理 edit 事件。 | IInteractionEventHandler | ||
結束作業群組。 | IEditManager | ||
執行任何擱置 FlowOperation。 | ISelectionManager | ||
處理 focusChange 事件。 | IInteractionEventHandler | ||
處理 focusIn 事件。 | IInteractionEventHandler | ||
處理 focusOut 事件。 | IInteractionEventHandler | ||
getCommonCharacterFormat(range:flashx.textLayout.elements:TextRange = null):flashx.textLayout.formats:TextLayoutFormat
取得指定文字範圍或目前選取範圍中所有字元都適用的字元格式特質。 | ISelectionManager | ||
getCommonContainerFormat(range:flashx.textLayout.elements:TextRange = null):flashx.textLayout.formats:TextLayoutFormat
取得指定文字範圍或目前選取範圍中所有容器都適用的容器格式特質。 | ISelectionManager | ||
getCommonParagraphFormat(range:flashx.textLayout.elements:TextRange = null):flashx.textLayout.formats:TextLayoutFormat
取得指定文字範圍或目前選取範圍中所有段落都適用的段落格式特質。 | ISelectionManager | ||
取得目前選取範圍的 SelectionState 物件。 | ISelectionManager | ||
指出是否有選取範圍。 | ISelectionManager | ||
處理 imeStartComposition 事件
| IInteractionEventHandler | ||
insertInlineGraphic(source:Object, width:Object, height:Object, options:Object = null, operationState:SelectionState = null):InlineGraphicElement
插入影像。 | IEditManager | ||
插入文字。 | IEditManager | ||
指出選取範圍是否涵蓋某範圍的文字。 | ISelectionManager | ||
處理 keyDown 事件。 | IInteractionEventHandler | ||
處理 keyFocusChange 事件。 | IInteractionEventHandler | ||
處理 keyUp 事件。 | IInteractionEventHandler | ||
處理 menuSelect 事件。 | IInteractionEventHandler | ||
modifyInlineGraphic(source:Object, width:Object, height:Object, options:Object = null, operationState:SelectionState = null):void
修改現有內嵌圖形。 | IEditManager | ||
處理 mouseDoubleClick 事件。 | IInteractionEventHandler | ||
處理 mouseDown 事件。 | IInteractionEventHandler | ||
處理 mouseMove 事件。 | IInteractionEventHandler | ||
處理 mouseOut 事件。 | IInteractionEventHandler | ||
處理 mouseOver 事件。 | IInteractionEventHandler | ||
處理 mouseUp 事件。 | IInteractionEventHandler | ||
處理 mouseWheel 事件。 | IInteractionEventHandler | ||
moveChildren(source:FlowGroupElement, sourceIndex:int, numChildren:int, destination:FlowGroupElement, destinationIndex:int, operationState:SelectionState = null):void 將一組 FlowElements 從某個 FlowGroupElement 移至另一個。 | IEditManager | ||
插入或刪除文字時,更新選取管理員。 | ISelectionManager | ||
覆寫選取的文字。 | IEditManager | ||
pasteTextScrap(scrapToPaste:flashx.textLayout.edit:TextScrap, operationState:SelectionState = null):void
將 TextScrap 貼入選取的區域。 | IEditManager | ||
重新執行上一個還原作業。 | IEditManager | ||
重新顯示選取範圍形狀。 | ISelectionManager | ||
選取整個流排。 | ISelectionManager | ||
選取一個文字範圍。 | ISelectionManager | ||
將焦點放在選取範圍的第一個容器。 | ISelectionManager | ||
設定目前選取範圍的 SelectionState 物件。 | ISelectionManager | ||
處理 softKeyboardActivating 事件
| IInteractionEventHandler | ||
在指定的位置中分割目標元素,在目前的這一個元素之後建立新元素。 | IEditManager | ||
在目前位置中分割段落,在目前的這一個段落之後建立新段落。 | IEditManager | ||
處理 TextEvent。 | IInteractionEventHandler | ||
回復上一個作業。 | IEditManager | ||
在作業修改顯示之後更新顯示。 | IEditManager |
allowDelayedOperations | 屬性 |
allowDelayedOperations:Boolean
語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10.2, AIR 2.0 |
控制作業是否可以排入佇列以便稍後執行。
某些作業可能會延遲執行以獲得最佳效能。例如,若能把多個按鍵動作結合成單一插入作業,將會非常方便。若 allowDelayedOperations
為 true
,則作業可以排入佇列。若為 false
,則會立即執行所有作業。預設為 true
。
實作
public function get allowDelayedOperations():Boolean
public function set allowDelayedOperations(value:Boolean):void
相關 API 元素
delayUpdates | 屬性 |
delayUpdates:Boolean
語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10.2, AIR 2.0 |
根據預設,呼叫 IEditManager 會同步處理更新,因此,會進行要求的變更,以及重新撰寫文字並新增至 IEditManager 方法內的顯示清單。若要延遲重繪,可將 delayUpdates
設定為 true
。這會導致 IEditManager 只更新模型,並在下一個 enter_frame
事件中重新撰寫和重繪。
實作
public function get delayUpdates():Boolean
public function set delayUpdates(value:Boolean):void
undoManager | 屬性 |
undoManager:IUndoManager
[唯讀] 語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10, AIR 1.5 |
指定給此 EditManager 實體的 UndoManager 物件 (如果有的話)。
還原管理員會處理還原及重做作業。
實作
public function get undoManager():IUndoManager
applyContainerFormat | () | 方法 |
public function applyContainerFormat(format:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10, AIR 1.5 |
將容器樣式套用至選取範圍中的任何容器。
格式物件中任何為 null
的樣式屬性都會保持不變。
參數
format: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 ,則作業會套用至目前的選取範圍。
|
範例 ( 如何使用本範例 )
package flashx.textLayout.edit.examples { import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.edit.IEditManager; import flashx.textLayout.edit.SelectionState; import flashx.textLayout.elements.FlowElement; import flashx.textLayout.elements.TextFlow; import flashx.textLayout.formats.TextLayoutFormat; public class EditManager_applyFormatToElement { public function EditManager_applyFormatToElement( selection:SelectionState ):void { var textFlow:TextFlow = TextConverter.importToFlow("<TextFlow><div><p><span>Hello World</span></p></div><p>No indent</p></TextFlow>", TextConverter.TEXT_LAYOUT_FORMAT); var editManager:IEditManager = textFlow.interactionManager as IEditManager; var divElement:FlowElement = textFlow.getChildAt(0); var format:TextLayoutFormat = new TextLayoutFormat(); format.textIndent = 15; editManager.applyFormatToElement( divElement, format ); } } }
applyLeafFormat | () | 方法 |
public function applyLeafFormat(format:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10, AIR 1.5 |
變更在指定 (或目前) 選取範圍中套用至分葉元素的格式。
執行將新格式套用至分葉元素 (如 SpanElement 及 InlineGraphicElement 物件) 的可還原作業。只會套用針對 TextLayoutFormat 物件設定的樣式特質。格式物件中的未定義特質會變更。
參數
format: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, target:String = null, extendToLinkBoundary:Boolean = false, operationState:SelectionState = null):LinkElement
語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10, 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。
| |
target:String (default = null ) — 連結的目標瀏覽器視窗。
| |
extendToLinkBoundary:Boolean (default = false ) — 指定是否合併選取範圍與任何重疊的現有連結,然後套用變更。
| |
operationState:SelectionState (default = null ) — 指定此作業要套用的文字;如果是 null ,則作業會套用至目前的選取範圍。
|
LinkElement — 已建立的 LinkElement。
|
相關 API 元素
範例 ( 如何使用本範例 )
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(format:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10, AIR 1.5 |
將段落樣式套用至選取範圍中的任何段落。
格式物件中任何為 null
的樣式屬性都會保持不變。
參數
format: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, AIR 1.5 |
將文字轉換為 TCY 執行,或將 TCY 執行轉換為非 TCY 文字。
TCY (或直排內橫排) 會讓垂直行內的文字以水平格式顯示,這是讓小區塊的非日文文字或數字 (如日期) 更容易在垂直的文字形式中讀取的方式。
參數
tcyOn:Boolean — 設定為 true 可將 TCY 套用至文字範圍,設定為 false 則可移除 TCY。
| |
operationState:SelectionState (default = null ) — 指定此作業要套用的文字;如果是 null ,則作業會套用至目前的選取範圍。
|
flashx.textLayout.elements:TCYElement — 已建立的 TCYElement。
|
相關 API 元素
範例 ( 如何使用本範例 )
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
區塊下的巢狀項目。
相關 API 元素
範例 ( 如何使用本範例 )
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
語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10, AIR 1.5 |
在同時包含範圍開始與結束點的最低常見父輩元素上,建立包含 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
語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10, AIR 1.5 |
在同時包含範圍開始與結束點的最低常見父輩元素上,建立包含 operationState 中所指定之整個範圍的新 ListElement。範圍內的每個段落都將成為新 ListElement 中的 ListItemElement。若開始點與結束點相同,即會在含單一 ListItemElement 子系的位置上建立新的 ListElement。
參數
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
語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10, AIR 1.5 |
在同時包含範圍開始與結束點的最低常見父輩元素上,建立包含 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 元素
flashx.textLayout.edit.TextClipboard.setContents
範例 ( 如何使用本範例 )
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 | () | 方法 |
public function doOperation(operation:FlowOperation):void
語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10, AIR 1.5 |
執行 FlowOperation。
更新文字流排的 IEditManager 函數,該函數會呼叫 doOperation()
方法。除非您建立專屬的自訂作業,否則一般並不需要直接呼叫此函數。
將在下列步驟中繼續此函數:
- 執行此作業前,請先清除所有擱置作業。
- 傳送可取消的 flowOperationBegin 事件。如果取消,則會立即傳回此方法。
- 執行作業。作業會傳回
true
或false
。False
表示沒有進行任何變更。 - 將作業推入還原堆疊中。
- 清除重做堆疊。
- 更新顯示。
- 傳送可取消的 flowOperationEnd 事件。
例外處理:如果作業擲出例外,則會捕捉到該例外,並將錯誤附加至 flowOperationEnd 事件。如果未取消事件,則會重新擲出錯誤。
參數
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 物件會新增至還原堆疊,或如果此撰寫作業是另一個撰寫作業下的巢狀項目,則會新增至父作業。
相關 API 元素
insertInlineGraphic | () | 方法 |
public function insertInlineGraphic(source:Object, width:Object, height:Object, options:Object = null, operationState:SelectionState = null):InlineGraphicElement
語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10, AIR 1.5 |
插入影像。
影像來源可以是含有 URI 的字串、URLRequest 物件、代表內嵌資產的 Class 物件,或 DisplayObject 實體。
寬度及高度值可以是像素數、百分比或字串「auto」(在此情況下,會使用圖形的實際尺寸)。
將 float
設定為在 Float 類別所定義的其中一個常數,藉此指定影像要顯示在任何文字的左邊或右邊,還是要內嵌在文字中。
參數
source:Object — 可以是解譯為 URI 的 String、解譯為內嵌 DisplayObject 之類別的 Class、DisplayObject 實體或 URLRequest。
| |
width:Object — 要插入的影像寬度 (數字、百分比或「auto」)
| |
height:Object — 要插入的影像高度 (數字、百分比或「auto」)
| |
options:Object (default = null ) — 不支援.
| |
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, operationState:SelectionState = null):void
語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10, AIR 1.5 |
插入文字。
在文字的某個位置或某個範圍,插入文字。如果 operationState
參數中提供的位置是範圍 (或參數是 null
,而目前的選取是範圍),則會以插入的文字來取代目前範圍中的文字。
參數
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_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 的 String、解譯為內嵌 DisplayObject 之類別的 Class、DisplayObject 實體或 URLRequest。
| |
width:Object — 影像的新寬度 (數字或百分比)。
| |
height:Object — 影像的新高度 (數字或百分比)。
| |
options:Object (default = null ) — 不支援.
| |
operationState:SelectionState (default = null ) — 指定此作業要套用的文字;如果是 null ,則作業會套用至目前的選取範圍。
|
相關 API 元素
範例 ( 如何使用本範例 )
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, operationState:SelectionState = null):void
語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10, AIR 1.5 |
將一組 FlowElements 從某個 FlowGroupElement 移至另一個。desinationElement 必須是所移動之子系的有效父輩類型,否則會擲出例外。
參數
source:FlowGroupElement — 要移動之元素的原始父輩。
| |
sourceIndex:int — 要移動之第一個元素來源內的子系索引。
| |
numChildren:int — 所移動的子系數目。
| |
destination:FlowGroupElement — 移動後之元素的新父輩。
| |
destinationIndex:int — 元素移動之目的地內的子系索引。
| |
operationState: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 元素
flashx.textLayout.edit.TextClipboard.getContents
flashx.textLayout.edit.TextScrap
範例 ( 如何使用本範例 )
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 位在重做堆疊的上層,則會發生此狀況。
如果未開啟還原,則此函數不會有任何作用。
相關 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
語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10, AIR 1.5 |
在指定的位置中分割目標元素,在目前的這一個元素之後建立新元素。若 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 位在還原堆疊的上層,則會發生此狀況。
如果未開啟還原,則此函數不會有任何作用。
相關 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
語言版本: | ActionScript 3.0 |
執行階段版本: | Flash Player 10.2, AIR 2.0 |
在作業修改顯示之後更新顯示。通常這會自動處理,但若 delayUpdates
為 on,請呼叫此方法,顯示應會在下一個 enter_frame
事件之後更新。
Tue Jun 12 2018, 03:47 PM Z