Exemple #1
0
  //  private void adjustPosition()
  public void adjustPosition() {
    StateGroup group;
    StateInterval state;
    double duration;
    double max_duration = 0;

    Enumeration groups = all_states.visible.elements();
    while (groups.hasMoreElements()) {
      group = (StateGroup) groups.nextElement();
      if (group.size() > 0) {
        state = (StateInterval) group.lastElement();
        duration = state.info.endT - FrameBegTime;
        if (duration > max_duration) max_duration = duration;
      }
    }

    boolean end = false;

    if (max_duration < tMaxT || max_duration > tMaxT) {
      if (max_duration < tMaxT) end = true;
      double diff = tMaxT - max_duration;
      tMaxT = max_duration;
      maxT -= diff;
      updateH();
      parent.setHoriz();
      centralizeH();
    }

    if (end) {
      if ((parent.hbar.getValue() + parent.hbar.getVisibleAmount()) >= parent.hbar.getMaximum()) {
        parent.hbar.setValue(maxH - widthCan);
        adjustImgH(parent.hbar.getValue());
        parent.vport.setViewPosition(new Point(panePosX, 0));
        debug.println("adjustPosition() : ");
        debug.println("\t" + "parent.hbar.setValue(" + (maxH - widthCan) + ")");
        debug.println("\t" + "parent.vport.setViewPosition(" + panePosX + ", 0)");
      }
    }
  }