La classe ConnectionAdorner vous permet de créer de nouveaux liens dans le diagramme. Avant qu'un lien soit créé, une fonction est appelée dans le diagramme pour vérifier si l'action est autorisée. Cette fonction peuvent être liée à DiagramEditor par le biais du balisage allowCreateLinkFunction qui a le format suivant :
allowCreateLinkFunction: function(DiagramEditor, startNode, endNode)
Lorsqu'un lien est créé, une fonction est appelée pour activer la modification du nouveau lien :
onLinkUpdated: function (diagram, link, isNew, undoAction)
où :
- diagram est le diagramme en cours.
- link est le lien créé.
- isNew est une valeur booléenne qui indique si le lien est nouveau (
true
pour un lien nouvellement créé). - undoAction est la classe
ConnectAction
créée pour cette mise à jour. Vous pouvez définir des actions personnalisées pour l'annulation et le rétablissement, et ajouter les autres données requises pour cette action.
Classe ConnectAction
La classe ConnectAction vous permet d'annuler et de rétablir l'action de connexion. Vous pouvez personnaliser cette action en ajoutant des fonctions utilisateur qui sont généralement appelées à partir de la fonction
onLinkUpdated
.
Elle contient les méthodes suivantes :getLink
: extrait le lien modifié. Cette méthode recherche automatiquement le lien correct, même après des remplacements par des actions d'annulation.- setUndoUserFunction : définit la fonction d'annulation utilisateur.
- getUndoUserFunction : extrait la fonction d'annulation utilisateur.
- setRedoUserFunction : définit la fonction de rétablissement utilisateur.
- getRedoUserFunction : extrait la fonction de rétablissement utilisateur.
Utilisation de la poignée de connexion
La poignée de connexion est représentée par un triangle placé sur chaque côté du cadre de délimitation de l'élément. A l'instar des poignées de redimensionnement,
ces poignées sont mises en évidence lorsque le curseur les survolent, indiquant qu'une action peut être exécutée. Lorsque vous cliquez sur la poignée, un lien est créé entre la poignée sélectionnée (en créant un élément
BasicPort
à la
position spécifiée) et le curseur de souris. Le nouveau lien est créé lorsque vous faites glisser le point final saisi par la poignée vers un port d'un autre noeud ou sous-graphe.Les ports de destination sont affichés dans les entités lorsque vous les survolez. Les ports de destination sont exactement comme les ports d'origine. Si une action de déplacement est exécutée sur l'un des ports, un objet
BasicPort
est créé sur le côté de l'élément et l'extrémité du lien est connectée à cet élément. Si aucune poignée cible de connexion n'est spécifiée et que le bouton de la souris est relâché directement sur le composant cible, un objet AutomaticPort
est créé.En maintenant la touche Ctrl enfoncée, vous pouvez créer un objet
AutomaticPort
à l'origine du lien, auquel cas le lien peut partir de tout port.Note
- Pendant que vous faites glisser la poignée de connexion, la fonction
allowCreateLink
est évaluée à chaque événement de survol du curseur de souris et ce dernier est modifié pour montrer si l'action de connexion est autorisée à cet emplacement.
- Une fois que le lien est créé, les éléments de début et de fin sont évalués, puis le lien est réaffecté au parent commun de premier niveau. Par exemple, si les deux éléments appartiennent au même sous-graphe, le parent du lien est également le même sous-graphe.