org.argouml.uml.ui
Class UMLMutableLinkedList

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JList
                          |
                          +--org.argouml.uml.ui.UMLList2
                                |
                                +--org.argouml.uml.ui.UMLLinkedList
                                      |
                                      +--org.argouml.uml.ui.UMLMutableLinkedList
All Implemented Interfaces:
javax.accessibility.Accessible, java.util.EventListener, java.awt.image.ImageObserver, javax.swing.event.ListSelectionListener, java.awt.MenuContainer, java.awt.event.MouseListener, javax.swing.Scrollable, java.io.Serializable, TargettableModelView
Direct Known Subclasses:
UMLCompositeStateSubvertexList, UMLStateDoActivityList, UMLStateEntryList, UMLStateExitList, UMLTransitionEffectList, UMLTransitionTriggerList

public class UMLMutableLinkedList
extends UMLLinkedList

This class is the GUI front for a mutable linked list. The user can add, delete or create modelelements to the model. He can do that via a popup menu.

The developer using this class can turn on and off the actions the user can do via various configuration switches. To turn on/off the add option for example, he can call the method setAddOption. Default the options for delete and add are on. The option for new is off, since this is much less used.

The implementation of the three actions, are delegated to several other ActionClasses. ActionRemoveFromModel for the delete, the other actionclasses need to be provided when constructing this object.

Since december 14th, an option is added to configure the popupmenu that should be shown.

Since:
Oct 2, 2002
See Also:
Serialized Form

Nested Class Summary
private  class UMLMutableLinkedList.PopupMenu
           
 
Field Summary
private  boolean _add
           
private  AbstractActionAddModelElement _addAction
           
private  boolean _delete
           
private  AbstractActionRemoveElement _deleteAction
           
private  boolean _new
           
private  AbstractActionNewModelElement _newAction
           
private  javax.swing.JPopupMenu _popupMenu
           
 
Fields inherited from class javax.swing.JList
HORIZONTAL_WRAP, VERTICAL, VERTICAL_WRAP
 
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.Container
 
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
UMLMutableLinkedList(UMLModelElementListModel2 dataModel, AbstractActionAddModelElement addAction, AbstractActionNewModelElement newAction)
           
UMLMutableLinkedList(UMLModelElementListModel2 dataModel, AbstractActionAddModelElement addAction, AbstractActionNewModelElement newAction, AbstractActionRemoveElement deleteAction, boolean showIcon)
          Constructor that should be used if the developer wishes the popupmenu to be constructed via the actions (as described in the javadoc of this class itself).
UMLMutableLinkedList(UMLModelElementListModel2 dataModel, javax.swing.JPopupMenu popup)
           
UMLMutableLinkedList(UMLModelElementListModel2 dataModel, javax.swing.JPopupMenu popup, boolean showIcon)
          Constructor that should be used if the developer wishes a customized popupmenu.
 
Method Summary
 AbstractActionAddModelElement getAddAction()
          Returns the addAction.
 AbstractActionRemoveElement getDeleteAction()
          Returns the deleteAction.
 AbstractActionNewModelElement getNewAction()
          Returns the newAction.
 javax.swing.JPopupMenu getPopupMenu()
          Returns the popupMenu.
 boolean isAdd()
          Returns the add.
 boolean isDelete()
          Returns the delete.
 boolean isNew()
          Returns the new.
 void mouseClicked(java.awt.event.MouseEvent e)
           
 void mousePressed(java.awt.event.MouseEvent e)
           
 void mouseReleased(java.awt.event.MouseEvent e)
           
 void setAddAction(AbstractActionAddModelElement addAction)
          Sets the addAction.
 void setDelete(boolean delete)
          Sets the delete.
 void setDeleteAction(AbstractActionRemoveElement deleteAction)
          Sets the deleteAction.
 void setNewAction(AbstractActionNewModelElement newAction)
          Sets the newAction.
 void setPopupMenu(javax.swing.JPopupMenu popupMenu)
          Sets the popupMenu.
 
Methods inherited from class org.argouml.uml.ui.UMLLinkedList
doIt, mouseEntered, mouseExited
 
Methods inherited from class org.argouml.uml.ui.UMLList2
getTarget, getTargettableModel, valueChanged
 
Methods inherited from class javax.swing.JList
addListSelectionListener, addSelectionInterval, clearSelection, createSelectionModel, ensureIndexIsVisible, fireSelectionValueChanged, getAccessibleContext, getAnchorSelectionIndex, getCellBounds, getCellRenderer, getDragEnabled, getFirstVisibleIndex, getFixedCellHeight, getFixedCellWidth, getLastVisibleIndex, getLayoutOrientation, getLeadSelectionIndex, getListSelectionListeners, getMaxSelectionIndex, getMinSelectionIndex, getModel, getNextMatch, getPreferredScrollableViewportSize, getPrototypeCellValue, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getSelectedIndex, getSelectedIndices, getSelectedValue, getSelectedValues, getSelectionBackground, getSelectionForeground, getSelectionMode, getSelectionModel, getToolTipText, getUI, getUIClassID, getValueIsAdjusting, getVisibleRowCount, indexToLocation, isSelectedIndex, isSelectionEmpty, locationToIndex, paramString, removeListSelectionListener, removeSelectionInterval, setCellRenderer, setDragEnabled, setFixedCellHeight, setFixedCellWidth, setLayoutOrientation, setListData, setListData, setModel, setPrototypeCellValue, setSelectedIndex, setSelectedIndices, setSelectedValue, setSelectionBackground, setSelectionForeground, setSelectionInterval, setSelectionMode, setSelectionModel, setUI, setValueIsAdjusting, setVisibleRowCount, 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, 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
 

Field Detail

_delete

private boolean _delete

_add

private boolean _add

_new

private boolean _new

_popupMenu

private javax.swing.JPopupMenu _popupMenu

_addAction

private AbstractActionAddModelElement _addAction

_newAction

private AbstractActionNewModelElement _newAction

_deleteAction

private AbstractActionRemoveElement _deleteAction
Constructor Detail

UMLMutableLinkedList

public UMLMutableLinkedList(UMLModelElementListModel2 dataModel,
                            AbstractActionAddModelElement addAction,
                            AbstractActionNewModelElement newAction,
                            AbstractActionRemoveElement deleteAction,
                            boolean showIcon)
Constructor that should be used if the developer wishes the popupmenu to be constructed via the actions (as described in the javadoc of this class itself).

Parameters:
dataModel -

UMLMutableLinkedList

public UMLMutableLinkedList(UMLModelElementListModel2 dataModel,
                            AbstractActionAddModelElement addAction,
                            AbstractActionNewModelElement newAction)

UMLMutableLinkedList

public UMLMutableLinkedList(UMLModelElementListModel2 dataModel,
                            javax.swing.JPopupMenu popup,
                            boolean showIcon)
Constructor that should be used if the developer wishes a customized popupmenu.

Parameters:
dataModel -
popup -

UMLMutableLinkedList

public UMLMutableLinkedList(UMLModelElementListModel2 dataModel,
                            javax.swing.JPopupMenu popup)
Method Detail

isAdd

public boolean isAdd()
Returns the add.

Returns:
boolean

isDelete

public boolean isDelete()
Returns the delete.

Returns:
boolean

isNew

public boolean isNew()
Returns the new.

Returns:
boolean

setDelete

public void setDelete(boolean delete)
Sets the delete.

Parameters:
delete - The delete to set

getAddAction

public AbstractActionAddModelElement getAddAction()
Returns the addAction.

Returns:
UMLChangeAction

getNewAction

public AbstractActionNewModelElement getNewAction()
Returns the newAction.

Returns:
UMLChangeAction

setAddAction

public void setAddAction(AbstractActionAddModelElement addAction)
Sets the addAction.

Parameters:
addAction - The addAction to set

setNewAction

public void setNewAction(AbstractActionNewModelElement newAction)
Sets the newAction.

Parameters:
newAction - The newAction to set

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent e)
Specified by:
mouseReleased in interface java.awt.event.MouseListener
Overrides:
mouseReleased in class UMLLinkedList
See Also:
MouseListener.mouseReleased( java.awt.event.MouseEvent)

mousePressed

public void mousePressed(java.awt.event.MouseEvent e)
Specified by:
mousePressed in interface java.awt.event.MouseListener
Overrides:
mousePressed in class UMLLinkedList
See Also:
MouseListener.mousePressed(java.awt.event.MouseEvent)

getPopupMenu

public javax.swing.JPopupMenu getPopupMenu()
Returns the popupMenu.

Returns:
JPopupMenu

setPopupMenu

public void setPopupMenu(javax.swing.JPopupMenu popupMenu)
Sets the popupMenu.

Parameters:
popupMenu - The popupMenu to set

getDeleteAction

public AbstractActionRemoveElement getDeleteAction()
Returns the deleteAction.

Returns:
AbstractActionRemoveElement

setDeleteAction

public void setDeleteAction(AbstractActionRemoveElement deleteAction)
Sets the deleteAction.

Parameters:
deleteAction - The deleteAction to set

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent e)
Specified by:
mouseClicked in interface java.awt.event.MouseListener
Overrides:
mouseClicked in class UMLLinkedList
See Also:
MouseListener.mouseClicked(java.awt.event.MouseEvent)


ArgoUML © 1996-2004 (20040306)ArgoUML HomepageArgoUML Developers' pageArgoUML Cookbook