コード例 #1
0
  /**
   * "unfinishes" the selected tasks
   *
   * @param taskview
   * @param bRefresh Refresh the lists afterwards?
   */
  private void cmdUnfinishTimelimitTask(final TimelimitTaskView taskview, final boolean bRefresh) {
    final List<TimelimitTaskVO> lstSelectedTimelimitTasks = getSelectedTimelimitTasks(taskview);
    if (!lstSelectedTimelimitTasks.isEmpty() && lstSelectedTimelimitTasks != null) {

      final String sMessage =
          getSpringLocaleDelegate()
              .getMessage(
                  "TimelimitTaskController.12",
                  "Soll(en) die ausgew\u00e4hlte(n) Frist(e) als unerledigt markiert werden?");
      final int iBtn =
          JOptionPane.showConfirmDialog(
              this.getTabbedPane().getComponentPanel(),
              sMessage,
              getSpringLocaleDelegate()
                  .getMessage("TimelimitTaskController.9", "Friste als unerledigt markieren"),
              JOptionPane.YES_NO_OPTION);
      if (iBtn == JOptionPane.YES_OPTION) {
        UIUtils.runCommandForTabbedPane(
            this.getTabbedPane(),
            new Runnable() {
              @Override
              public void run() {
                try {
                  for (TimelimitTaskVO taskvo : lstSelectedTimelimitTasks)
                    tltaskDelegate.unfinish(taskvo);
                  if (bRefresh) {
                    refreshTimelimitTaskView();
                  }
                } catch (/* CommonBusiness */ Exception ex) {
                  Errors.getInstance().showExceptionDialog(getTabbedPane().getComponentPanel(), ex);
                }
              }
            });
      } else {
        // undo selection of the button:
        timelimittaskview.getFinishButton().setSelected(false);
      }
    }
  }
コード例 #2
0
  private void setupActions(final JTable table) {
    super.addRefreshIntervalActionsToSingleScheduledRefreshable();

    // assign popup menu:
    table.addMouseListener(new PopupMenuListener(this.popupTimelimit, table));

    // add mouse listeners for double click in table:
    table.addMouseListener(new DoubleClickListener(timelimittaskview));

    final Action actRefresh =
        new CommonAbstractAction(
            Icons.getInstance().getIconRefresh16(),
            getSpringLocaleDelegate()
                .getMessage("TimelimitTaskController.10", "Fristenliste aktualisieren")) {

          @Override
          public void actionPerformed(ActionEvent ev) {
            TimelimitTaskController.this.cmdRefreshTimelimitTaskView();
          }
        };

    actPerformTask.setEnabled(false);
    actRemoveTask.setEnabled(false);
    actFinishTask.setEnabled(false);

    timelimittaskview.getRefreshButton().setAction(actRefresh);
    timelimittaskview.getPerformMenuItem().setAction(actPerformTask);
    timelimittaskview.getRemoveMenuItem().setAction(actRemoveTask);
    timelimittaskview.getFinishButton().setAction(actFinishTask);
    timelimittaskview.getPrintMenuItem().setAction(actPrint);

    // use only action listener for "show finished" button:
    timelimittaskview.btnShowAllTasks.addActionListener(actRefresh);

    setRefreshIntervalForSingleViewRefreshable(readIntervalTasksFromPreferences());

    table
        .getSelectionModel()
        .addListSelectionListener(
            new ListSelectionListener() {
              @Override
              public void valueChanged(ListSelectionEvent ev) {
                if (!ev.getValueIsAdjusting()) {
                  final ListSelectionModel lsm = (ListSelectionModel) ev.getSource();
                  final boolean bSelectionEmpty = lsm.isSelectionEmpty();
                  final Boolean bFinished;
                  final Boolean bHasGenericObject;

                  if (bSelectionEmpty) {
                    bFinished = null;
                    bHasGenericObject = null;
                  } else {
                    final int iSelectedRow =
                        TimelimitTaskController.this.timelimittaskview.getTable().getSelectedRow();
                    CollectableTimelimitTask taskclct =
                        TimelimitTaskController.this
                            .timelimittaskview
                            .getTimelimitTaskTableModel()
                            .getCollectable(iSelectedRow);
                    final TimelimitTaskVO taskvo = taskclct.getTimelimitTaskVO();
                    bFinished = Boolean.valueOf(taskvo.getCompleted() != null);
                    bHasGenericObject = Boolean.valueOf(taskvo.getGenericObjectId() != null);
                  }

                  final boolean bTaskSelected = !bSelectionEmpty;
                  final boolean bFinishedTaskSelected = bTaskSelected && bFinished.booleanValue();

                  actRemoveTask.setEnabled(bTaskSelected);
                  actPerformTask.setEnabled(bTaskSelected && bHasGenericObject.booleanValue());
                  actFinishTask.setEnabled(bTaskSelected);
                  timelimittaskview.getFinishButton().setSelected(bFinishedTaskSelected);
                }
              }
            });
  }