📄 gantttreetablemodel.java
字号:
case 1: Task task = (Task) tn.getUserObject(); String path = (task.getPriority() == 0 ? "/icons/task1.gif" : task .getPriority() == 1 ? "/icons/task.gif" : "/icons/task2.gif"); res = new ImageIcon(getClass().getResource(path)); break; case 2: // info TaskInfo info = t.getTaskInfo(); if (info != null) { if (info instanceof Delay) { int type = ((Delay) info).getType(); if (type == Delay.NORMAL) res = new ImageIcon(getClass().getResource( "/icons/alert1_16.gif")); else if (type == Delay.CRITICAL) res = new ImageIcon(getClass().getResource( "/icons/alert2_16.gif")); } } break; case 3: res = tn.getName(); break; case 4: res = tn.getStart(); break; case 5: res = tn.getEnd(); break; case 6: res = new Integer(tn.getDuration()); break; case 7: res = new Integer(tn.getCompletionPercentage()); break; case 8: { ResourceAssignment[] tAssign = t.getAssignments(); StringBuffer sb = new StringBuffer(); int nb = 0; for (int i = 0; i < tAssign.length; i++) { ResourceAssignment resAss = tAssign[i]; if (resAss.isCoordinator()) sb.append(nb++ == 0 ? "" : ", ").append( resAss.getResource().getName()); } // res = "Not implemented"; res = sb.toString(); break; } case 9: { String resStr = ""; TaskDependency[] dep = t.getDependenciesAsDependant().toArray(); int i = 0; if (dep != null && dep.length > 0) { for (i = 0; i < dep.length - 1; i++) resStr += dep[i].getDependee().getTaskID() + ", "; resStr += dep[i].getDependee().getTaskID() + ""; } res = resStr; break; } case 10: res = new Integer(t.getTaskID()); break; case 11: ResourceAssignment[] ras = t.getAssignments(); if (ras.length > 0) { StringBuffer list = new StringBuffer(); synchronized (list) { for (int i = 0; i < ras.length - 1; i++) { list.append(ras[i].getResource().getName()); list.append(","); } list.append(ras[ras.length - 1].getResource().getName()); } res = list; } else res = "-"; break; case 12: //res = new Integer(myTaskManager.getTaskHierarchy().getDocumentOrderNumber(t)); break; default: String colName = this.getColumnName(column); // System.out.println(" -> "+colName); // System.out.println(t+" : "+t.getCustomValues()); res = t.getCustomValues().getValue(colName); break; } // } // else // res =""; return res; } /** * @inheritDoc */ public void setValueAt(final Object value, final Object node, final int column) { if (value==null) { return; } if (isCellEditable(node, column)) { // System.out.println("undoable colonne: " + column); Mediator.getGanttProjectSingleton().getUndoManager().undoableEdit( "Change properties column", new Runnable() { public void run() { setValue(value, node, column); } }); } else { // System.out.println("NOT undoable colonne: " + column); setValue(value, node, column); } // System.out.println("node : " + node); // System.out.println("valeur : " + value); Mediator.getGanttProjectSingleton().repaint(); Mediator.getGanttProjectSingleton().setAskForSave(true); } /** * Set value in left pane cell * * @param value * @param node * @param column */ private void setValue(final Object value, final Object node, final int column) { switch (column) { case 0: case 1: case 2: // info ((TaskNode) node).setTaskInfo((TaskInfo) value); case 8: break; case 3: ((TaskNode) node).setName(value.toString()); break; case 4: ((TaskNode) node).setStart((GanttCalendar) value); ((TaskNode) node).applyThirdDateConstraint(); break; case 5: ((TaskNode) node).setEnd((GanttCalendar) value); break; case 6: Task task = (Task) ((TaskNode) node).getUserObject(); TaskLength tl = task.getDuration(); ((TaskNode) node).setDuration(task.getManager().createLength(tl.getTimeUnit(), ((Integer) value).intValue())); // set the block position of the chart scrollbar break; case 7: ((TaskNode) node).setCompletionPercentage(((Integer) value) .intValue()); break; default: // custom colums try { ((Task) ((TaskNode) node).getUserObject()).getCustomValues() .setValue(this.getColumnName(column), value); } catch (CustomColumnsException e) { e.printStackTrace(); } } } /** * @inheritDoc */ public void columnAdded(TableColumnModelEvent arg0) { nbCol++; } /** * @inheritDoc */ public void columnRemoved(TableColumnModelEvent arg0) { nbCol--; } /** * @inheritDoc */ public void columnMoved(TableColumnModelEvent arg0) { // TODO Auto-generated method stub } /** * @inheritDoc */ public void columnMarginChanged(ChangeEvent arg0) { // TODO Auto-generated method stub } /** * @inheritDoc */ public void columnSelectionChanged(ListSelectionEvent arg0) { // TODO Auto-generated method stub } /** * @inheritDoc */ public Task[] getNestedTasks(Task container) { TaskNode r = (TaskNode) root; Enumeration e = r.children(); Vector v = new Vector(); while (e.hasMoreElements()) v.add((TaskNode) e.nextElement()); Task[] res = new Task[v.size()]; v.toArray(res); return res; } /** * Purpose: Should return true if this Tasks has any nested subtasks. */ public boolean hasNestedTasks(Task container) { TaskNode r = (TaskNode) root; if (r.getChildCount() > 0) { return true; } else { return false; } } /** * @inheritDoc */ public Task getRootTask() { return (Task) ((TaskNode) this.getRoot()).getUserObject(); } /** * Returns the corresponding task node according to the given task. * * @param task * The task whom tasknode we want to get. * @return The corresponding task node according to the given task. */ public TaskNode getTaskNodeForTask(Task task) { Enumeration enumeration = ((TaskNode) getRoot()).preorderEnumeration(); while (enumeration.hasMoreElements()) { Object next = enumeration.nextElement(); if (!(next instanceof TaskNode)) continue; TaskNode tn = (TaskNode) next; Task t = (Task) tn.getUserObject(); if (t.equals(task)) return tn; } return null; } /** * @inheritDoc */ public Task getContainer(Task nestedTask) { // TODO Auto-generated method stub return null; } /** * @inheritDoc */ public void move(Task whatMove, Task whereMove) { // TODO Auto-generated method stub } /** * @inheritDoc */ public boolean areUnrelated(Task dependant, Task dependee) { // TODO Auto-generated method stub return false; } public int getDepth(Task task) { // TODO Auto-generated method stub return 0; } public void languageChanged(Event event) { changeLanguage(event.getLanguage()); } public int compareDocumentOrder(Task next, Task dependeeTask) { throw new UnsupportedOperationException(); } public boolean contains(Task task) { throw new UnsupportedOperationException(); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -