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

Field Summary
 
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.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
 

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-2003 (20040216)ArgoUML Project HomeArgoUML Cookbook