org.argouml.uml.ui
Class UMLMutableLinkedList

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JList
                  extended byorg.argouml.uml.ui.UMLList2
                      extended byorg.argouml.uml.ui.UMLLinkedList
                          extended byorg.argouml.uml.ui.UMLMutableLinkedList
All Implemented Interfaces:
Accessible, EventListener, ImageObserver, MenuContainer, MouseListener, Scrollable, Serializable, TargettableModelView
Direct Known Subclasses:
UMLCompositeStateSubvertexList, UMLStateDoActivityList, UMLStateEntryList, UMLStateExitList, UMLTransitionEffectList, UMLTransitionTriggerList

public class UMLMutableLinkedList
extends UMLLinkedList
implements MouseListener

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
           
 
Nested classes inherited from class javax.swing.JList
JList.AccessibleJList
 
Nested classes inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
private  AbstractActionAddModelElement addAction
           
private  boolean addPossible
           
private  AbstractActionRemoveElement deleteAction
           
private  boolean deletePossible
           
private  AbstractActionNewModelElement newAction
           
private  boolean newPossible
           
private  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
protected UMLMutableLinkedList(UMLModelElementListModel2 dataModel)
          The constructor.
  UMLMutableLinkedList(UMLModelElementListModel2 dataModel, AbstractActionAddModelElement theAddAction)
          The constructor.
  UMLMutableLinkedList(UMLModelElementListModel2 dataModel, AbstractActionAddModelElement theAddAction, AbstractActionNewModelElement theNewAction)
          The constructor.
  UMLMutableLinkedList(UMLModelElementListModel2 dataModel, AbstractActionAddModelElement theAddAction, AbstractActionNewModelElement theNewAction, AbstractActionRemoveElement theDeleteAction, 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, AbstractActionNewModelElement theNewAction)
          The constructor.
  UMLMutableLinkedList(UMLModelElementListModel2 dataModel, JPopupMenu popup)
          Constructor that should be used if the developer wishes a customized popupmenu, without icons.
  UMLMutableLinkedList(UMLModelElementListModel2 dataModel, 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.
 JPopupMenu getPopupMenu()
          Returns the popupMenu.
 boolean isAdd()
          Returns the add.
 boolean isDelete()
          Returns the delete.
 boolean isNew()
          Returns the new.
 void mouseClicked(MouseEvent e)
           
 void mouseEntered(MouseEvent e)
           
 void mouseExited(MouseEvent e)
           
 void mousePressed(MouseEvent e)
           
 void mouseReleased(MouseEvent e)
           
 void setAddAction(AbstractActionAddModelElement action)
          Sets the addAction.
 void setDelete(boolean delete)
          Sets the delete.
 void setDeleteAction(AbstractActionRemoveElement action)
          Sets the deleteAction.
 void setNewAction(AbstractActionNewModelElement action)
          Sets the newAction.
 void setPopupMenu(JPopupMenu menu)
          Sets the popupMenu.
 
Methods inherited from class org.argouml.uml.ui.UMLList2
getTarget, getTargettableModel
 
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

deletePossible

private boolean deletePossible

addPossible

private boolean addPossible

newPossible

private boolean newPossible

popupMenu

private JPopupMenu popupMenu

addAction

private AbstractActionAddModelElement addAction

newAction

private AbstractActionNewModelElement newAction

deleteAction

private AbstractActionRemoveElement deleteAction
Constructor Detail

UMLMutableLinkedList

public UMLMutableLinkedList(UMLModelElementListModel2 dataModel,
                            AbstractActionAddModelElement theAddAction,
                            AbstractActionNewModelElement theNewAction,
                            AbstractActionRemoveElement theDeleteAction,
                            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 - the data model
theAddAction - the action for adding
theNewAction - the action for new
theDeleteAction - the action for deleting
showIcon - true if an icon should be shown

UMLMutableLinkedList

public UMLMutableLinkedList(UMLModelElementListModel2 dataModel,
                            AbstractActionAddModelElement theAddAction,
                            AbstractActionNewModelElement theNewAction)
The constructor.

Parameters:
dataModel - the data model
theAddAction - the action for adding
theNewAction - the action for new

UMLMutableLinkedList

public UMLMutableLinkedList(UMLModelElementListModel2 dataModel,
                            AbstractActionAddModelElement theAddAction)
The constructor.

Parameters:
dataModel - the data model
theAddAction - the action for adding

UMLMutableLinkedList

public UMLMutableLinkedList(UMLModelElementListModel2 dataModel,
                            AbstractActionNewModelElement theNewAction)
The constructor.

Parameters:
dataModel - the data model
theNewAction - the action for new

UMLMutableLinkedList

protected UMLMutableLinkedList(UMLModelElementListModel2 dataModel)
The constructor.

Parameters:
dataModel - the data model

UMLMutableLinkedList

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

Parameters:
dataModel - the data model
popup - the popup menu
showIcon - true if an icon should be shown

UMLMutableLinkedList

public UMLMutableLinkedList(UMLModelElementListModel2 dataModel,
                            JPopupMenu popup)
Constructor that should be used if the developer wishes a customized popupmenu, without icons.

Parameters:
dataModel - the data model
popup - the popup menu
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 action)
Sets the addAction.

Parameters:
action - The addAction to set

setNewAction

public void setNewAction(AbstractActionNewModelElement action)
Sets the newAction.

Parameters:
action - The newAction to set

mouseReleased

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

mousePressed

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

getPopupMenu

public JPopupMenu getPopupMenu()
Returns the popupMenu.

Returns:
JPopupMenu

setPopupMenu

public void setPopupMenu(JPopupMenu menu)
Sets the popupMenu.

Parameters:
menu - The popupMenu to set

getDeleteAction

public AbstractActionRemoveElement getDeleteAction()
Returns the deleteAction.

Returns:
AbstractActionRemoveElement

setDeleteAction

public void setDeleteAction(AbstractActionRemoveElement action)
Sets the deleteAction.

Parameters:
action - The deleteAction to set

mouseClicked

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

mouseEntered

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

mouseExited

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


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