Lorsque vous travaillez sur un diagramme, vous pouvez annuler et rétablir des actions.
Ces opérations sont disponibles dans DiagramEditor. Elles prennent non seulement en charge toutes les modifications standard qui peuvent être appliquées à l'aide des fonctions d'édition, mais aussi les modifications de propriété de base appliquées à l'aide d'un programme, avec l'enregistrement de l'objet d'annulation correspondant. Des modifications plus complexes peuvent également être prises en charge par le biais d'opérations personnalisées.
UndoManager
Cet objet est disponible via la méthode getUndoManager et gère les piles d'actions qui peuvent être annulées et rétablies. Ce composant fournit non seulement une liste de base de méthodes pour gérer ces piles, mais gère aussi un dictionnaire complet d'éléments
GraphElements
par ID et élément de remplacement le cas échéant (lors de suppressions sur une opération d'annulation suivie d'un rétablissement). Le gestionnaire d'annulation comprend deux méthodes :getDiagram
: extrait le diagramme.addAction
: ajoute une action à la pile d'actions d'annulation (en supprimant la pile de rétablissements).undoAction
: retire une action de la pile d'annulations en appliquant l'opération d'annulation et en l'ajoutant à la pile de rétablissements.redoAction
: retire une action de la pile de rétablissements en appliquant l'opération de rétablissement.getUndoStack
: extrait une copie de la pile d'actions d'annulation.getRedoStack
: extrait une copie de la pile d'actions de rétablissement.setMaximumStackSize
: définit la taille de pile maximale. Si la valeur est null, la taille est illimitée.getMaximumStackSize
: extrait la taille de pile maximale.getRegisteredGfx
: extrait l'élément GFX enregistré correspondant à l'ID donné. Recherche l'élément de remplacement si nécessaire.registerGfxReplacement
: enregistre lorsqu'un ID GFX est remplacé par un autre (lorsqu'un élément GFX est supprimé et qu'un remplacement est créé avec le nouvel ID)getRegisteredGfxReplacement
: extrait le remplacement enregistré pour l'ID GFX donné. Effectue une recherche récursive du dernier remplacement. Si aucun remplacement n'est enregistré, l'ID GFX donné est renvoyé.getRegisteredParent
: renvoie le parent du graphe pour l'ID donné. Si l'ID correspond à un sous-graphe, le graphe intérieur est renvoyé.
Action d'annulation
La classe Action est la classe de base qui contient l'opération d'annulation. Elle fournit l'interface de base pour toute action d'annulation et comprend les méthodes suivantes :
undo
: applique la fonction d'annulation.redo
: applique la fonction de rétablissement.getLabel
: extrait le libellé d'action pour l'impression d'interface utilisateur.getUndoManager
: extrait l'élémentundoManager
qui est automatiquement activé lors d'un ajout à la pile d'annulations.isUndoing
: renvoietrue
si la méthode undo est en cours d'exécution.isRedoing
: renvoietrue
si la méthode redo est en cours d'exécution.
Le sous-ensemble de classes suivant hérite de la classe
Action
et est utile pour les personnalisations ou la création de nouvelles actions.SimpleAction
La classe SimpleAction est destinée aux actions d'annulation simples. Elle permet d'annuler et de rétablir des propriétés de base qui peuvent être modifiées en affectant des variables ou en appelant une méthode avec un argument simple. Utilisez la classe
SimpleAction
pour annuler des actions d'édition personnalisées. L'action d'annulation de déplacement utilise cette classe pour annuler et rétablir une action de déplacement à l'aide des méthodes suivantes :setOldValue
: définit l'ancienne valeur.setNewValue
: définit la nouvelle valeur.getOldValue
: extrait l'ancienne valeur en clonant la valeur définie si la fonction clone est définie précédemment.getNewValue
: extrait la nouvelle valeur en clonant la valeur définie si la fonction clone est définie précédemment.setModifiedElementId
: définit la valeur modifiée.getModifiedElementId
: extrait la valeur modifiée.getModifiedElement
: extrait l'élément GFX modifié ou ses éléments de remplacement si nécessaire.setMethodOrProperty
: définit le nom de la propriété ou méthode à modifier.setCloneFunction
: définit la fonction de clone pour cloner la valeur avant l'action de modification.
MultipleAction
La classe MultipleAction regroupe une liste d'actions
UndoActions
.
Elle regroupe un ensemble d'Actions
en une action complexe unique et exécute chaque action ajoutée dans l'ordre lors des opérations de rétablissement et d'annulation.ReparentingAction
La classe ReparentingAction vous permet d'annuler et de rétablir une action de redéfinition de parenté. Utilisez-la combinée avec
MultipleAction
pour créer une action d'annulation ou de rétablissement impliquant une redéfinition de parenté.UserCustomizedAction
La classe UserCustomizedAction est la classe de base de toutes les actions qui ne sont pas livrées avec
DiagramEditor
.
Toutefois,
elle doit être personnalisée pour obtenir son comportement attendu complet. Vous pouvez l'étendre avec DropAction
, ConnectAction
et
ReConnectAction
.