/** * La commande renvoie toujours true Ajoute le nouveau lien créé entre le composant et le produit * * @return true */ public boolean executer() { LienEdge lienComp = new LienEdge(cellS, cellD, pointsAncrage); AllAttribute.put(lienComp, lienComp.getEdgeAttribute()); Vector vecObj = new Vector(); if (!diagramme.getModel().contains(cellS)) { vecObj.add(cellS); } if (!diagramme.getModel().contains(cellD)) { vecObj.add(cellD); } ((IeppCell) cellS).ajoutLien(lienComp); ((IeppCell) cellD).ajoutLien(lienComp); // On declare les sources et les destinations des liens lienComp.setSourceEdge((IeppCell) cellS); lienComp.setDestination((IeppCell) cellD); vecObj.add(lienComp); diagramme.ajouterLien(lienComp); ConnectionSet cs = new ConnectionSet(lienComp, portS, portD); diagramme.getModel().insert(vecObj.toArray(), AllAttribute, null, null, null); diagramme.getModel().insert(null, null, cs, null, null); diagramme.show(); return true; }
/** * Construction d'une commande permettant de déplacer un élément * * @param d, diagramme sur lequel on veut déplacer l'élément * @param v, propriétés du déplacement à effectuer */ public CDeplacerElement(VueDPGraphe d, Vecteur v) { // garder un lien vers le diagramme this.diagramme = d; // initialiser les éléments à déplacer this.selection = new Vector(); Enumeration e = diagramme.selectedElements(); // parcourir la liste des éléments sélectionnés while (e.hasMoreElements()) { // ajouter chacun de ces éléments dans la liste des éléments à déplacer selection.addElement(e.nextElement()); } // récupérer les propriétés du déplacement this.translation = v; }