パッケージ | 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-backspace | deletePreviousWord |
ctrl-delete | deleteNextWord |
alt-delete | deleteNextWord |
ctrl+alt-delete | deleteNextWord |
ctrl-shift- ハイフン | 任意ハイフンを挿入 |
ctrl+backspace | deletePreviousWord |
alt+backspace | deletePreviousWord |
ctrl+alt-backspace | deletePreviousWord |
INSERT | overWriteMode を切り替えます |
backspace | deletePreviousCharacter |
ENTER | リストでの textFlow.configuration.manageEnterKey の場合は、新しいリストアイテムを作成します。そうでない場合は、新しい段落を作成します。 |
shift-ENTER | textFlow.configuration.manageEnterKey の場合は、新しい段落を作成します。 |
TAB | リストでの textFlow.configuration.manageTabKey の場合は、ネストされたリストを作成します。そうでない場合は、タブを挿入するか、次の文字をタブで上書きします。 |
shift-TAB | リストの最初のアイテムでの textFlow.configuration.manageTabKey の場合は、リストからアイテムを除きます(アイテムを階層レベルを上げます)。 |
注意:次のキーは、Windows では機能しません。alt-backspace、alt-delete、ctrl+alt-backspace、ctrl+alt-delete。これらのキーでは、ランタイムのイベントが生成されません。
関連する 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 一連の FlowElements を 2 つの FlowGroupElement 間で移動します。 | 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 コンストラクターに渡します。取り消しマネージャーは実行された操作のスタックを管理し、個々の操作を取り消しまたはやり直しできます。
注意:TextFlow が直接変更された場合(EditManager の呼び出しを介してではなく、管理する FlowElement オブジェクトの直接呼び出しを介して)、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 インスタンスを使用して、Text Layout Framework の変更を、UndoManager クラスのインスタンスではない既存の undo マネージャーに統合します。カスタム IUndoManager インスタンスを作成するには、undo マネージャーの定義に使用するクラスで 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
パラメーターにより、1 つ以上の既存リンクと交差する選択範囲が編集マネージャーで処理される方法が決定されます。パラメーターが true
の場合、操作は 1 つの単位として、選択範囲および既存リンクのテキスト全体に適用されます。これにより、交差する最初のリンクの先頭から交差する最後のリンクの末尾にまたがる 1 つのリンクが作成されます。これに対し、この状況で extendToLinkBoundary
が false
の場合、部分的に選択された既存リンクは 2 つのリンクに分割されます。
パラメーター
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()
の呼び出し前に実行されるすべての操作は、1 つの単位として取り消し可能な 1 つの操作として実行およびグループ化されます。
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 になります。 始点と終点が同一である場合、その位置に単一の子 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
範囲の始点と終点の両方を含む最下位の共通親エレメントにおいて 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 イベントを送信します。
例外処理:操作で例外がスローされた場合、キャッチされてエラーが 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 オブジェクトは取り消しスタックに追加されるか、この複合操作が別の複合操作内にネストされる場合は、親操作に追加されます。
例 ( この例の使用方法 )
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 オブジェクト、埋め込みアセットを表す Class オブジェクト、または DisplayObject インスタンスを指定できます。
幅および高さの値には、ピクセル数、パーセント、またはストリング 'auto' を指定できます。'auto' の場合、グラフィックの実際のサイズが使用されます。
float
を Float クラスで定義されたいずれかの定数に設定して、イメージをテキストまたはテキストのあるインラインの左または右のどちらに表示するかを指定します。
パラメーター
source:Object — URI として解釈される String、Embed DisplayObject のクラスとして解釈される Class、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 として解釈される String、Embed DisplayObject のクラスとして解釈される Class、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
一連の FlowElements を 2 つの FlowGroupElement 間で移動します。desination プロパティは、移動する子に対して有効な親タイプにする必要があります。そのようにしない場合、例外がスローされます。
パラメーター
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 がやり直しスタックの 1 番上にある場合に起こります。
取り消しが有効になっていない場合、この関数では何も実行されません。
関連する 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 を分割しても効果はありません。これは、これらのエレメントが隣接するエレメントに自動的に再マージされるためです。
これを使用するのは、既存のリストを 2 つのリストに分割する場合などです。
パラメーター
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 が取り消しスタックの 1 番上にある場合に起こります。
取り消しが有効になっていない場合、この関数では何も実行されません。
関連する 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
)を作成して、サンプルテキストを 1 行格納します。 - SpanElement にテキストを保存して、それをさらに ParagraphElement に保存します。
- テキストの 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, 10:34 AM Z