📄 taskpanel.java
字号:
ppNewTask.setFont(new java.awt.Font("Dialog", 1, 11)); ppNewTask.setText(Local.getString("New task")+"..."); ppNewTask.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { ppNewTask_actionPerformed(e); } }); ppNewTask.setIcon(new ImageIcon(net.sf.memoranda.ui.AppFrame.class.getResource("resources/icons/todo_new.png"))); ppAddSubTask.setFont(new java.awt.Font("Dialog", 1, 11)); ppAddSubTask.setText(Local.getString("Add subtask")); ppAddSubTask.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { ppAddSubTask_actionPerformed(e); } }); ppAddSubTask.setIcon(new ImageIcon(net.sf.memoranda.ui.AppFrame.class.getResource("resources/icons/todo_new_sub.png"))); /* ppSubTasks.setFont(new java.awt.Font("Dialog", 1, 11)); ppSubTasks.setText(Local.getString("List sub tasks")); ppSubTasks.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { ppListSubTasks_actionPerformed(e); } }); ppSubTasks.setIcon(new ImageIcon(net.sf.memoranda.ui.AppFrame.class.getResource("resources/icons/todo_new.png"))); ppParentTask.setFont(new java.awt.Font("Dialog", 1, 11)); ppParentTask.setText(Local.getString("Parent Task")); ppParentTask.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { ppParentTask_actionPerformed(e); } }); ppParentTask.setIcon(new ImageIcon(net.sf.memoranda.ui.AppFrame.class.getResource("resources/icons/todo_new.png"))); */ ppCompleteTask.setFont(new java.awt.Font("Dialog", 1, 11)); ppCompleteTask.setText(Local.getString("Complete task")); ppCompleteTask.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { ppCompleteTask_actionPerformed(e); } }); ppCompleteTask.setIcon(new ImageIcon(net.sf.memoranda.ui.AppFrame.class.getResource("resources/icons/todo_complete.png"))); ppCompleteTask.setEnabled(false); ppCalcTask.setFont(new java.awt.Font("Dialog", 1, 11)); ppCalcTask.setText(Local.getString("Calculate task data")); ppCalcTask.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { ppCalcTask_actionPerformed(e); } }); ppCalcTask.setIcon(new ImageIcon(net.sf.memoranda.ui.AppFrame.class.getResource("resources/icons/todo_complete.png"))); ppCalcTask.setEnabled(false); scrollPane.getViewport().add(taskTable, null); this.add(scrollPane, BorderLayout.CENTER); tasksToolBar.add(historyBackB, null); tasksToolBar.add(historyForwardB, null); tasksToolBar.addSeparator(new Dimension(8, 24)); tasksToolBar.add(newTaskB, null); tasksToolBar.add(subTaskB, null); tasksToolBar.add(removeTaskB, null); tasksToolBar.addSeparator(new Dimension(8, 24)); tasksToolBar.add(editTaskB, null); tasksToolBar.add(completeTaskB, null); //tasksToolBar.add(showActiveOnly, null); this.add(tasksToolBar, BorderLayout.NORTH); PopupListener ppListener = new PopupListener(); scrollPane.addMouseListener(ppListener); taskTable.addMouseListener(ppListener); CurrentDate.addDateListener(new DateListener() { public void dateChange(CalendarDate d) { newTaskB.setEnabled(d.inPeriod(CurrentProject.get().getStartDate(), CurrentProject.get().getEndDate())); } }); CurrentProject.addProjectListener(new ProjectListener() { public void projectChange(Project p, NoteList nl, TaskList tl, ResourcesList rl) { newTaskB.setEnabled( CurrentDate.get().inPeriod(p.getStartDate(), p.getEndDate())); } public void projectWasChanged() { //taskTable.setCurrentRootTask(null); //XXX } }); taskTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() { public void valueChanged(ListSelectionEvent e) { boolean enbl = (taskTable.getRowCount() > 0)&&(taskTable.getSelectedRow() > -1); editTaskB.setEnabled(enbl);ppEditTask.setEnabled(enbl); removeTaskB.setEnabled(enbl);ppRemoveTask.setEnabled(enbl); ppCompleteTask.setEnabled(enbl); completeTaskB.setEnabled(enbl); ppAddSubTask.setEnabled(enbl); //ppSubTasks.setEnabled(enbl); // default value to be over-written later depending on whether it has sub tasks ppCalcTask.setEnabled(enbl); // default value to be over-written later depending on whether it has sub tasks /*if (taskTable.getCurrentRootTask() == null) { ppParentTask.setEnabled(false); } else { ppParentTask.setEnabled(true); }XXX*/ if (enbl) { String thisTaskId = taskTable.getModel().getValueAt(taskTable.getSelectedRow(), TaskTable.TASK_ID).toString(); boolean hasSubTasks = CurrentProject.getTaskList().hasSubTasks(thisTaskId); //ppSubTasks.setEnabled(hasSubTasks); ppCalcTask.setEnabled(hasSubTasks); Task t = CurrentProject.getTaskList().getTask(thisTaskId); parentPanel.calendar.jnCalendar.renderer.setTask(t); parentPanel.calendar.jnCalendar.updateUI(); } else { parentPanel.calendar.jnCalendar.renderer.setTask(null); parentPanel.calendar.jnCalendar.updateUI(); } } }); editTaskB.setEnabled(false); removeTaskB.setEnabled(false); completeTaskB.setEnabled(false); ppAddSubTask.setEnabled(false); //ppSubTasks.setEnabled(false); //ppParentTask.setEnabled(false); taskPPMenu.add(ppEditTask); taskPPMenu.addSeparator(); taskPPMenu.add(ppNewTask); taskPPMenu.add(ppAddSubTask); taskPPMenu.add(ppRemoveTask); taskPPMenu.addSeparator(); taskPPMenu.add(ppCompleteTask); taskPPMenu.add(ppCalcTask); //taskPPMenu.addSeparator(); //taskPPMenu.add(ppSubTasks); //taskPPMenu.addSeparator(); //taskPPMenu.add(ppParentTask); taskPPMenu.addSeparator(); taskPPMenu.add(ppShowActiveOnlyChB); // define key actions in TaskPanel: // - KEY:DELETE => delete tasks (recursivly). // - KEY:INTERT => insert new Subtask if another is selected. // - KEY:INSERT => insert new Task if nothing is selected. // - KEY:SPACE => finish Task. taskTable.addKeyListener(new KeyListener() { public void keyPressed(KeyEvent e){ if(taskTable.getSelectedRows().length>0 && e.getKeyCode()==KeyEvent.VK_DELETE) ppRemoveTask_actionPerformed(null); else if(e.getKeyCode()==KeyEvent.VK_INSERT) { if(taskTable.getSelectedRows().length>0) { ppAddSubTask_actionPerformed(null); } else { ppNewTask_actionPerformed(null); } } else if(e.getKeyCode()==KeyEvent.VK_SPACE && taskTable.getSelectedRows().length>0) { ppCompleteTask_actionPerformed(null); } } public void keyReleased(KeyEvent e){} public void keyTyped(KeyEvent e){} }); } void editTaskB_actionPerformed(ActionEvent e) { Task t = CurrentProject.getTaskList().getTask( taskTable.getModel().getValueAt(taskTable.getSelectedRow(), TaskTable.TASK_ID).toString()); TaskDialog dlg = new TaskDialog(App.getFrame(), Local.getString("Edit task")); 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.todoField.setText(t.getText()); dlg.descriptionField.setText(t.getDescription()); dlg.startDate.getModel().setValue(t.getStartDate().getDate()); dlg.endDate.getModel().setValue(t.getEndDate().getDate()); dlg.priorityCB.setSelectedIndex(t.getPriority()); dlg.effortField.setText(Util.getHoursFromMillis(t.getEffort())); if((t.getStartDate().getDate()).after(t.getEndDate().getDate())) dlg.chkEndDate.setSelected(false); else dlg.chkEndDate.setSelected(true); dlg.progress.setValue(new Integer(t.getProgress())); dlg.chkEndDate_actionPerformed(null); 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; t.setStartDate(sd); t.setEndDate(ed); t.setText(dlg.todoField.getText()); t.setDescription(dlg.descriptionField.getText()); t.setPriority(dlg.priorityCB.getSelectedIndex()); t.setEffort(Util.getMillisFromHours(dlg.effortField.getText())); t.setProgress(((Integer)dlg.progress.getValue()).intValue()); // CurrentProject.getTaskList().adjustParentTasks(t); CurrentStorage.get().storeTaskList(CurrentProject.getTaskList(), CurrentProject.get()); taskTable.tableChanged(); parentPanel.updateIndicators(); //taskTable.updateUI(); } void newTaskB_actionPerformed(ActionEvent e) { TaskDialog dlg = new TaskDialog(App.getFrame(), Local.getString("New task")); //XXX String parentTaskId = taskTable.getCurrentRootTask(); Dimension frmSize = App.getFrame().getSize(); Point loc = App.getFrame().getLocation(); dlg.startDate.getModel().setValue(CurrentDate.get().getDate()); dlg.endDate.getModel().setValue(CurrentDate.get().getDate()); 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());
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -