ucot.ui.gui.tree.usecasetree
Class UseCaseTree

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JTree
                  extended by ucot.ui.gui.tree.usecasetree.UseCaseTree
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.Scrollable

public class UseCaseTree
extends javax.swing.JTree

JTree for displaying usecases that are loaded into program.

The data model of this tree is kept in UseCaseTreeModel.

Root node of this tree is FilesTreeItem. Root has all UseCase sources loaded into program as children as FileTreeItems. FileTreeItem holds UseCases from that source as it's child nodes as UseCaseTreeItems.

Author:
ilanliuk
See Also:
JTree, Serialized Form

Nested Class Summary
private  class UseCaseTree.UseCaseTreeCellRenderer
          Custom TreeCellRenderer for highlighting tree nodes and adding custom icons for them.
 
Nested classes/interfaces inherited from class javax.swing.JTree
javax.swing.JTree.AccessibleJTree, javax.swing.JTree.DynamicUtilTreeNode, javax.swing.JTree.EmptySelectionModel, javax.swing.JTree.TreeModelHandler, javax.swing.JTree.TreeSelectionRedirector
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private static java.lang.String ADD_SINGLE_POPUP_ACTION
           
private static java.lang.String ADD_SINGLE_WITH_POPUP_ACTION
           
private static java.lang.String ADD_SUBTREE_POPUP_ACTION
           
private static java.lang.String ADD_SUBTREE_WITH_POPUP_ACTION
           
private  ControlInterface core
           
private  DotPanel dotPanel
           
private  java.awt.event.ActionListener popupMenuActionListener
           
private static long serialVersionUID
           
protected static javax.swing.Icon usecaseIcon
           
protected static javax.swing.Icon usecaseIconNotInModel
           
protected static javax.swing.Icon usecaseLeafIcon
           
protected static javax.swing.Icon usecaseLeafIconNotInModel
           
private  UseCasePanelInterface useCasePanel
           
private  UseCaseTreeModel useCaseTreeModel
           
 
Fields inherited from class javax.swing.JTree
ANCHOR_SELECTION_PATH_PROPERTY, CELL_EDITOR_PROPERTY, CELL_RENDERER_PROPERTY, cellEditor, cellRenderer, editable, EDITABLE_PROPERTY, EXPANDS_SELECTED_PATHS_PROPERTY, INVOKES_STOP_CELL_EDITING_PROPERTY, invokesStopCellEditing, LARGE_MODEL_PROPERTY, largeModel, LEAD_SELECTION_PATH_PROPERTY, ROOT_VISIBLE_PROPERTY, rootVisible, ROW_HEIGHT_PROPERTY, rowHeight, SCROLLS_ON_EXPAND_PROPERTY, scrollsOnExpand, SELECTION_MODEL_PROPERTY, selectionModel, selectionRedirector, SHOWS_ROOT_HANDLES_PROPERTY, showsRootHandles, TOGGLE_CLICK_COUNT_PROPERTY, toggleClickCount, TREE_MODEL_PROPERTY, treeModel, treeModelListener, VISIBLE_ROW_COUNT_PROPERTY, visibleRowCount
 
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
UseCaseTree(ControlInterface core)
          Default constructor for UseCaseTree.
 
Method Summary
private  void addToAnalyzeModel(UseCase usecase)
          Adds single UseCase into analyzemodel with default ParserInterface and HeuristicInterface.
private  void addToAnalyzeModel(UseCase usecase, ParserInterface parser, HeuristicInterface heuristic)
          Adds single UseCase into analyzemodel with given ParserInterface and HeuristicInterface.
private  void addToAnalyzeModel(java.util.Vector<UseCase> usecases)
          Add Vector of use cases into analyzemodel with default ParserInterface and HeuristicInterface.
private  void addToAnalyzeModel(java.util.Vector<UseCase> usecases, ParserInterface parser, HeuristicInterface heuristic)
          Add Vector of use cases into analyzemodel with given ParserInterface and HeuristicInterface.
private  void addToAnalyzeModelWith(UseCase usecase)
          Method to ask from user which ParserInterface and HeuristicInterface should be used to add use case into model.
private  void addToAnalyzeModelWith(java.util.Vector<UseCase> usecases)
          Method to ask from user which ParserInterface and HeuristicInterface should be used to add usecases into model.
 void clear()
          Clears contest of this tree.
private  java.awt.event.ActionListener getActionListenerForPopupMenu()
          Return ActionListener for UseCaseTrees popup menu
private  java.awt.event.MouseListener getMouseListener()
          Creates and returns MouseListener for UseCaseTree.
private  javax.swing.JPopupMenu getPopupMenuFor(TreeItem treeitem)
          Creates and returns JPopupMenu for given TreeItem.
private  java.awt.event.ActionListener getRefreshFileActionListener()
          Returns ActionListener for refreshing files action from UseCaseTree popup menu.
private  java.util.Vector<UseCase> getSubtreeInVector(FilesTreeItem item)
          Method to add all use case sources that are loaded into program into Vector.
private  java.util.Vector<UseCase> getSubtreeInVector(FileTreeItem item)
          Method to add all UseCases from file pointed out at FileTreeItem into Vector.
private  java.util.Vector<UseCase> getSubtreeInVector(TreeItem item)
          Method to add UseCases from subtree of this TreeItem into Vector.
private  java.util.Vector<UseCase> getSubtreeInVector(UseCaseTreeItem item)
          Method to add UseCase pointed at UseCaseTreeItem and it's sub use cases into Vector.
private  javax.swing.event.TreeSelectionListener getTreeSelectionListener()
          Creates and returns TreeSelectionListener for UseCaseTree.
 void setDotPanel(DotPanel panel)
          Method to set the DotPanel which is used to display the model.
 void setUseCasePanel(UseCasePanelInterface useCasePanel)
          Method to set the UseCasePanelInterface which is used to display steps of the selected use case.
 
Methods inherited from class javax.swing.JTree
addSelectionInterval, addSelectionPath, addSelectionPaths, addSelectionRow, addSelectionRows, addTreeExpansionListener, addTreeSelectionListener, addTreeWillExpandListener, cancelEditing, clearSelection, clearToggledPaths, collapsePath, collapseRow, convertValueToText, createTreeModel, createTreeModelListener, expandPath, expandRow, fireTreeCollapsed, fireTreeExpanded, fireTreeWillCollapse, fireTreeWillExpand, fireValueChanged, getAccessibleContext, getAnchorSelectionPath, getCellEditor, getCellRenderer, getClosestPathForLocation, getClosestRowForLocation, getDefaultTreeModel, getDescendantToggledPaths, getDragEnabled, getEditingPath, getExpandedDescendants, getExpandsSelectedPaths, getInvokesStopCellEditing, getLastSelectedPathComponent, getLeadSelectionPath, getLeadSelectionRow, getMaxSelectionRow, getMinSelectionRow, getModel, getNextMatch, getPathBetweenRows, getPathBounds, getPathForLocation, getPathForRow, getPreferredScrollableViewportSize, getRowBounds, getRowCount, getRowForLocation, getRowForPath, getRowHeight, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getScrollsOnExpand, getSelectionCount, getSelectionModel, getSelectionPath, getSelectionPaths, getSelectionRows, getShowsRootHandles, getToggleClickCount, getToolTipText, getTreeExpansionListeners, getTreeSelectionListeners, getTreeWillExpandListeners, getUI, getUIClassID, getVisibleRowCount, hasBeenExpanded, isCollapsed, isCollapsed, isEditable, isEditing, isExpanded, isExpanded, isFixedRowHeight, isLargeModel, isPathEditable, isPathSelected, isRootVisible, isRowSelected, isSelectionEmpty, isVisible, makeVisible, paramString, removeDescendantSelectedPaths, removeDescendantToggledPaths, removeSelectionInterval, removeSelectionPath, removeSelectionPaths, removeSelectionRow, removeSelectionRows, removeTreeExpansionListener, removeTreeSelectionListener, removeTreeWillExpandListener, scrollPathToVisible, scrollRowToVisible, setAnchorSelectionPath, setCellEditor, setCellRenderer, setDragEnabled, setEditable, setExpandedState, setExpandsSelectedPaths, setInvokesStopCellEditing, setLargeModel, setLeadSelectionPath, setModel, setRootVisible, setRowHeight, setScrollsOnExpand, setSelectionInterval, setSelectionModel, setSelectionPath, setSelectionPaths, setSelectionRow, setSelectionRows, setShowsRootHandles, setToggleClickCount, setUI, setVisibleRowCount, startEditingAtPath, stopEditing, treeDidChange, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getWidth, getVisibleRect, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, 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, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, 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, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, 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, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, 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
 

Field Detail

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

popupMenuActionListener

private java.awt.event.ActionListener popupMenuActionListener

useCaseTreeModel

private UseCaseTreeModel useCaseTreeModel

dotPanel

private DotPanel dotPanel

core

private ControlInterface core

useCasePanel

private UseCasePanelInterface useCasePanel

usecaseIcon

protected static javax.swing.Icon usecaseIcon

usecaseLeafIcon

protected static javax.swing.Icon usecaseLeafIcon

usecaseIconNotInModel

protected static javax.swing.Icon usecaseIconNotInModel

usecaseLeafIconNotInModel

protected static javax.swing.Icon usecaseLeafIconNotInModel

ADD_SINGLE_POPUP_ACTION

private static final java.lang.String ADD_SINGLE_POPUP_ACTION
See Also:
Constant Field Values

ADD_SINGLE_WITH_POPUP_ACTION

private static final java.lang.String ADD_SINGLE_WITH_POPUP_ACTION
See Also:
Constant Field Values

ADD_SUBTREE_POPUP_ACTION

private static final java.lang.String ADD_SUBTREE_POPUP_ACTION
See Also:
Constant Field Values

ADD_SUBTREE_WITH_POPUP_ACTION

private static final java.lang.String ADD_SUBTREE_WITH_POPUP_ACTION
See Also:
Constant Field Values
Constructor Detail

UseCaseTree

public UseCaseTree(ControlInterface core)

Default constructor for UseCaseTree.

Parameters:
core - ControlInterface which holds the UseCaseCollection which contains the UseCases we want to show.
Method Detail

getSubtreeInVector

private java.util.Vector<UseCase> getSubtreeInVector(UseCaseTreeItem item)

Method to add UseCase pointed at UseCaseTreeItem and it's sub use cases into Vector.

Parameters:
item - UseCaseTreeItem to add into Vector.
Returns:
Vector containing UseCases.

getSubtreeInVector

private java.util.Vector<UseCase> getSubtreeInVector(FileTreeItem item)

Method to add all UseCases from file pointed out at FileTreeItem into Vector.

Parameters:
item - FileTreeItem which contains the source from which we want to get the use cases.
Returns:
Vector containing UseCases from given source.

getSubtreeInVector

private java.util.Vector<UseCase> getSubtreeInVector(TreeItem item)

Method to add UseCases from subtree of this TreeItem into Vector.

Parameters:
item - TreeItem which sub use cases we want to get.
Returns:
Vector containing UseCases.

getSubtreeInVector

private java.util.Vector<UseCase> getSubtreeInVector(FilesTreeItem item)

Method to add all use case sources that are loaded into program into Vector.

Parameters:
item - FilesTreeItem
Returns:
Vector containing UseCases.

addToAnalyzeModel

private void addToAnalyzeModel(UseCase usecase,
                               ParserInterface parser,
                               HeuristicInterface heuristic)

Adds single UseCase into analyzemodel with given ParserInterface and HeuristicInterface.

Parameters:
usecase - UseCase to add into model.
parser - ParserInterface to use for parsing UseCase.
heuristic - HeuristicInterface to use on the use case.

addToAnalyzeModel

private void addToAnalyzeModel(UseCase usecase)

Adds single UseCase into analyzemodel with default ParserInterface and HeuristicInterface.

Parameters:
usecase - UseCase to add into model.

addToAnalyzeModel

private void addToAnalyzeModel(java.util.Vector<UseCase> usecases,
                               ParserInterface parser,
                               HeuristicInterface heuristic)

Add Vector of use cases into analyzemodel with given ParserInterface and HeuristicInterface.

Parameters:
usecases - Vector of UseCases to add.
parser - ParserInterface to use.
heuristic - HeuristicInterface to use.

addToAnalyzeModel

private void addToAnalyzeModel(java.util.Vector<UseCase> usecases)

Add Vector of use cases into analyzemodel with default ParserInterface and HeuristicInterface.

Parameters:
usecases - Vector of UseCases to add.

addToAnalyzeModelWith

private void addToAnalyzeModelWith(UseCase usecase)

Method to ask from user which ParserInterface and HeuristicInterface should be used to add use case into model. Uses AddToModelWithDialog to ask which the wanted ParserInterface and HeuristicInterface are.

Parameters:
usecase - UseCase to add into model.

addToAnalyzeModelWith

private void addToAnalyzeModelWith(java.util.Vector<UseCase> usecases)

Method to ask from user which ParserInterface and HeuristicInterface should be used to add usecases into model. Uses AddToModelWithDialog to ask which the wanted ParserInterface and HeuristicInterface are.

Parameters:
usecases - Vector of UseCases to add.

getTreeSelectionListener

private javax.swing.event.TreeSelectionListener getTreeSelectionListener()

Creates and returns TreeSelectionListener for UseCaseTree.

Returns:
TreeSelectionListener

getMouseListener

private java.awt.event.MouseListener getMouseListener()

Creates and returns MouseListener for UseCaseTree.

Returns:
MouseListener

getPopupMenuFor

private javax.swing.JPopupMenu getPopupMenuFor(TreeItem treeitem)

Creates and returns JPopupMenu for given TreeItem.

MenuItems in popup menu are depending of the type of TreeItem we need the menu for.

Parameters:
treeitem - TreeItem we need a popup menu for.
Returns:
JPopupMenu

getRefreshFileActionListener

private java.awt.event.ActionListener getRefreshFileActionListener()

Returns ActionListener for refreshing files action from UseCaseTree popup menu.

Returns:
ActionListener

getActionListenerForPopupMenu

private java.awt.event.ActionListener getActionListenerForPopupMenu()
Return ActionListener for UseCaseTrees popup menu

Returns:
ActionListener for popup menu

setDotPanel

public void setDotPanel(DotPanel panel)
Method to set the DotPanel which is used to display the model.

Parameters:
panel - DotPanel

setUseCasePanel

public void setUseCasePanel(UseCasePanelInterface useCasePanel)

Method to set the UseCasePanelInterface which is used to display steps of the selected use case.

Parameters:
useCasePanel - UseCasePanelInterface.

clear

public void clear()

Clears contest of this tree.