示例#1
0
  /**
   * Sets toolbar mode. This will change the selected toolbar icon.
   *
   * @param newMode see EuclidianConstants for mode numbers
   * @return actual mode number selected (might be different if it's not available)
   */
  public int setMode(int newMode) {
    boolean success = false;
    int tmpMode = newMode;
    // there is no special icon/button for the selection listener mode, use
    // the
    // move mode button instead
    if (tmpMode == EuclidianConstants.MODE_SELECTION_LISTENER) {
      tmpMode = EuclidianConstants.MODE_MOVE;
    }

    if (modeToggleMenus != null) {
      for (int i = 0; i < modeToggleMenus.size(); i++) {
        ModeToggleMenu mtm = modeToggleMenus.get(i);
        if (mtm.selectMode(tmpMode)) {
          success = true;
          break;
        }
      }

      if (!success) {
        mode = setMode(getFirstMode());
      }

      this.mode = tmpMode;
    }

    return tmpMode;
  }