/** Edits the <code>t</code> task name in the treetable. */ public void setEditingTask(Task t) { getTreeTable().getTreeTable().editingStopped(new ChangeEvent(getTreeTable().getTreeTable())); TaskSelectionManager taskSelectionManager = getTaskSelectionManager(); taskSelectionManager.clear(); taskSelectionManager.addTask(t); getTreeTable().editSelectedTask(); getTreeTable().centerViewOnSelectedCell(); }
@Override protected void onSelectionChanged(List<DefaultMutableTreeTableNode> selection) { if (isOnTaskSelectionEventProcessing) { return; } List<Task> selectedTasks = Lists.newArrayList(); for (DefaultMutableTreeTableNode node : selection) { if (node instanceof TaskNode) { selectedTasks.add((Task) node.getUserObject()); } } mySelectionManager.setSelectedTasks(selectedTasks); }
@Override protected void init() { getTreeTable().initTreeTable(); // Create the root node initRootNode(); getTreeTable() .getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW) .put(KeyStroke.getKeyStroke(KeyEvent.VK_X, KeyEvent.ALT_DOWN_MASK), "cutTask"); getTreeTable() .getTree() .addTreeSelectionListener( new TreeSelectionListener() { @Override public void valueChanged(TreeSelectionEvent e) {} }); getTreeTable().getTree().addTreeExpansionListener(new GanttTreeExpansionListener()); ToolTipManager.sharedInstance().registerComponent(getTreeTable()); getTreeTable().insertWithLeftyScrollBar(this); mySelectionManager.addSelectionListener( new Listener() { @Override public void selectionChanged(List<Task> currentSelection) {} @Override public void userInputConsumerChanged(Object newConsumer) { if (getTreeTable().getTable().isEditing()) { getTreeTable() .getTable() .editingStopped(new ChangeEvent(getTreeTable().getTreeTable())); } } }); getTreeTable() .getTree() .addFocusListener( new FocusAdapter() { @Override public void focusGained(FocusEvent e) { super.focusGained(e); mySelectionManager.setUserInputConsumer(this); } }); try { GanttTreeDropListener dropListener = new GanttTreeDropListener(); getTreeTable().getDropTarget().addDropTargetListener(dropListener); Color selectionBackground = UIManager.getColor("Table.selectionBackground"); Color dropBackground = new Color( selectionBackground.getRed(), selectionBackground.getGreen(), selectionBackground.getBlue(), 64); Color foreground = UIManager.getColor("Table.selectionForeground"); myDragHighlighter = new ColorHighlighter(dropListener, dropBackground, foreground); } catch (TooManyListenersException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } }
public GanttTree2( final GanttProject project, TaskManager taskManager, TaskSelectionManager selectionManager, final UIFacade uiFacade) { super(createTreeTable(project.getProject(), createDirtyfier(project), uiFacade)); myUIFacade = uiFacade; myProject = project; myTaskManager = taskManager; mySelectionManager = selectionManager; myTaskManager.addTaskListener( new TaskListenerAdapter() { @Override public void taskModelReset() { clearTree(); } @Override public void taskRemoved(TaskHierarchyEvent e) { MutableTreeTableNode node = getNode(e.getTask()); if (node == null) { return; } TreeNode parent = node.getParent(); if (parent != null) { getTreeModel().removeNodeFromParent(node); } } }); mySelectionManager.addSelectionListener( new TaskSelectionManager.Listener() { @Override public void userInputConsumerChanged(Object newConsumer) {} @Override public void selectionChanged(List<Task> currentSelection) { onTaskSelectionChanged(currentSelection); } }); // Create Actions GPAction propertiesAction = new TaskPropertiesAction(project.getProject(), selectionManager, uiFacade); GPAction deleteAction = new TaskDeleteAction(taskManager, selectionManager, uiFacade, this); GPAction newAction = new TaskNewAction(project.getProject(), uiFacade); setArtefactActions(newAction, propertiesAction, deleteAction); myLinkTasksAction = new TaskLinkAction(taskManager, selectionManager, uiFacade); myUnlinkTasksAction = new TaskUnlinkAction(taskManager, selectionManager, uiFacade); myIndentAction = new TaskIndentAction(taskManager, selectionManager, uiFacade, this); myUnindentAction = new TaskUnindentAction(taskManager, selectionManager, uiFacade, this); myMoveUpAction = new TaskMoveUpAction(taskManager, selectionManager, uiFacade, this); myMoveDownAction = new TaskMoveDownAction(taskManager, selectionManager, uiFacade, this); getTreeTable() .setupActionMaps( myMoveUpAction, myMoveDownAction, myIndentAction, myUnindentAction, newAction, myProject.getCutAction(), myProject.getCopyAction(), myProject.getPasteAction(), propertiesAction, deleteAction); }