예제 #1
0
  /**
   * Contruct a new AnimationWidget.
   *
   * @param parentf the parent JFrame
   * @param anim a ucar.visad.display.Animation object to manage
   * @param info Default values for the AnimationInfo
   */
  public AnimationWidget(JFrame parentf, Animation anim, AnimationInfo info) {

    // Initialize sharing to true
    super("AnimationWidget", true);
    timesCbx =
        new JComboBox() {
          public String getToolTipText(MouseEvent event) {
            if (boxPanel != null) {
              return boxPanel.getToolTipText();
            }
            return " ";
          }
        };
    timesCbx.setToolTipText("");
    timesCbxMutex = timesCbx.getTreeLock();
    timesCbx.setFont(new Font("Dialog", Font.PLAIN, 9));
    timesCbx.setLightWeightPopupEnabled(false);
    // set to non-visible until items are added
    timesCbx.setVisible(false);
    timesCbx.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            if (!ignoreTimesCbxEvents && (anime != null)) {
              debug("got timesCbx event");
              setTimeFromUser((Real) timesCbx.getSelectedItem());
              if (boxPanel != null) {
                boxPanel.setOnIndex(timesCbx.getSelectedIndex());
              }
            }
          }
        });

    animationInfo = new AnimationInfo();
    if (anim != null) {
      setAnimation(anim);
    }
    if (anime != null) {
      animationInfo.set(anime.getAnimationInfo());
    }
    if (info != null) {
      setProperties(info);
      animationInfo.setRunning(info.getRunning());
    }

    boxPanel = new AnimationBoxPanel(this);
    if (timesArray != null) {
      updateBoxPanel(timesArray);
    }
  }
예제 #2
0
  /** _more_ */
  private void setTimesInTimesBox() {
    DateTime[] theTimesArray = this.timesArray;
    if (theTimesArray == null) {
      return;
    }
    boolean oldValue = ignoreTimesCbxEvents;
    try {
      ignoreTimesCbxEvents = true;
      GuiUtils.setListData(timesCbx, theTimesArray);
      timesCbx.setVisible(
          timesCbxVisible && (theTimesArray != null) && (timesCbx.getItemCount() > 0));

    } finally {
      ignoreTimesCbxEvents = oldValue;
    }
  }
예제 #3
0
 /**
  * Show the date box
  *
  * @param v true to show
  */
 public void showDateBox(boolean v) {
   timesCbxVisible = v;
   if (timesCbx != null) {
     timesCbx.setVisible(v);
   }
 }