/** Controlla se dopo lo spostamento sia stato selezionato o deselezionato qualche link * */ public void CntrlElem() { boolean bo = this.testAndSet(); ElementoSeqLink link; ElementoSeqLink link1; for (int i = 0; i < list_link.size(); i++) { if (!list_mess.contains(list_link.get(i))) { link = (ElementoSeqLink) list_link.get(i); if (grafico.getSimRectangle().contains(link.getPointStart()) || grafico.getSimRectangle().contains(link.getPointEnd())) { if (link.isSimultaneous() || link.isParallel()) { setLast_link(); setFirst_link(); testAndReset(bo); return; } if (link.hasConstraint()) { if (link.isConstraintChCloFut() || link.isConstraintChOpFut() || link.isConstraintChCloPast() || link.isConstraintChOpPast() || link.isConstraintUnCloFut() || link.isConstraintUnOpFut() || link.isConstraintUnCloPast() || link.isConstraintUnOpPast()) { setLast_link(); setFirst_link(); testAndReset(bo); return; } else addElem(link); } else addElem(link); } } } for (int j = 0; j < list_link.size(); j++) { if (list_mess.contains(list_link.get(j))) { link1 = (ElementoSeqLink) list_link.get(j); if (!(grafico.getSimRectangle().contains(link1.getPointStart()) || grafico.getSimRectangle().contains(link1.getPointEnd()))) { removeElem(link1); } } } setLast_link(); setFirst_link(); testAndReset(bo); }