Example #1
0
  /** 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);
  }
Example #2
0
  /** Imposta la posizione del grafico dell'elemento. */
  public void setPoint_mov(Point p) {
    boolean bo = testAndSet();

    if (grafico.isSelezionato_sim_bot_right()) {
      if (p.y > link_first.getPointStart().y + 40) {
        if (p.x <= rettangoloX + width_back) sim_height = p.y - rettangoloY - 5;
        else sim_width = p.x - rettangoloX - 5;
        sim_height = p.y - rettangoloY - 5;
      }
    } else if (grafico.isSelezionato_sim_bot_left()) {
      if (p.y > link_first.getPointStart().y + 40) {
        if (p.x >= rettanX_back) sim_height = p.y - rettangoloY - 5;
        else {
          sim_height = p.y - rettangoloY - 5;
          sim_width = width_back - 10 + rettanX_back - p.x;
          rettangoloX = p.x + 10;
        }
      }
    } else if (grafico.isSelezionato_sim_up_left()) {
      if (p.y < link_last.getPointStart().y - 50) {
        if (p.x >= rettanX_back) {
          sim_height = height_back - 25 + rettanY_back - p.y;
          rettangoloY = p.y + 25;
        } else {
          sim_width = width_back - 10 + rettanX_back - p.x;
          sim_height = height_back - 25 + rettanY_back - p.y;
          rettangoloX = p.x + 10;
          rettangoloY = p.y + 25;
        }
      }
    } else if (grafico.isSelezionato_sim_up_right()) {
      if (p.y < link_last.getPointStart().y - 50) {
        if (p.x <= rettangoloX + width_back) {
          sim_height = height_back - 25 + rettanY_back - p.y;
          rettangoloY = p.y + 25;
        } else {
          sim_width = p.x - rettangoloX - 5;
          sim_height = height_back - 25 + rettanY_back - p.y;
          rettangoloY = p.y + 25;
        }
      }
    }
    testAndReset(bo);
  }
Example #3
0
 /** Restituisce l'ordinata dell'estremo in alto a sinistra. */
 public int getTopY() {
   return grafico.getY();
 }
Example #4
0
 /** Restituisce l'ascissa dell'estremo in alto a sinistra. */
 public int getTopX() {
   return grafico.getX();
 }
Example #5
0
 public void Mod_sim(Point p) {
   grafico.Mod_sim(p);
 }
Example #6
0
 /**
  * Analogo al metodo isIn() di 'ElementoProcessoStato'_ Serve per verificare se il punto 'p' �
  * sufficientemente vicino agli angoli dell'operatore (vicino dal punto di vista grafico).
  */
 public boolean isSelezionato_sim(Point p) {
   return grafico.isSelezionato_sim(p);
 }
Example #7
0
 /**
  * Analogo al metodo isIn() di 'ElementoProcessoStato'_ Serve per verificare se il punto 'p' �
  * sufficientemente vicino agli angoli dell'operatore (vicino dal punto di vista grafico).
  */
 public boolean isSelected_sim(Point p) {
   return grafico.isSelected_sim(p);
 }
Example #8
0
 /** Inverte lo stato selezionato/deselezionato dell'operatore. */
 public void invSelected() {
   grafico.invSelected();
 }
Example #9
0
 /** Verifica se l'operatore � selezionato. */
 public boolean isSelected() {
   return grafico.isSelected();
 }
Example #10
0
 /** Seleziona/deseleziona l'operatore. */
 public void setSelected(boolean ctrlSelection) {
   grafico.setSelected(ctrlSelection);
 }
Example #11
0
 /** Restituisce l'altezza della forma rettangolare. */
 public int getHeight() {
   return grafico.getHeight();
 }
Example #12
0
 /** Restituisce la larghezza della forma rettangolare. */
 public int getWidth() {
   return grafico.getWidth();
 }
Example #13
0
  /** Aggiorna la posizione dopo la modofica della posizione della figura. */
  public void updateSimPosizione_am() {

    grafico.updateSimPosizione(rettangoloX, rettangoloY, sim_height, sim_width);
  }
Example #14
0
 /** Aggiorna la posizione dopo la modofica della posizione di una classe. */
 public void updateSimPosizione() {
   setXYRet();
   setSim_point_width();
   setSim_Height();
   grafico.updateSimPosizione(rettangoloX, rettangoloY, sim_height, sim_width);
 }
Example #15
0
 /** Disegna il grafico associato all'operatore Simo. */
 public void paintSim(Graphics2D g2D) {
   boolean bo = this.testAndSet();
   if (grafico != null) grafico.paintGraficoSim(g2D);
   testAndReset(bo);
 }