コード例 #1
0
ファイル: ElementoSim.java プロジェクト: remenska/Charmy
  /** 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);
  }