net.sourceforge.ganttproject
Class GanttTree

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JPanel
                          |
                          +--net.sourceforge.ganttproject.GanttTree
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class GanttTree
extends javax.swing.JPanel

Class that generate the JTree

See Also:
Serialized Form

Nested Class Summary
 class GanttTree.GanttAdjustmentListener
          Listener when scrollbar move
 class GanttTree.GanttTreeCellRenderer
          Render the cell of the tree
 class GanttTree.GanttTreeExpansionListener
          Class for expansion and collapse of node
 class GanttTree.GanttTreeModelListener
          Listener to generate modification on the model
 
Field Summary
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
GanttTree(GanttProject app)
          Constructor.
 
Method Summary
 javax.swing.tree.DefaultMutableTreeNode addObject(java.lang.Object child, javax.swing.tree.DefaultMutableTreeNode parent)
          Add a sub task.
 boolean checkDepend(GanttTask task1, GanttTask task2)
          Check if task1 can be the successor of task2
 void checkTheDepend(GanttTask taskToMove)
          Chack for the task when drag with mouse the begin of the task
 void clearTree()
          Clear the JTree.
 void copySelectedNode()
          Copy the current selected tree node
 void createPopupMenu(int x, int y)
          Create a popup menu when mous click
 void cutSelectedNode()
          Cut the current selected tree node
 void dedentCurrentNode()
          Function to dedent selected task this will change the parent child relationship.
 void downCurrentNode()
          Function to put down the selected task
 void expandRefresh()
          Refresh the exapntion (recursive function)
 void forwardScheduling()
          forword calculate the earliest start and finish of all the task
 java.util.ArrayList getAllChildTask(javax.swing.tree.DefaultMutableTreeNode base)
          Return all sub task for the tree node base
 java.util.ArrayList getAllChildTask(GanttTask task)
          Return all sub task for the tree node base
 java.util.ArrayList getAllGanttTasks()
          instead of returning a list of DefautMutableTreeNode it return a list of GanttTask
 java.lang.Object[] getAllTaskArray()
          Return all tasks on an array
 java.util.ArrayList getAllTasks()
          Returnan ArrayList with all tasks.
 java.lang.String[] getAllTaskString(java.lang.String except)
          Return all task exept the task in parameter
 java.util.ArrayList getArryListTaskString(java.lang.String except)
          Return an ArrayList with String for all tasks
 java.util.ArrayList getExpand()
          Return the array of expansion
 javax.swing.tree.DefaultMutableTreeNode getFatherNode(javax.swing.tree.DefaultMutableTreeNode node)
          Returne the mother task.
 javax.swing.tree.DefaultMutableTreeNode getFatherNode(GanttTask node)
          Returne the mother task.
 javax.swing.JTree getJTree()
          Return the JTree.
 javax.swing.tree.DefaultMutableTreeNode getLastNode()
          Return the last default tree node
 javax.swing.tree.DefaultMutableTreeNode getNode(int id)
          Return the DefaultMutableTreeNodequi with the name name.
 javax.swing.tree.DefaultMutableTreeNode getRoot()
          Return the root node
 javax.swing.tree.DefaultMutableTreeNode getSelectedNode()
          Return the selected node
 GanttTask getSelectedTask()
          Return the selected task
 GanttTask getTask(java.lang.String name)
          Returne the task with the name name
 boolean hasChild(javax.swing.tree.DefaultMutableTreeNode base)
          return if a task has some children
 void indentCurrentNode()
          Function to indent selected task this will change the parent child relationship.
 void pasteNode()
          Paste the node and its child node to current selected position
 void refreshAllChild(java.lang.String taskToMove)
          In elder version, this function refresh all the related tasks to the taskToMove.
 void refreshAllFather(java.lang.String taskToMove)
          Refresh al fathter to set all duration
 void removeCurrentNode()
          Remove the current node.
 void selectTreeRow(int row)
          Select the row of the tree
 void setExpand(java.util.ArrayList exp)
          Set the expand array and modify in consequence
 void setGraphicArea(GanttGraphicArea area)
          Change grpahic part
 void upCurrentNode()
          Function to put up the selected task
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

GanttTree

public GanttTree(GanttProject app)
Constructor.

Method Detail

createPopupMenu

public void createPopupMenu(int x,
                            int y)
Create a popup menu when mous click


setGraphicArea

public void setGraphicArea(GanttGraphicArea area)
Change grpahic part


getExpand

public java.util.ArrayList getExpand()
Return the array of expansion


setExpand

public void setExpand(java.util.ArrayList exp)
Set the expand array and modify in consequence


addObject

public javax.swing.tree.DefaultMutableTreeNode addObject(java.lang.Object child,
                                                         javax.swing.tree.DefaultMutableTreeNode parent)
Add a sub task.


getSelectedTask

public GanttTask getSelectedTask()
Return the selected task


getSelectedNode

public javax.swing.tree.DefaultMutableTreeNode getSelectedNode()
Return the selected node


getTask

public GanttTask getTask(java.lang.String name)
Returne the task with the name name


getNode

public javax.swing.tree.DefaultMutableTreeNode getNode(int id)
Return the DefaultMutableTreeNodequi with the name name.


getAllTasks

public java.util.ArrayList getAllTasks()
Returnan ArrayList with all tasks.


hasChild

public boolean hasChild(javax.swing.tree.DefaultMutableTreeNode base)
return if a task has some children


getAllChildTask

public java.util.ArrayList getAllChildTask(GanttTask task)
Return all sub task for the tree node base


getAllChildTask

public java.util.ArrayList getAllChildTask(javax.swing.tree.DefaultMutableTreeNode base)
Return all sub task for the tree node base


getLastNode

public javax.swing.tree.DefaultMutableTreeNode getLastNode()
Return the last default tree node


getAllTaskArray

public java.lang.Object[] getAllTaskArray()
Return all tasks on an array


getAllTaskString

public java.lang.String[] getAllTaskString(java.lang.String except)
Return all task exept the task in parameter


getArryListTaskString

public java.util.ArrayList getArryListTaskString(java.lang.String except)
Return an ArrayList with String for all tasks


removeCurrentNode

public void removeCurrentNode()
Remove the current node.


clearTree

public void clearTree()
Clear the JTree.


selectTreeRow

public void selectTreeRow(int row)
Select the row of the tree


getFatherNode

public javax.swing.tree.DefaultMutableTreeNode getFatherNode(GanttTask node)
Returne the mother task.


getFatherNode

public javax.swing.tree.DefaultMutableTreeNode getFatherNode(javax.swing.tree.DefaultMutableTreeNode node)
Returne the mother task.


getJTree

public javax.swing.JTree getJTree()
Return the JTree.


getRoot

public javax.swing.tree.DefaultMutableTreeNode getRoot()
Return the root node


checkDepend

public boolean checkDepend(GanttTask task1,
                           GanttTask task2)
Check if task1 can be the successor of task2

Parameters:
task1 - successor
task2 - predecessor
Returns:
true if task1 can be the successor of task2.

upCurrentNode

public void upCurrentNode()
Function to put up the selected task


downCurrentNode

public void downCurrentNode()
Function to put down the selected task


indentCurrentNode

public void indentCurrentNode()
Function to indent selected task this will change the parent child relationship. This Code is based on the UP/DOWN Coder I found in here barmeier


dedentCurrentNode

public void dedentCurrentNode()
Function to dedent selected task this will change the parent child relationship. This Code is based on the UP/DOWN Coder I found in here barmeier


expandRefresh

public void expandRefresh()
Refresh the exapntion (recursive function)


refreshAllChild

public void refreshAllChild(java.lang.String taskToMove)
In elder version, this function refresh all the related tasks to the taskToMove. In the new version, this function is same as forwardScheduling(). It will refresh all the tasks.

Parameters:
taskToMove -

refreshAllFather

public void refreshAllFather(java.lang.String taskToMove)
Refresh al fathter to set all duration


checkTheDepend

public void checkTheDepend(GanttTask taskToMove)
Chack for the task when drag with mouse the begin of the task


cutSelectedNode

public void cutSelectedNode()
Cut the current selected tree node


copySelectedNode

public void copySelectedNode()
Copy the current selected tree node


pasteNode

public void pasteNode()
Paste the node and its child node to current selected position


forwardScheduling

public void forwardScheduling()
forword calculate the earliest start and finish of all the task


getAllGanttTasks

public java.util.ArrayList getAllGanttTasks()
instead of returning a list of DefautMutableTreeNode it return a list of GanttTask



${copyright}