Pakiet | flashx.textLayout.edit |
Klasa | public class EditManager |
Dziedziczenie | EditManager SelectionManager Object |
Implementuje | IEditManager |
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Aby umożliwić edytowanie przepływu tekstu, należy przypisać instancję klasy EditManager do właściwości interactionManager
obiektu TextFlow. Menedżer edycji obsługuje zmiany tekstu (np. wstawienia, usunięcia i zmiany formatu). Zmiany są odwracalne, jeśli menedżer edycji zawiera menedżera cofania. Menedżer edycji wywołuje zmianę określania układu oraz zmianę sposobu wyświetlania przepływu tekstu (w zależności od potrzeb).
Klasa EditManager obsługuje następujące skróty klawiaturowe:
Klawisze | Wynik |
---|---|
ctrl-z | cofnij |
ctrl-y | ponów |
ctrl-backspace | Usuń poprzedni wyraz |
ctrl-delete | Usuń następny wyraz |
alt+delete | Usuń następny wyraz |
ctrl+alt-delete | Usuń następny wyraz |
ctrl-shift-łącznik | Wstaw dowolne miejsce podziału |
ctrl+backspace | Usuń poprzedni wyraz |
alt+backspace | Usuń poprzedni wyraz |
ctrl+alt-backspace | Usuń poprzedni wyraz |
INSERT | Przełącz tryb nadpisywania |
backspace | Usuń poprzedni znak |
ENTER | Jeśli lista zawiera właściwość textFlow.configuration.manageEnterKey, następuje utworzenie nowego elementu listy. W przeciwnym razie jest tworzony nowy akapit. |
Shift+ENTER | Jeśli właściwość textFlow.configuration.manageEnterKey ma wartość true, następuje utworzenie nowego akapitu. |
TAB | Jeśli lista zawiera właściwość textFlow.configuration.manageTabKey, następuje utworzenie listy zagnieżdżonej. W przeciwnym razie jest wstawiany znak TAB lub następuje zastąpienie następnego znaku znakiem TAB. |
Shift+TAB | Jeśli pierwszy element listy zawiera wartość textFlow.configuration.manageTabKey, element jest przenoszony poza listę. |
Uwaga: Następujące kombinacje nie działają w systemie Windows: alt-backspace, alt-delete, ctrl+alt-backspace oraz ctrl+alt-delete. Te klawisze nie wygenerują żadnego zdarzenia w środowisku wykonawczym.
Powiązane elementy interfejsu API
Właściwość | Zdefiniowane przez | ||
---|---|---|---|
absoluteEnd : int [tylko do odczytu]
Położenie tekstu będące końcem zaznaczenia, jako przesunięcie od początku przepływu tekstu. | SelectionManager | ||
absoluteStart : int [tylko do odczytu]
Położenie tekstu będące początkiem zaznaczenia, jako przesunięcie od początku przepływu tekstu. | SelectionManager | ||
activePosition : int [tylko do odczytu]
Punkt aktywny zaznaczenia. | SelectionManager | ||
allowDelayedOperations : Boolean | EditManager | ||
anchorPosition : int [tylko do odczytu]
Punkt kontrolny zaznaczenia. | SelectionManager | ||
constructor : Object
Odwołanie do obiektu klasy lub funkcji konstruktora, dotyczące danej instancji obiektu. | Object | ||
currentSelectionFormat : SelectionFormat [tylko do odczytu]
Bieżący obiekt SelectionFormat. | SelectionManager | ||
delayUpdates : Boolean | EditManager | ||
editingMode : String [tylko do odczytu]
Tryb edycji. | SelectionManager | ||
focused : Boolean [tylko do odczytu]
Wskazuje, czy kontener w przepływie tekstu zawiera punkt skupienia. | SelectionManager | ||
focusedSelectionFormat : SelectionFormat
Obiekt SelectionFormat służący do rysowania zaznaczenia w kontenerze objętym punktem skupienia. | SelectionManager | ||
inactiveSelectionFormat : SelectionFormat
Obiekt SelectionFormat służący do narysowania zaznaczenia, gdy nie znajduje się ono w aktywnym oknie. | SelectionManager | ||
overwriteMode : Boolean = false [statyczny]
Określa, czy tryb nadpisywania jest włączony czy wyłączony. | EditManager | ||
textFlow : flashx.textLayout.elements:TextFlow
Obiekt TextFlow zarządzany przez menedżera zaznaczania. | SelectionManager | ||
undoManager : IUndoManager [tylko do odczytu]
Klasa IUndoManager przypisana do tego menedżera edycji. | EditManager | ||
unfocusedSelectionFormat : SelectionFormat
Obiekt SelectionFormat służący do rysowania zaznaczenia, gdy nie znajduje się w kontenerze objętym punktem skupienia, ale znajduje się w aktywnym oknie. | SelectionManager | ||
windowActive : Boolean [tylko do odczytu]
Wskazuje, czy okno skojarzone z przepływem tekstu jest aktywne. | SelectionManager |
Metoda | Zdefiniowane przez | ||
---|---|---|---|
EditManager(undoManager:IUndoManager = null)
Tworzy obiekt EditManager. | EditManager | ||
Przetwarza zdarzenie activate. | SelectionManager | ||
applyContainerFormat(containerFormat:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
Stosuje style kontenera do dowolnych kontenerów w zaznaczeniu. | EditManager | ||
applyFormat(leafFormat:flashx.textLayout.formats:ITextLayoutFormat, paragraphFormat:flashx.textLayout.formats:ITextLayoutFormat, containerFormat:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
Zmienia formaty wybranego (lub bieżącego) zaznaczenia. | EditManager | ||
applyFormatToElement(targetElement:FlowElement, format:flashx.textLayout.formats:ITextLayoutFormat, relativeStart:int = 0, relativeEnd:int = -1, operationState:SelectionState = null):void
Stosuje style do wybranego elementu. | EditManager | ||
applyLeafFormat(characterFormat:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
Zmienia format zastosowany do elementów-liści w określonym (lub bieżącym) zaznaczeniu. | EditManager | ||
applyLink(href:String, targetString:String = null, extendToLinkBoundary:Boolean = false, operationState:SelectionState = null):LinkElement
Przekształca zaznaczenie w łącze lub łącze w normalny tekst. | EditManager | ||
applyParagraphFormat(paragraphFormat:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
Stosuje style akapitu do dowolnych akapitów w zaznaczeniu. | EditManager | ||
Przekształca tekst na bieg TCY lub bieg TCY na tekst inny niż TCY. | EditManager | ||
Rozpoczyna nową grupę operacji. | EditManager | ||
changeElementID(newID:String, targetElement:FlowElement, relativeStart:int = 0, relativeEnd:int = -1, operationState:SelectionState = null):void
Zmienia identyfikator elementu. | EditManager | ||
changeStyleName(newName:String, targetElement:FlowElement, relativeStart:int = 0, relativeEnd:int = -1, operationState:SelectionState = null):void Przestarzałe od 2.0: Użyj applyFormatToElement
Zmienia wartość styleName elementu lub części elementu. | EditManager | ||
changeTypeName(newName:String, targetElement:FlowElement, relativeStart:int = 0, relativeEnd:int = -1, operationState:SelectionState = null):void
Zmienia właściwość typeName elementu lub części elementu. | EditManager | ||
clearFormat(leafFormat:flashx.textLayout.formats:ITextLayoutFormat, paragraphFormat:flashx.textLayout.formats:ITextLayoutFormat, containerFormat:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
Usuwa definicje formatów określonego (lub bieżącego) zaznaczenia. | EditManager | ||
clearFormatOnElement(targetElement:FlowElement, format:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
Usuwa definicje stylów zastosowane do wybranego elementu. | EditManager | ||
createDiv(parent:FlowGroupElement = null, format:flashx.textLayout.formats:ITextLayoutFormat = null, operationState:SelectionState = null):DivElement Tworzy nowy obiekt DivElement zawierający cały zakres określony we właściwości. Jest używany element macierzysty najniższego poziomu, który zawiera elementy początkowy i końcowy zakresu. | EditManager | ||
createList(parent:FlowGroupElement = null, format:flashx.textLayout.formats:ITextLayoutFormat = null, operationState:SelectionState = null):ListElement Tworzy nowy obiekt ListElement zawierający cały zakres określony we właściwości. Jest używany element macierzysty najniższego poziomu, który zawiera elementy początkowy i końcowy zakresu. | EditManager | ||
createSubParagraphGroup(parent:FlowGroupElement = null, format:flashx.textLayout.formats:ITextLayoutFormat = null, operationState:SelectionState = null):SubParagraphGroupElement Tworzy nowy obiekt SubParagraphGroupElement zawierający cały zakres określony we właściwości. Jest używany element macierzysty najniższego poziomu, który zawiera elementy początkowy i końcowy zakresu. | EditManager | ||
Usuwa zaznaczony obszar i zwraca usunięty obszar w obiekcie TextScrap. | EditManager | ||
Przetwarza zdarzenie deactivate. | SelectionManager | ||
Usuwa zakres tekstu lub — jeśli zaznaczony jest punkt — usuwa następny znak. | EditManager | ||
Usuwa następny wyraz. | EditManager | ||
Usuwa zakres tekstu lub — jeśli zaznaczony jest punkt — usuwa poprzedni znak. | EditManager | ||
Usuwa poprzednie słowo. | EditManager | ||
Usuwa zakres tekstu. | EditManager | ||
[przesłanianie]
Wykonuje operację FlowOperation. | EditManager | ||
Przetwarza zdarzenie edit. | SelectionManager | ||
Kończy grupę operacji. | EditManager | ||
SelectionManager | |||
Przetwarza zdarzenie focusChange. | SelectionManager | ||
Przetwarza zdarzenie focusIn. | SelectionManager | ||
Przetwarza zdarzenie focusOut. | SelectionManager | ||
getCommonCharacterFormat(range:flashx.textLayout.elements:TextRange = null):flashx.textLayout.formats:TextLayoutFormat
Pobiera atrybuty formatu znaków, które są wspólne dla wszystkich znaków w określonym zakresie tekstu lub w bieżącym zaznaczeniu. | SelectionManager | ||
getCommonContainerFormat(range:flashx.textLayout.elements:TextRange = null):flashx.textLayout.formats:TextLayoutFormat
Pobiera atrybuty formatu kontenera, które są wspólne dla wszystkich kontenerów w określonym zakresie tekstu lub w bieżącym zaznaczeniu. | SelectionManager | ||
getCommonParagraphFormat(range:flashx.textLayout.elements:TextRange = null):flashx.textLayout.formats:TextLayoutFormat
Pobiera atrybuty formatu akapitu, które są wspólne dla wszystkich akapitów w określonym zakresie tekstu lub w bieżącym zaznaczeniu. | SelectionManager | ||
Pobiera obiekt SelectionState bieżącego zaznaczenia. | SelectionManager | ||
Wskazuje, czy dla obiektu zdefiniowano określoną właściwość. | Object | ||
Wskazuje, czy istnieje zaznaczenie. | SelectionManager | ||
Przetwarza zdarzenie imeStartComposition.
| SelectionManager | ||
insertInlineGraphic(source:Object, width:Object, height:Object, options:Object = null, operationState:SelectionState = null):InlineGraphicElement
Wstawia obraz. | EditManager | ||
Wstawia tekst. | EditManager | ||
Wskazuje, czy instancja klasy Object należy do łańcucha prototypów obiektu określonego jako parametr. | Object | ||
Wskazuje, czy zaznaczenie pokrywa zakres tekstu. | SelectionManager | ||
Przetwarza zdarzenie keyDown. | SelectionManager | ||
Przetwarza zdarzenie keyFocusChange. | SelectionManager | ||
Przetwarza zdarzenie keyUp. | SelectionManager | ||
Przetwarza zdarzenie menuSelect. | SelectionManager | ||
modifyInlineGraphic(source:Object, width:Object, height:Object, options:Object = null, operationState:SelectionState = null):void
Modyfikuje istniejący wstawiany obiekt graficzny. | EditManager | ||
Przetwarza zdarzenie mouseDoubleClick. | SelectionManager | ||
Przetwarza zdarzenie mouseDown. | SelectionManager | ||
Przetwarza zdarzenie mouseMove. | SelectionManager | ||
Przetwarza zdarzenie mouseOut. | SelectionManager | ||
Przetwarza zdarzenie mouseOver. | SelectionManager | ||
Przetwarza zdarzenie mouseUp. | SelectionManager | ||
Przetwarza zdarzenie mouseWheel. | SelectionManager | ||
moveChildren(source:FlowGroupElement, sourceIndex:int, numChildren:int, destination:FlowGroupElement, destinationIndex:int, selectionState:SelectionState = null):void Przenosi zestaw obiektów FlowElement z jednego obiektu FlowGroupElement do innego. | EditManager | ||
Aktualizuje menedżera zaznaczenia w razie wstawienia lub usunięcia tekstu. | SelectionManager | ||
Zastępuje zaznaczony tekst. | EditManager | ||
pasteTextScrap(scrapToPaste:flashx.textLayout.edit:TextScrap, operationState:SelectionState = null):void
Wkleja obiekt TextScrap do wybranego obszaru. | EditManager | ||
Wskazuje, czy określona właściwość istnieje i jest przeliczalna. | Object | ||
Ponownie wykonuje poprzednią cofniętą operację. | EditManager | ||
Ponownie wyświetla kształty zaznaczenia. | SelectionManager | ||
SelectionManager | |||
SelectionManager | |||
Ustawia punkt skupienia na pierwszym kontenerze w zaznaczeniu. | SelectionManager | ||
Ustawia dostępność właściwości dynamicznej używanej w pętlach. | Object | ||
Ustawia obiekt SelectionState bieżącego zaznaczenia. | SelectionManager | ||
Przetwarza zdarzenie softKeyboardActivating.
| SelectionManager | ||
Dzieli element docelowy w określonym miejscu, tworząc nowy element po bieżącym elemencie. | EditManager | ||
Dzieli akapit w bieżącym miejscu, tworząc nowy akapit po bieżącym akapicie. | EditManager | ||
Przetwarza zdarzenie TextEvent. | SelectionManager | ||
Zwraca ciąg reprezentujący obiekt — sformatowany zgodnie z konwencjami właściwymi dla ustawień regionalnych. | Object | ||
Zwraca ciąg reprezentujący określony obiekt. | Object | ||
Odwraca poprzednią operację. | EditManager | ||
EditManager | |||
Zwraca pierwotną wartość dla określonego obiektu. | Object |
allowDelayedOperations | właściwość |
delayUpdates | właściwość |
overwriteMode | właściwość |
public static var overwriteMode:Boolean = false
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Określa, czy tryb nadpisywania jest włączony czy wyłączony.
W przypadku wartości true
naciśnięcie klawisza powoduje nadpisanie znaku znajdującego się za kursorem. W przypadku wartości false
znak przypisany do klawisza jest wstawiany w miejsce kursora.
undoManager | właściwość |
undoManager:IUndoManager
[tylko do odczytu] Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Klasa IUndoManager przypisana do tego menedżera edycji.
Aby umożliwić wycofywanie edycji (oraz ponowne wykonywanie), należy przekazać instancję klasy IUndoManager do konstruktora EditManager. Menedżer cofania obsługuje stos operacji, które zostały wykonane, a ponadto może wycofywać lub ponawiać poszczególne operacje.
Uwaga: Jeśli obiekt TextFlow został zmodyfikowany bezpośrednio (nie poprzez wywoływanie konstruktora EditManager, ale bezpośrednio poprzez wywołania obiektów zarządzanych FlowElement), wówczas obiekt EditManager wyczyści stos cofania, aby zapobiec utracie synchronizacji stosu z bieżącym stanem.
Implementacja
public function get undoManager():IUndoManager
EditManager | () | Konstruktor |
public function EditManager(undoManager:IUndoManager = null)
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Tworzy obiekt EditManager.
Aby umożliwić edycję przepływu tekstu, obiekt EditManager należy przypisać do właściwości interactionManager
przepływu tekstu.
Aby aktywować obsługę anulowania i ponawiania zmian, należy przekazać instancję interfejsu IUndoManager do konstruktora EditManager. Można użyć klasy flashx.undo.UndoManager
lub utworzyć niestandardową instancję interfejsu IUndoManager. Niestandardowa instancja interfejsu IUndoManager umożliwia zintegrowanie zmian wprowadzanych w architekturze Text Layout Framework z istniejącym menedżerem cofania zmian, który nie jest instancją klasy UndoManager. Chcąc utworzyć niestandardową instancję interfejsu IUndoManager, należy upewnić się, że klasa użyta do zdefiniowania menedżera cofania implementuje interfejs IUndoManager.
undoManager:IUndoManager (default = null ) — Obiekt UndoManager dla aplikacji
|
Powiązane elementy interfejsu API
Przykład ( Sposób korzystania z tego przykładu )
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 | () | metoda |
public function applyContainerFormat(containerFormat:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Stosuje style kontenera do dowolnych kontenerów w zaznaczeniu.
Wszelkie właściwości stylu w obiekcie formatu, które mają wartość null
, są pozostawiane bez zmian.
Parametry
containerFormat:flashx.textLayout.formats:ITextLayoutFormat — Format przeznaczony do zastosowania do kontenerów w zakresie.
| |
operationState:SelectionState (default = null ) — Określa tekst, którego dotyczy ta operacja. W przypadku wartości null ta operacja ma zastosowanie do bieżącego zaznaczenia.
|
Przykład ( Sposób korzystania z tego przykładu )
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 | () | metoda |
public function applyFormat(leafFormat:flashx.textLayout.formats:ITextLayoutFormat, paragraphFormat:flashx.textLayout.formats:ITextLayoutFormat, containerFormat:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Zmienia formaty wybranego (lub bieżącego) zaznaczenia.
Wykonuje operację możliwą do wycofania, która stosuje nowe formaty. Stosowane są tylko atrybuty stylu ustawione dla obiektów TextLayoutFormat. Niezdefiniowane atrybuty w obiektach formatu nie są zmieniane.
Parametry
leafFormat:flashx.textLayout.formats:ITextLayoutFormat — Format do zastosowania do elementów-liści, takich jak zakresy i grafiki w tekście.
| |
paragraphFormat:flashx.textLayout.formats:ITextLayoutFormat — Format do zastosowania do elementów akapitu.
| |
containerFormat:flashx.textLayout.formats:ITextLayoutFormat — Format do zastosowania do kontenerów.
| |
operationState:SelectionState (default = null ) — Określa tekst, którego dotyczy ta operacja. W przypadku wartości null ta operacja ma zastosowanie do bieżącego zaznaczenia.
|
Przykład ( Sposób korzystania z tego przykładu )
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 | () | metoda |
public function applyFormatToElement(targetElement:FlowElement, format:flashx.textLayout.formats:ITextLayoutFormat, relativeStart:int = 0, relativeEnd:int = -1, operationState:SelectionState = null):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Stosuje style do wybranego elementu.
Wszelkie właściwości stylu w obiekcie formatu, które mają wartość null
, są pozostawiane bez zmian. Stosowane są tylko style istotne dla określonego elementu.
Parametry
targetElement:FlowElement — Element, do którego stosowane są style.
| |
format:flashx.textLayout.formats:ITextLayoutFormat — Format zawierający style do zastosowania.
| |
relativeStart:int (default = 0 ) — Przesunięcie od początku elementu określające miejsce, w którym element ma zostać podzielony w przypadku przypisania nowego formatowania.
| |
relativeEnd:int (default = -1 ) — Przesunięcie od początku elementu określające miejsce, w którym element ma zostać podzielony w przypadku stosowania nowego formatowania.
| |
operationState:SelectionState (default = null ) — Określa tekst, którego dotyczy ta operacja. W przypadku wartości null ta operacja ma zastosowanie do bieżącego zaznaczenia.
|
applyLeafFormat | () | metoda |
public function applyLeafFormat(characterFormat:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Zmienia format zastosowany do elementów-liści w określonym (lub bieżącym) zaznaczeniu.
Wykonuje operację możliwą do wycofania, która stosuje nowy format do elementów liścia, takich jak obiekty SpanElement i InlineGraphicElement. Stosowane są tylko atrybuty stylu ustawione dla obiektów TextLayoutFormat. Zmieniane są niezdefiniowane atrybuty w obiektach formatu.
Parametry
characterFormat:flashx.textLayout.formats:ITextLayoutFormat — Format do zastosowania.
| |
operationState:SelectionState (default = null ) — Określa tekst, którego dotyczy ta operacja. W przypadku wartości null ta operacja ma zastosowanie do bieżącego zaznaczenia.
|
Przykład ( Sposób korzystania z tego przykładu )
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 | () | metoda |
public function applyLink(href:String, targetString:String = null, extendToLinkBoundary:Boolean = false, operationState:SelectionState = null):LinkElement
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10 - + 10.2, AIR 1.5 |
Przekształca zaznaczenie w łącze lub łącze w normalny tekst.
Wykonuje operację możliwą do wycofania, która tworzy lub usuwa łącze.
Jeśli określony jest parametr target
, musi przyjmować jedną z następujących wartości:
- "_self"
- "_blank"
- "_parent"
- "_top"
W środowiskach wykonawczych obsługiwanych przez przeglądarkę cel "_self" zastępuje bieżącą stronę html. Dlatego jeśli treść SWF zawierająca łącze znajduje się na stronie w klatce lub zestawie klatek, wówczas treść, na którą wskazuje łącze, jest ładowana w ramach tej klatki. Jeśli strona znajduje się na najwyższym poziomie, wówczas treść, na którą wskazuje łącze, otwiera się w celu zastąpienia strony oryginalnej. Cel parametru "_blank" otwiera nowe okno przeglądarki bez nazwy. Cel parametru "_parent" zastępuje obiekt nadrzędny strony html zawierającej treść SWF. Cel elementu "_top" zastępuje stronę górnego poziomu w bieżącym oknie przeglądarki.
W innych środowiskach wykonawczych, takich jak Adobe AIR, łącze jest otwierane w domyślnej przeglądarce użytkownika, a parametr target
jest ignorowany.
Parametr extendToLinkBoundary
określa, w jaki sposób menedżer edycji traktuje zaznaczenie, które przecina się z jednym lub większą liczbą istniejących łączy. Jeśli parametr ma wartość true
, wówczas operacja jest stosowana całościowo do zaznaczania oraz do całego tekstu istniejących łączy. W ten sposób tworzone jest pojedyncze łącze, które rozciąga się od początku pierwszego łącza z przecięcia do końca ostatniego łącza z przecięcia. I na odwrót — jeśli·extendToLinkBoundary
ma w takiej sytuacji wartość false
, wówczas istniejące częściowo zaznaczone łącza zostaną podzielone na dwa.
Parametry
href:String — Identyfikator URI, do którego odwołuje się łącze.
| |
targetString:String (default = null ) — Okno przeglądarki docelowej łącza.
| |
extendToLinkBoundary:Boolean (default = false ) — Określa, czy wymagana jest konsolidacja zaznaczenia z dowolnymi nachodzącymi na siebie, istniejącymi łączami, a następnie zastosowanie zmiany.
| |
operationState:SelectionState (default = null ) — Określa tekst, którego dotyczy ta operacja. W przypadku wartości null ta operacja ma zastosowanie do bieżącego zaznaczenia.
|
LinkElement — Utworzony obiekt LinkElement.
|
Przykład ( Sposób korzystania z tego przykładu )
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 | () | metoda |
public function applyParagraphFormat(paragraphFormat:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Stosuje style akapitu do dowolnych akapitów w zaznaczeniu.
Wszelkie właściwości stylu w obiekcie formatu, które mają wartość null
, są pozostawiane bez zmian.
Parametry
paragraphFormat:flashx.textLayout.formats:ITextLayoutFormat — Format do zastosowania do wybranych akapitów.
| |
operationState:SelectionState (default = null ) — Określa tekst, którego dotyczy ta operacja. W przypadku wartości null ta operacja ma zastosowanie do bieżącego zaznaczenia.
|
Przykład ( Sposób korzystania z tego przykładu )
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 | () | metoda |
public function applyTCY(tcyOn:Boolean, operationState:SelectionState = null):flashx.textLayout.elements:TCYElement
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10 - + 10.2, AIR 1.5 |
Przekształca tekst na bieg TCY lub bieg TCY na tekst inny niż TCY.
TCY (tate-chu-yoko) — tekst jest rysowany poziomo w ramach pionowego wiersza; to ustawienie zwiększa czytelność małych niejapońskich znaków tekstu i cyfr (np. dat) w wierszu pionowym.
Parametry
tcyOn:Boolean — Ustawianie wartości true powoduje zastosowanie przekształcenia TCY do zakresu tekstu, a określenie false powoduje usunięcie przekształcenia TCY.
| |
operationState:SelectionState (default = null ) — Określa tekst, którego dotyczy ta operacja. W przypadku wartości null ta operacja ma zastosowanie do bieżącego zaznaczenia.
|
flashx.textLayout.elements:TCYElement — Utworzony obiekt TCYElement.
|
Przykład ( Sposób korzystania z tego przykładu )
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 | () | metoda |
public function beginCompositeOperation():void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Rozpoczyna nową grupę operacji.
Wszystkie operacje wykonywane po wywołaniu metody beginCompositeOperation()
oraz przed wywołaniem uzgadniającym metody endCompositeOperation()
są wykonywane i grupowane jako jedna operacja, która może zostać wycofana jednorazowo.
Blok beginCompositeOperation
/endCompositeOperation
można osadzić w innym bloku beginCompositeOperation
/endCompositeOperation
.
Przykład ( Sposób korzystania z tego przykładu )
beginCompositeOperation()
i endCompositeOperation()
, wówczas każda z podoperacji będzie musiała zostać wycofana oddzielnie, a nie grupowo.
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 | () | metoda |
public function changeElementID(newID:String, targetElement:FlowElement, relativeStart:int = 0, relativeEnd:int = -1, operationState:SelectionState = null):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Zmienia identyfikator elementu.
Jeśli ustawione są parametry relativeStart
lub relativeEnd
(na dowolne wartość inne niż domyślne), wówczas element podlega podziałowi. Części elementu poza tym zakresem zachowują oryginalny identyfikator. Ustawienie parametrów relativeStart
i relativeEnd
powoduje tworzenie elementów ze zduplikowanymi identyfikatorami.
Parametry
newID:String — Nowa wartość identyfikatora.
| |
targetElement:FlowElement — Element do zmodyfikowania.
| |
relativeStart:int (default = 0 ) — Przesunięcie od początku elementu określające miejsce, w którym wymagany jest podział elementu w przypadku przypisania nowego identyfikatora.
| |
relativeEnd:int (default = -1 ) — Przesunięcie od początku elementu określające miejsce, w którym wymagany jest podział elementu w przypadku przypisania nowego identyfikatora.
| |
operationState:SelectionState (default = null ) — Określa zaznaczenie do przywrócenia w przypadku cofnięcia danej operacji. W przypadku wartości null ta operacja zapisuje bieżące zaznaczenie.
|
Przykład ( Sposób korzystania z tego przykładu )
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 | () | metoda |
public function changeStyleName(newName:String, targetElement:FlowElement, relativeStart:int = 0, relativeEnd:int = -1, operationState:SelectionState = null):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Zmienia wartość styleName elementu lub części elementu.
Jeśli ustawione są parametry relativeStart
lub relativeEnd
(na dowolne wartość inne niż domyślne), wówczas element podlega podziałowi. Części elementu poza tym zakresem zachowują oryginalny styl.
Parametry
newName:String — Nazwa nowego stylu.
| |
targetElement:FlowElement — Określa element do zmiany.
| |
relativeStart:int (default = 0 ) — Przesunięcie od początku elementu określające miejsce, w którym wymagany jest podział elementu w przypadku przypisania nowego stylu.
| |
relativeEnd:int (default = -1 ) — Przesunięcie od końca elementu określające miejsce, w którym wymagany jest podział elementu w przypadku przypisania nowego stylu.
| |
operationState:SelectionState (default = null ) — Określa zaznaczenie do przywrócenia w przypadku cofnięcia danej operacji. W przypadku wartości null ta operacja zapisuje bieżące zaznaczenie.
|
Przykład ( Sposób korzystania z tego przykładu )
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 | () | metoda |
public function changeTypeName(newName:String, targetElement:FlowElement, relativeStart:int = 0, relativeEnd:int = -1, operationState:SelectionState = null):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Zmienia właściwość typeName elementu lub części elementu.
Jeśli ustawione są parametry relativeStart
lub relativeEnd
(na dowolne wartość inne niż domyślne), wówczas element podlega podziałowi. Części elementu poza tym zakresem zachowują oryginalny styl.
Parametry
newName:String — Nazwa nowego typu.
| |
targetElement:FlowElement — Określa element do zmiany.
| |
relativeStart:int (default = 0 ) — Przesunięcie od początku elementu określające miejsce, w którym element ma zostać podzielony w przypadku przypisania nowego stylu.
| |
relativeEnd:int (default = -1 ) — Przesunięcie od końca elementu określające miejsce, w którym element ma zostać podzielony w przypadku przypisania nowego stylu.
| |
operationState:SelectionState (default = null ) — Określa zaznaczenie do przywrócenia w przypadku cofnięcia danej operacji. W przypadku wartości null ta operacja zapisuje bieżące zaznaczenie.
|
clearFormat | () | metoda |
public function clearFormat(leafFormat:flashx.textLayout.formats:ITextLayoutFormat, paragraphFormat:flashx.textLayout.formats:ITextLayoutFormat, containerFormat:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Usuwa definicje formatów określonego (lub bieżącego) zaznaczenia.
Wykonuje operację możliwą do wycofania, która usuwa definicję określonych formatów. Stosowane są tylko atrybuty stylu ustawione dla obiektów TextLayoutFormat. Niezdefiniowane atrybuty w obiektach formatu nie są zmieniane.
Parametry
leafFormat:flashx.textLayout.formats:ITextLayoutFormat — Format, którego ustawione wartości wskazują na właściwości, których definicje należy usunąć w obiektach LeafFlowElement w zaznaczonym zakresie.
| |
paragraphFormat:flashx.textLayout.formats:ITextLayoutFormat — Format, którego ustawione wartości wskazują na właściwości, których definicje należy usunąć w obiektach ParagraphElement w zaznaczonym zakresie.
| |
containerFormat:flashx.textLayout.formats:ITextLayoutFormat — Format, którego ustawione wartości wskazują na właściwości, których definicje należy usunąć w obiektach ContainerController w zaznaczonym zakresie.
| |
operationState:SelectionState (default = null ) — Określa tekst, którego dotyczy ta operacja. W przypadku wartości null ta operacja ma zastosowanie do bieżącego zaznaczenia.
|
clearFormatOnElement | () | metoda |
public function clearFormatOnElement(targetElement:FlowElement, format:flashx.textLayout.formats:ITextLayoutFormat, operationState:SelectionState = null):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Usuwa definicje stylów zastosowane do wybranego elementu.
Wszelkie właściwości stylu w obiekcie formatu, które mają wartość undefined
, są pozostawiane bez zmian. Definicje wszystkich stylów zdefiniowanych w określonym formacie są usuwane z określonego elementu.
Parametry
targetElement:FlowElement — Element, do którego stosowane są style.
| |
format:flashx.textLayout.formats:ITextLayoutFormat — Format zawierający style, których definicje mają zostać usunięte.
| |
operationState:SelectionState (default = null ) — Określa tekst, którego dotyczy ta operacja. W przypadku wartości null ta operacja ma zastosowanie do bieżącego zaznaczenia.
|
createDiv | () | metoda |
public function createDiv(parent:FlowGroupElement = null, format:flashx.textLayout.formats:ITextLayoutFormat = null, operationState:SelectionState = null):DivElement
Tworzy nowy obiekt DivElement zawierający cały zakres określony we właściwości. Jest używany element macierzysty najniższego poziomu, który zawiera elementy początkowy i końcowy zakresu. Jeśli punkt początkowy i końcowy to ten sam element, nowy obiekt DivElement jest tworzony w tym miejscu i zawiera jeden akapit potomny.
Parametry
parent:FlowGroupElement (default = null ) — Określa element macierzysty nowego obiektu DivElement. W przypadku wartości null nowy element macierzysty znajduje się na najniższym poziomie, jaki zawiera obiekt SelectionState.
| |
format:flashx.textLayout.formats:ITextLayoutFormat (default = null ) — Atrybuty formatowania do zastosowania do nowego obiektu DivElement.
| |
operationState:SelectionState (default = null ) — Określa tekst, którego dotyczy ta operacja. W przypadku wartości null ta operacja ma zastosowanie do bieżącego zaznaczenia.
|
DivElement — Nowo utworzony obiekt DivElement.
|
createList | () | metoda |
public function createList(parent:FlowGroupElement = null, format:flashx.textLayout.formats:ITextLayoutFormat = null, operationState:SelectionState = null):ListElement
Tworzy nowy obiekt ListElement zawierający cały zakres określony we właściwości. Jest używany element macierzysty najniższego poziomu, który zawiera elementy początkowy i końcowy zakresu. Każdy akapit w zakresie staje się obiektem ListItemElement nowego obiektu ListElement. Jeśli punkt początkowy i końcowy to ten sam element, nowy obiekt ListElement jest tworzony w tym miejscu i zawiera jeden element potomny ListItemElement.
Parametry
parent:FlowGroupElement (default = null ) — Opcjonalnie określa element macierzysty nowego obiektu ListElement. W przypadku wartości null nowy element macierzysty znajduje się na najniższym poziomie, jaki zawiera obiekt SelectionState.
| |
format:flashx.textLayout.formats:ITextLayoutFormat (default = null ) — Atrybuty formatowania do zastosowania do nowego obiektu ListElement.
| |
operationState:SelectionState (default = null ) — Określa tekst, którego dotyczy ta operacja. W przypadku wartości null ta operacja ma zastosowanie do bieżącego zaznaczenia.
|
ListElement — Nowo utworzony obiekt ListElement.
|
createSubParagraphGroup | () | metoda |
public function createSubParagraphGroup(parent:FlowGroupElement = null, format:flashx.textLayout.formats:ITextLayoutFormat = null, operationState:SelectionState = null):SubParagraphGroupElement
Tworzy nowy obiekt SubParagraphGroupElement zawierający cały zakres określony we właściwości. Jest używany element macierzysty najniższego poziomu, który zawiera elementy początkowy i końcowy zakresu. Jeśli punkt początkowy i końcowy to ten sam obiekt, nic się nie dzieje.
Parametry
parent:FlowGroupElement (default = null ) — Określa element macierzysty nowego obiektu SubParagraphGroupElement. W przypadku wartości null nowy element macierzysty znajduje się na najniższym poziomie, jaki zawiera obiekt SelectionState.
| |
format:flashx.textLayout.formats:ITextLayoutFormat (default = null ) — Atrybuty formatowania do zastosowania do nowego obiektu SubParagraphGroupElement.
| |
operationState:SelectionState (default = null ) — Określa tekst, którego dotyczy ta operacja. W przypadku wartości null ta operacja ma zastosowanie do bieżącego zaznaczenia.
|
SubParagraphGroupElement — Nowo utworzony obiekt SubParagraphGroupElement.
|
cutTextScrap | () | metoda |
public function cutTextScrap(operationState:SelectionState = null):flashx.textLayout.edit:TextScrap
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Usuwa zaznaczony obszar i zwraca usunięty obszar w obiekcie TextScrap.
Wynikowy obiekt TextScrap może zostać przekazany do schowka systemu lub wykorzystany w kolejnej operacji pasteTextOperation()
.
Parametry
operationState:SelectionState (default = null ) — Określa tekst, którego dotyczy ta operacja. W przypadku wartości null ta operacja ma zastosowanie do bieżącego zaznaczenia.
|
flashx.textLayout.edit:TextScrap — Obiekt TextScrap, który został wycięty.
|
Powiązane elementy interfejsu API
Przykład ( Sposób korzystania z tego przykładu )
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 | () | metoda |
public function deleteNextCharacter(operationState:SelectionState = null):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Usuwa zakres tekstu lub — jeśli zaznaczony jest punkt — usuwa następny znak.
Parametry
operationState:SelectionState (default = null ) — określa tekst, którego dotyczy ta operacja; w przypadku wartości null ta operacja ma zastosowanie do bieżącego zaznaczenia.
|
Przykład ( Sposób korzystania z tego przykładu )
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 | () | metoda |
public function deleteNextWord(operationState:SelectionState = null):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Usuwa następne słowo.
Jeśli wybrany został zakres, usuwany jest pierwszy wyraz z tego zakresu.
Parametry
operationState:SelectionState (default = null ) — Określa tekst, którego dotyczy ta operacja. W przypadku wartości null ta operacja ma zastosowanie do bieżącego zaznaczenia.
|
Przykład ( Sposób korzystania z tego przykładu )
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 | () | metoda |
public function deletePreviousCharacter(operationState:SelectionState = null):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Usuwa zakres tekstu lub — jeśli zaznaczony jest punkt — usuwa poprzedni znak.
Parametry
operationState:SelectionState (default = null ) — Określa tekst, którego dotyczy ta operacja. W przypadku wartości null ta operacja ma zastosowanie do bieżącego zaznaczenia.
|
Przykład ( Sposób korzystania z tego przykładu )
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 | () | metoda |
public function deletePreviousWord(operationState:SelectionState = null):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Usuwa poprzedni wyraz.
Jeśli wybrany został zakres, usuwane jest pierwsze słowo z tego zakresu.
Parametry
operationState:SelectionState (default = null ) — Określa tekst, którego dotyczy ta operacja. W przypadku wartości null ta operacja ma zastosowanie do bieżącego zaznaczenia.
|
Przykład ( Sposób korzystania z tego przykładu )
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 | () | metoda |
public function deleteText(operationState:SelectionState = null):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Usuwa zakres tekstu.
Parametry
operationState:SelectionState (default = null ) — Określa tekst, którego dotyczy ta operacja. W przypadku wartości null ta operacja ma zastosowanie do bieżącego zaznaczenia.
|
Przykład ( Sposób korzystania z tego przykładu )
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 | () | metoda |
override public function doOperation(operation:FlowOperation):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Wykonuje operację FlowOperation.
Metoda doOperation()
jest wywoływana przez funkcje IEditManager, które aktualizują przepływ tekstu. Zwykle wywoływanie tej funkcji nie jest wymagane, chyba że tworzone są własne operacje niestandardowe.
W ramach tej funkcji wywoływane są następujące kroki:
- Kasowanie wszelkich oczekujących operacji przed wykonaniem danej operacji.
- Wysłanie zdarzenia flowOperationBegin podlegającego anulowaniu. W przypadku anulowania następuje natychmiastowy powrót z metody.
- Wykonanie operacji. Operacja zwraca
true
lubfalse
.False
oznacza, że nie zostały wykonane żadne zmiany. - Przekazanie operacji na stos cofania.
- Opróżnienie stosu ponownego wykonywana.
- Aktualizacja wyświetlanego obrazu.
- Wysłanie zdarzenia flowOperationEnd podlegającego anulowaniu.
Obsługa wyjątków: jeśli operacja zwróci wyjątek, zostanie on przechwycony, a błąd zostanie dołączony do zdarzenia flowOperationEnd. Jeśli zdarzenie nie zostanie anulowane, błąd zostanie ponownie zgłoszony.
Parametry
operation:FlowOperation — Obiekt FlowOperation.
|
Przykład ( Sposób korzystania z tego przykładu )
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 | () | metoda |
public function endCompositeOperation():void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Kończy grupę operacji.
Wszystkie operacje wykonane od czasu ostatniego wywołania metody beginCompositeOperation()
są grupowane jako operacja CompositeOperation, która następnie jest kończona. Ten obiekt CompositeOperation jest dodawany do stosu cofania lub — jeśli operacja złożona jest zagnieżdżona w innej operacji złożonej — dodawana do operacji nadrzędnej.
Przykład ( Sposób korzystania z tego przykładu )
beginCompositeOperation()
i endCompositeOperation()
, wówczas każda z podoperacji będzie musiała zostać wycofana oddzielnie, a nie grupowo.
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 | () | metoda |
public function insertInlineGraphic(source:Object, width:Object, height:Object, options:Object = null, operationState:SelectionState = null):InlineGraphicElement
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10 - + 10.2, AIR 1.5 |
Wstawia obraz.
Źródłem obrazu może być ciąg znaków zawierający identyfikator URI, obiekt URLRequest, obiekt Class reprezentujący zasób osadzony lub instancja klasy DisplayObject.
Wartości szerokości i wysokości mogą być określone jako liczba pikseli, wartość procentowa lub ciąg znaków 'auto' — w tym przypadku wykorzystywane są rzeczywiste rozmiary obiektu graficznego.
Dla wartości float
należy ustawić jedną ze stałych zdefiniowanych w klasie Float w celu określenia, czy obraz powinien zostać wyświetlony po prawej, czy lewej stronie dowolnego tekstu, czy w jednej linii z tekstem.
Parametry
source:Object — Może to być obiekt String interpretowany jako identyfikator URI, obiekt Class interpretowany jako klasa obiektu Embed DisplayObject, wystąpienie klasy DisplayObject lub żądanie URLRequest.
| |
width:Object — Szerokość obrazu do wstawienia (liczba, wartość procentowa lub „auto”).
| |
height:Object — Wysokość obrazu do wstawienia (liczba, wartość procentowa lub „auto”).
| |
options:Object (default = null ) — Nieobsługiwane.
| |
operationState:SelectionState (default = null ) — Określa tekst, którego dotyczy ta operacja. W przypadku wartości null ta operacja ma zastosowanie do bieżącego zaznaczenia.
|
InlineGraphicElement |
Powiązane elementy interfejsu API
Przykład ( Sposób korzystania z tego przykładu )
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 | () | metoda |
public function insertText(text:String, origOperationState:SelectionState = null):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Wstawia tekst.
Wstawia tekst w określonym położeniu lub zakresie w tekście. Jeśli położenie określone w parametrze operationState
jest zakresem (lub parametr ma wartość null
, a bieżące zaznaczenie jest zakresem), wówczas tekst znajdujący się aktualnie w zakresie jest zastępowany przez tekst wstawiany.
Parametry
text:String — Ciąg znaków do wstawienia.
| |
origOperationState:SelectionState (default = null ) — Określa tekst w przepływie, którego dotyczy ta operacja. W przypadku wartości null ta operacja ma zastosowanie do bieżącego zaznaczenia.
|
Przykład ( Sposób korzystania z tego przykładu )
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 | () | metoda |
public function modifyInlineGraphic(source:Object, width:Object, height:Object, options:Object = null, operationState:SelectionState = null):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Modyfikuje istniejący wstawiany obiekt graficzny.
Ustawia niezmienne właściwości na wartości w oryginalnym obiekcie graficznym. (Zmodyfikowanie istniejącego obiektu graficznego jest zwykle bardziej wydajne niż usunięcie i ponowne utworzenie obiektu).
Parametry
source:Object — Może to być obiekt String interpretowany jako identyfikator URI, obiekt Class interpretowany jako klasa obiektu Embed DisplayObject, wystąpienie klasy DisplayObject lub żądanie URLRequest.
| |
width:Object — Nowa szerokość obrazu (liczba lub wartość procentowa).
| |
height:Object — Nowa wysokość obrazu (liczba lub wartość procentowa).
| |
options:Object (default = null ) — Nieobsługiwane.
| |
operationState:SelectionState (default = null ) — Określa tekst, którego dotyczy ta operacja. W przypadku wartości null ta operacja ma zastosowanie do bieżącego zaznaczenia.
|
Przykład ( Sposób korzystania z tego przykładu )
width
i height
wstawianej grafiki w celu jej rozciągnięcia do kształtu elipsy.
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 | () | metoda |
public function moveChildren(source:FlowGroupElement, sourceIndex:int, numChildren:int, destination:FlowGroupElement, destinationIndex:int, selectionState:SelectionState = null):void
Przenosi zestaw obiektów FlowElement z jednego obiektu FlowGroupElement do innego. Właściwość desinationElement musi wskazywać element macierzysty prawidłowego typu dla przenoszonych elementów potomnych, gdyż w przeciwnym razie zostanie wygenerowany wyjątek.
Parametry
source:FlowGroupElement — Oryginalny element macierzysty elementów do przeniesienia.
| |
sourceIndex:int — Indeks elementu potomnego w obiekcie źródłowym wskazujący pierwszy element do przeniesienia.
| |
numChildren:int — Liczba elementów potomnych do przeniesienia.
| |
destination:FlowGroupElement — Nowy element macierzysty elementów po przeniesieniu.
| |
destinationIndex:int — Indeks elementu potomnego w obiekcie docelowym wskazujący miejsce, do którego mają zostać przeniesione elementy.
| |
selectionState:SelectionState (default = null ) — Określa tekst, do którego ma zastosowanie ta operacja (i do którego wróci zaznaczenie w przypadku cofnięcia operacji). W przypadku wartości null operacja ma zastosowanie do bieżącego zaznaczenia. Jeśli nie ma bieżącego zaznaczenia, ten parametr nie może mieć wartości null.
|
overwriteText | () | metoda |
public function overwriteText(text:String, operationState:SelectionState = null):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Zastępuje zaznaczony tekst.
Jeśli zaznaczony jest punkt, pierwszy znak jest zastępowany przez nowy tekst.
Parametry
text:String — Ciąg znaków do wstawienia.
| |
operationState:SelectionState (default = null ) — Określa tekst, którego dotyczy ta operacja. W przypadku wartości null ta operacja ma zastosowanie do bieżącego zaznaczenia.
|
Przykład ( Sposób korzystania z tego przykładu )
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 | () | metoda |
public function pasteTextScrap(scrapToPaste:flashx.textLayout.edit:TextScrap, operationState:SelectionState = null):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Wkleja obiekt TextScrap do wybranego obszaru.
Jeśli określony jest zakres tekstu, wówczas usuwany jest tekst z tego zakresu.
Parametry
scrapToPaste:flashx.textLayout.edit:TextScrap — Obiekt TextScrap do wklejenia.
| |
operationState:SelectionState (default = null ) — Określa tekst, którego dotyczy ta operacja. W przypadku wartości null ta operacja ma zastosowanie do bieżącego zaznaczenia.
|
Powiązane elementy interfejsu API
Przykład ( Sposób korzystania z tego przykładu )
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 | () | metoda |
public function redo():void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Ponownie wykonuje poprzednią cofniętą operację.
Uwaga: Jeśli klasa IUndoManager skojarzona z klasą IEditManager jest również skojarzona z inną klasą IEditManager, wówczas możliwe jest, że operacja ponownego wykonania skojarzona z inną klasą IEditManager jest operacją, która została ponowiona. Może do tego dojść, jeśli operacja FlowOperation innej klasy IEditManager znajduje się na górze stosu ponawiania.
Ta funkcja nie wykonuje żadnej operacji, jeśli nie jest włączone wycofywanie.
Powiązane elementy interfejsu API
Przykład ( Sposób korzystania z tego przykładu )
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 | () | metoda |
public function splitElement(target:FlowGroupElement, operationState:SelectionState = null):FlowGroupElement
Dzieli element docelowy w określonym miejscu, tworząc nowy element po bieżącym elemencie. Jeśli właściwość operationState określa zakres, następuje usunięcie tekstu w tym zakresie. Nowy element jest tworzony po pozycji tekstu określonej we właściwości operationState. Podzielenie obiektu SubParagraphGroupElement nie przyniesie żadnego skutku, ponieważ takie obiekty są automatycznie ponownie scalane z sąsiednimi elementami.
Ta operacja może na przykład być przydatna, gdy trzeba podzielić istniejącą listę na dwie listy.
Parametry
target:FlowGroupElement — Element do podzielenia.
| |
operationState:SelectionState (default = null ) — Określa tekst, którego dotyczy ta operacja. W przypadku wartości null ta operacja ma zastosowanie do bieżącego zaznaczenia.
|
FlowGroupElement — Nowo utworzony akapit.
|
splitParagraph | () | metoda |
public function splitParagraph(operationState:SelectionState = null):ParagraphElement
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Dzieli akapit w bieżącym miejscu, tworząc nowy akapit po bieżącym akapicie.
Jeśli określony jest zakres tekstu, wówczas usuwany jest tekst z tego zakresu.
Parametry
operationState:SelectionState (default = null ) — Określa tekst, którego dotyczy ta operacja. W przypadku wartości null ta operacja ma zastosowanie do bieżącego zaznaczenia.
|
ParagraphElement — Nowo utworzony akapit.
|
Przykład ( Sposób korzystania z tego przykładu )
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 | () | metoda |
public function undo():void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Odwraca poprzednią operację.
Uwaga: Jeśli klasa IUndoManager skojarzona z klasą IEditManager jest również skojarzona z inną klasą IEditManager, wówczas możliwe jest, że operacja wycofania skojarzona z inną klasą IEditManager jest operacją, która została wycofana. Może do tego dojść, jeśli operacja FlowOperation innej klasy IEditManager znajduje się na górze stosu cofania.
Ta funkcja nie wykonuje żadnej operacji, jeśli nie jest włączone cofanie.
Powiązane elementy interfejsu API
Przykład ( Sposób korzystania z tego przykładu )
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 | () | metoda |
public function updateAllControllers():void
- Utwórz obiekt TextFlow (
tf
), aby zawierał wiersz przykładowego tekstu. - Zapisz tekst w obiekcie SpanElement, który jest następnie zapisywany w obiekcie ParagraphElement.
- Utwórz obiekt ContainerController dla tekstu, a następnie utwórz tekst do wyświetlenia.
- Utwórz instancje menedżera TextFlow w celu późniejszego użycia przez detektory zdarzeń.
- Utwórz bardzo prosty przycisk edycji, który pozwoli użytkownikowi na przekształcenie tekstu w tekst edytowalny.
- Utwórz detektor zdarzeń dla przycisku, który będzie służył do przełączania między stanami „tylko do odczytu” i „edytowalny”.
Wartość właściwości interactionManager
obiektu TextFlow określa, czy przykładowy tekst jest edytowalny. Jeśli właściwość ma wartość null
, przykładowy tekst jest tylko do odczytu. Jeśli do właściwości jest przypisana instancja EditManager, przykładowy tekst jest edytowalny. Metoda createEditButton() tworzy bardzo prostą instancję TextField podobną do przycisku. Gdy użytkownik kliknie instancję TextField, funkcja updateEditable()
detektora zdarzeń przełączy wartość właściwości 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, 12:06 PM Z