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.

Author:
ilanliuk
See Also:
Serialized Form

Nested Class Summary
private  class UseCaseTree.UseCaseTreeCellRenderer
          Custom TreeCellRenderer for highlighting treeitems 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.MouseListener mouseListener
           
private  java.awt.event.ActionListener popupMenuActionListener
           
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 parser and heuristics
private  void addToAnalyzeModel(UseCase usecase, ParserInterface parser, HeuristicInterface heuristic)
          Adds single UseCase into analyzemodel with given parser and heuristics
private  void addToAnalyzeModel(java.util.Vector<UseCase> usecases)
          Add vector of usecases into analyzemodel with default parser and heuristics.
private  void addToAnalyzeModel(java.util.Vector<UseCase> usecases, ParserInterface parser, HeuristicInterface heuristic)
          Add vector of usecases into analyzemodel with given parser and heuristics.
private  void addToAnalyzeModelWith(UseCase usecase)
          Method to ask from user the parser and heuristic used to add usecase into model.
private  void addToAnalyzeModelWith(java.util.Vector<UseCase> usecases)
          Method to ask from user the parser and heuristic used to add usecases into model.
 void clear()
           
private  java.awt.event.ActionListener getActionListenerForPopupMenu()
          Return actionListener for UseCaseTrees popupmenu
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 popupmenu.
private  java.util.Vector<UseCase> getSubtreeInVector(FilesTreeItem item)
          Method to add all usecase-files 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 subUseCases into vector.
private  javax.swing.event.TreeSelectionListener getTreeSelectionListener()
          Returns TreeSelectionListener for UseCaseTree.
 void setDotPanel(DotPanel panel)
           
 void setUseCasePanel(UseCasePanelInterface useCasePanel)
           
 
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

mouseListener

private java.awt.event.MouseListener mouseListener

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 wich holds 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 subUseCases 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
Returns:
Vector containing usecases.

getSubtreeInVector

private java.util.Vector<UseCase> getSubtreeInVector(TreeItem item)
Method to add UseCases from subtree of this TreeItem into vector.

Parameters:
item - TreeItem
Returns:
Vector containing usecases.

getSubtreeInVector

private java.util.Vector<UseCase> getSubtreeInVector(FilesTreeItem item)
Method to add all usecase-files 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 parser and heuristics

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

addToAnalyzeModel

private void addToAnalyzeModel(UseCase usecase)
Adds single UseCase into analyzemodel with default parser and heuristics

Parameters:
usecase - UseCase to add into model.

addToAnalyzeModel

private void addToAnalyzeModel(java.util.Vector<UseCase> usecases,
                               ParserInterface parser,
                               HeuristicInterface heuristic)
Add vector of usecases into analyzemodel with given parser and heuristics.

Parameters:
usecases - Vector of usecases to add.
parser - Parser to use.
heuristic - Heuristic to use.

addToAnalyzeModel

private void addToAnalyzeModel(java.util.Vector<UseCase> usecases)
Add vector of usecases into analyzemodel with default parser and heuristics.

Parameters:
usecases - Vector of usecases to add.

addToAnalyzeModelWith

private void addToAnalyzeModelWith(UseCase usecase)
Method to ask from user the parser and heuristic used to add usecase into model.

Parameters:
usecase - UseCase to add into model.

addToAnalyzeModelWith

private void addToAnalyzeModelWith(java.util.Vector<UseCase> usecases)
Method to ask from user the parser and heuristic used to add usecases into model.

Parameters:
usecases - Vector of usecases to add into model.

getTreeSelectionListener

private javax.swing.event.TreeSelectionListener getTreeSelectionListener()
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.

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

getRefreshFileActionListener

private java.awt.event.ActionListener getRefreshFileActionListener()
Returns ActionListener for refreshing files action from UseCaseTree popupmenu.

Returns:
ActionListener

getActionListenerForPopupMenu

private java.awt.event.ActionListener getActionListenerForPopupMenu()
Return actionListener for UseCaseTrees popupmenu

Returns:
ActionListener for popupmenu

setDotPanel

public void setDotPanel(DotPanel panel)

setUseCasePanel

public void setUseCasePanel(UseCasePanelInterface useCasePanel)

clear

public void clear()