📄 taskpanel.java
字号:
else ed = null; long effort = Util.getMillisFromHours(dlg.effortField.getText()); //XXX Task newTask = CurrentProject.getTaskList().createTask(sd, ed, dlg.todoField.getText(), dlg.priorityCB.getSelectedIndex(),effort, dlg.descriptionField.getText(),parentTaskId); Task newTask = CurrentProject.getTaskList().createTask(sd, ed, dlg.todoField.getText(), dlg.priorityCB.getSelectedIndex(),effort, dlg.descriptionField.getText(),null);// CurrentProject.getTaskList().adjustParentTasks(newTask); newTask.setProgress(((Integer)dlg.progress.getValue()).intValue()); CurrentStorage.get().storeTaskList(CurrentProject.getTaskList(), CurrentProject.get()); taskTable.tableChanged(); parentPanel.updateIndicators(); //taskTable.updateUI(); } void addSubTask_actionPerformed(ActionEvent e) { TaskDialog dlg = new TaskDialog(App.getFrame(), Local.getString("New Task")); String parentTaskId = taskTable.getModel().getValueAt(taskTable.getSelectedRow(), TaskTable.TASK_ID).toString(); // Util.debug("Adding sub task under " + parentTaskId); Dimension frmSize = App.getFrame().getSize(); Point loc = App.getFrame().getLocation(); Task parent = CurrentProject.getTaskList().getTask(parentTaskId); CalendarDate todayD = CurrentDate.get(); if (todayD.after(parent.getStartDate())) dlg.setStartDate(todayD); else dlg.setStartDate(parent.getStartDate()); if (parent.getEndDate() != null) dlg.setEndDate(parent.getEndDate()); else dlg.setEndDate(CurrentProject.get().getEndDate()); dlg.setStartDateLimit(parent.getStartDate(), parent.getEndDate()); dlg.setEndDateLimit(parent.getStartDate(), parent.getEndDate()); dlg.setLocation((frmSize.width - dlg.getSize().width) / 2 + loc.x, (frmSize.height - dlg.getSize().height) / 2 + loc.y); dlg.setVisible(true); if (dlg.CANCELLED) return; CalendarDate sd = new CalendarDate((Date) dlg.startDate.getModel().getValue());// CalendarDate ed = new CalendarDate((Date) dlg.endDate.getModel().getValue()); CalendarDate ed; if(dlg.chkEndDate.isSelected()) ed = new CalendarDate((Date) dlg.endDate.getModel().getValue()); else ed = null; long effort = Util.getMillisFromHours(dlg.effortField.getText()); Task newTask = CurrentProject.getTaskList().createTask(sd, ed, dlg.todoField.getText(), dlg.priorityCB.getSelectedIndex(),effort, dlg.descriptionField.getText(),parentTaskId); newTask.setProgress(((Integer)dlg.progress.getValue()).intValue());// CurrentProject.getTaskList().adjustParentTasks(newTask); CurrentStorage.get().storeTaskList(CurrentProject.getTaskList(), CurrentProject.get()); taskTable.tableChanged(); parentPanel.updateIndicators(); //taskTable.updateUI(); } void calcTask_actionPerformed(ActionEvent e) { TaskCalcDialog dlg = new TaskCalcDialog(App.getFrame()); dlg.pack(); Task t = CurrentProject.getTaskList().getTask(taskTable.getModel().getValueAt(taskTable.getSelectedRow(), TaskTable.TASK_ID).toString()); Dimension frmSize = App.getFrame().getSize(); Point loc = App.getFrame().getLocation(); dlg.setLocation((frmSize.width - dlg.getSize().width) / 2 + loc.x, (frmSize.height - dlg.getSize().height) / 2 + loc.y); dlg.setVisible(true); if (dlg.CANCELLED) { return; } TaskList tl = CurrentProject.getTaskList(); if(dlg.calcEffortChB.isSelected()) { t.setEffort(tl.calculateTotalEffortFromSubTasks(t)); } if(dlg.compactDatesChB.isSelected()) { t.setStartDate(tl.getEarliestStartDateFromSubTasks(t)); t.setEndDate(tl.getLatestEndDateFromSubTasks(t)); } if(dlg.calcCompletionChB.isSelected()) { long[] res = tl.calculateCompletionFromSubTasks(t); int thisProgress = (int) Math.round((((double)res[0] / (double)res[1]) * 100)); t.setProgress(thisProgress); } // CalendarDate sd = new CalendarDate((Date) dlg.startDate.getModel().getValue());//// CalendarDate ed = new CalendarDate((Date) dlg.endDate.getModel().getValue());// CalendarDate ed;// if(dlg.chkEndDate.isSelected())// ed = new CalendarDate((Date) dlg.endDate.getModel().getValue());// else// ed = new CalendarDate(0,0,0);// long effort = Util.getMillisFromHours(dlg.effortField.getText());// Task newTask = CurrentProject.getTaskList().createTask(sd, ed, dlg.todoField.getText(), dlg.priorityCB.getSelectedIndex(),effort, dlg.descriptionField.getText(),parentTaskId);// CurrentStorage.get().storeTaskList(CurrentProject.getTaskList(), CurrentProject.get()); taskTable.tableChanged();// parentPanel.updateIndicators(); //taskTable.updateUI(); } void listSubTasks_actionPerformed(ActionEvent e) { String parentTaskId = taskTable.getModel().getValueAt(taskTable.getSelectedRow(), TaskTable.TASK_ID).toString(); //XXX taskTable.setCurrentRootTask(parentTaskId); taskTable.tableChanged();// parentPanel.updateIndicators();// //taskTable.updateUI(); } void parentTask_actionPerformed(ActionEvent e) {// String taskId = taskTable.getModel().getValueAt(taskTable.getSelectedRow(), TaskTable.TASK_ID).toString();// // Task t = CurrentProject.getTaskList().getTask(taskId); /*XXX Task t2 = CurrentProject.getTaskList().getTask(taskTable.getCurrentRootTask()); String parentTaskId = t2.getParent(); if((parentTaskId == null) || (parentTaskId.equals(""))) { parentTaskId = null; } taskTable.setCurrentRootTask(parentTaskId); taskTable.tableChanged();*/// parentPanel.updateIndicators();// //taskTable.updateUI(); } void removeTaskB_actionPerformed(ActionEvent e) { String msg; String thisTaskId = taskTable.getModel().getValueAt(taskTable.getSelectedRow(), TaskTable.TASK_ID).toString(); if (taskTable.getSelectedRows().length > 1) msg = Local.getString("Remove")+" "+taskTable.getSelectedRows().length +" "+Local.getString("tasks")+"?" + "\n"+Local.getString("Are you sure?"); else { Task t = CurrentProject.getTaskList().getTask(thisTaskId); // check if there are subtasks if(CurrentProject.getTaskList().hasSubTasks(thisTaskId)) { msg = Local.getString("Remove task")+"\n'" + t.getText() + Local.getString("' and all subtasks") +"\n"+Local.getString("Are you sure?"); } else { msg = Local.getString("Remove task")+"\n'" + t.getText() + "'\n"+Local.getString("Are you sure?"); } } int n = JOptionPane.showConfirmDialog( App.getFrame(), msg, Local.getString("Remove task"), JOptionPane.YES_NO_OPTION); if (n != JOptionPane.YES_OPTION) return; Vector toremove = new Vector(); for (int i = 0; i < taskTable.getSelectedRows().length; i++) { Task t = CurrentProject.getTaskList().getTask( taskTable.getModel().getValueAt(taskTable.getSelectedRows()[i], TaskTable.TASK_ID).toString()); if (t != null) toremove.add(t); } for (int i = 0; i < toremove.size(); i++) { CurrentProject.getTaskList().removeTask((Task)toremove.get(i)); } taskTable.tableChanged(); CurrentStorage.get().storeTaskList(CurrentProject.getTaskList(), CurrentProject.get()); parentPanel.updateIndicators(); //taskTable.updateUI(); } void ppCompleteTask_actionPerformed(ActionEvent e) { String msg; Vector tocomplete = new Vector(); for (int i = 0; i < taskTable.getSelectedRows().length; i++) { Task t = CurrentProject.getTaskList().getTask( taskTable.getModel().getValueAt(taskTable.getSelectedRows()[i], TaskTable.TASK_ID).toString()); if (t != null) tocomplete.add(t); } for (int i = 0; i < tocomplete.size(); i++) { Task t = (Task)tocomplete.get(i); t.setProgress(100); } taskTable.tableChanged(); CurrentStorage.get().storeTaskList(CurrentProject.getTaskList(), CurrentProject.get()); parentPanel.updateIndicators(); //taskTable.updateUI(); } // toggle "show active only" void toggleShowActiveOnly_actionPerformed(ActionEvent e) { Context.put( "SHOW_ACTIVE_TASKS_ONLY", new Boolean(ppShowActiveOnlyChB.isSelected())); taskTable.tableChanged(); } class PopupListener extends MouseAdapter { public void mouseClicked(MouseEvent e) { if ((e.getClickCount() == 2) && (taskTable.getSelectedRow() > -1)){ // ignore "tree" column //if(taskTable.getSelectedColumn() == 1) return; editTaskB_actionPerformed(null); } } public void mousePressed(MouseEvent e) { maybeShowPopup(e); } public void mouseReleased(MouseEvent e) { maybeShowPopup(e); } private void maybeShowPopup(MouseEvent e) { if (e.isPopupTrigger()) { taskPPMenu.show(e.getComponent(), e.getX(), e.getY()); } } } void ppEditTask_actionPerformed(ActionEvent e) { editTaskB_actionPerformed(e); } void ppRemoveTask_actionPerformed(ActionEvent e) { removeTaskB_actionPerformed(e); } void ppNewTask_actionPerformed(ActionEvent e) { newTaskB_actionPerformed(e); } void ppAddSubTask_actionPerformed(ActionEvent e) { addSubTask_actionPerformed(e); } void ppListSubTasks_actionPerformed(ActionEvent e) { listSubTasks_actionPerformed(e); } void ppParentTask_actionPerformed(ActionEvent e) { parentTask_actionPerformed(e); } void ppCalcTask_actionPerformed(ActionEvent e) { calcTask_actionPerformed(e); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -