uk.ac.ic.doc.y2002.tool.editor
Class NodeLabel

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JLabel
                          |
                          +--uk.ac.ic.doc.y2002.tool.editor.PNLabel
                                |
                                +--uk.ac.ic.doc.y2002.tool.editor.NodeLabel
All Implemented Interfaces:
javax.accessibility.Accessible, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.io.Serializable, javax.swing.SwingConstants
Direct Known Subclasses:
PlaceLabel, SubnetLabel, TransitionLabel

public class NodeLabel
extends PNLabel
implements java.awt.event.MouseListener, java.awt.event.MouseMotionListener

Superclass for node elements in the Petri net, such as places and transitions. This class should not be instantiated.

See Also:
Serialized Form

Inner classes inherited from class javax.swing.JLabel
javax.swing.JLabel.AccessibleJLabel
 
Inner classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Inner classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent
 
Fields inherited from class uk.ac.ic.doc.y2002.tool.editor.PNLabel
beingMoved, contextmenu, element, fillcolour, firsttime, height, highlightfill, id, lastX, lastY, normalfill, ns, offset, propertiesbox, rotation, scaling, selected, textspace, width, xoffset, xPress, yoffset, yPress
 
Fields inherited from class javax.swing.JLabel
labelFor
 
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 javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NORTH, NORTH_EAST, NORTH_WEST, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
NodeLabel(org.jdom.Element e)
           
 
Method Summary
 void addInputArc(ArcLabel a)
          typically called when a new arc is added to the net.
 void addOutputArc(ArcLabel a)
          typically called when a new arc is added to the net.
 void addRefNodeSource(NodeLabel node)
          typically called when a new refLink is added to the net.
 void addRefNodeTarget(NodeLabel node)
          typically called when a new refLink is added to the net.
 void clearInputArcs()
          empties the local list of references to input ArcLabels
 void clearOutputArcs()
          empties the local list of references to output ArcLabels
 java.util.List getInputArcs()
          returns the local list of references to input ArcLabels
 java.util.List getLinkedLabels()
          Override in subclasses to return a list of PNLabels which are linked to this PNLabel.
 java.lang.String getName()
           
 java.util.List getOutputArcs()
          returns the local list of references to output ArcLabels
 java.util.List getRefNodeSources()
          returns a list of refNodeSource elements
 NodeLabel getRefNodeTarget()
          returns the refNodeTarget element
 boolean isActive()
          A node is active if all of its input arcs are active - this function queries the arcs.
 boolean isActive(int number)
          A new version of isActive() - allows more specific queries, taking arc weights and numbers of tokens into account.
static org.jdom.Element makeName(java.lang.String myName, org.jdom.Namespace ns)
          Function to create a name element used by NodeLabel elements (places and transitions etc.).
 void notifySource()
           
 void paintComponent(java.awt.Graphics g)
          The function which draws the PNLabel on screen.
 boolean referenceTarget()
           
 DisplayPane remove()
          Called when a label is asked to remove itself from the DisplayPane
 void removeInputArc(ArcLabel a)
          typically called when an arc is removed from the net.
 void removeOutputArc(ArcLabel a)
          typically called when an arc is removed from the net.
 void removeReference()
           
 void removeReferenceLabel()
           
 void removeRefNodeSource(NodeLabel node)
          typically called when a refLink is removed from the net.
 void removeRefNodeTarget()
          typically called when a refLink is removed from the net.
 void removeTargetSourceEntry(NodeLabel source)
           
 void setPosition(int x, int y)
          Updates DOM with new values and sets the label position - - also updates connected arcs
 void updateReferences()
           
 
Methods inherited from class uk.ac.ic.doc.y2002.tool.editor.PNLabel
addToken, changeElement, dofirst, doubleclickAction, getDisplayPane, getID, getJX, getJY, getPreferredSize, getToolspecific, highlight, makeGraphics, makeToolspecific, mouseClicked, mouseDragged, mouseEntered, mouseExited, mouseMoved, mousePressed, mouseReleased, myElementName, remToken, returnElement, returnSelected, select, selectOnly, setJX, setJY, showContextMenu, updateBounds, updateLocation, updateLocation, updatePosition, updateSelf
 
Methods inherited from class javax.swing.JLabel
checkHorizontalKey, checkVerticalKey, getAccessibleContext, getDisabledIcon, getDisplayedMnemonic, getHorizontalAlignment, getHorizontalTextPosition, getIcon, getIconTextGap, getLabelFor, getText, getUI, getUIClassID, getVerticalAlignment, getVerticalTextPosition, imageUpdate, paramString, setDisabledIcon, setDisplayedMnemonic, setDisplayedMnemonic, setHorizontalAlignment, setHorizontalTextPosition, setIcon, setIconTextGap, setLabelFor, setText, setUI, setVerticalAlignment, setVerticalTextPosition, 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, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVerifyInputWhenFocusTarget, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, hide, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getLayout, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setLayout, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, inside, isDisplayable, isEnabled, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.event.MouseListener
mouseClicked, mouseEntered, mouseExited, mousePressed, mouseReleased
 
Methods inherited from interface java.awt.event.MouseMotionListener
mouseDragged, mouseMoved
 

Constructor Detail

NodeLabel

public NodeLabel(org.jdom.Element e)
Method Detail

remove

public DisplayPane remove()
Called when a label is asked to remove itself from the DisplayPane
Overrides:
remove in class PNLabel
Returns:
DisplayPane

removeTargetSourceEntry

public void removeTargetSourceEntry(NodeLabel source)

removeReference

public void removeReference()

referenceTarget

public boolean referenceTarget()

notifySource

public void notifySource()

removeReferenceLabel

public void removeReferenceLabel()

makeName

public static org.jdom.Element makeName(java.lang.String myName,
                                        org.jdom.Namespace ns)
Function to create a name element used by NodeLabel elements (places and transitions etc.).
Returns:
Element

paintComponent

public void paintComponent(java.awt.Graphics g)
Description copied from class: PNLabel
The function which draws the PNLabel on screen. Overridden in subclasses of PNLabel.
Overrides:
paintComponent in class PNLabel

getName

public java.lang.String getName()
Overrides:
getName in class java.awt.Component
Returns:
name of Petri Net object (not necessarily the same as the id)

addRefNodeTarget

public void addRefNodeTarget(NodeLabel node)
typically called when a new refLink is added to the net.

addRefNodeSource

public void addRefNodeSource(NodeLabel node)
typically called when a new refLink is added to the net.

getRefNodeSources

public java.util.List getRefNodeSources()
returns a list of refNodeSource elements
Returns:
java.util.List

getRefNodeTarget

public NodeLabel getRefNodeTarget()
returns the refNodeTarget element
Returns:
NodeLabel

removeRefNodeTarget

public void removeRefNodeTarget()
typically called when a refLink is removed from the net.

removeRefNodeSource

public void removeRefNodeSource(NodeLabel node)
typically called when a refLink is removed from the net.

addInputArc

public void addInputArc(ArcLabel a)
typically called when a new arc is added to the net.

addOutputArc

public void addOutputArc(ArcLabel a)
typically called when a new arc is added to the net.

removeOutputArc

public void removeOutputArc(ArcLabel a)
typically called when an arc is removed from the net.
See Also:
ArcLabel

removeInputArc

public void removeInputArc(ArcLabel a)
typically called when an arc is removed from the net.
See Also:
ArcLabel

clearInputArcs

public void clearInputArcs()
empties the local list of references to input ArcLabels

clearOutputArcs

public void clearOutputArcs()
empties the local list of references to output ArcLabels

getInputArcs

public java.util.List getInputArcs()
returns the local list of references to input ArcLabels

getOutputArcs

public java.util.List getOutputArcs()
returns the local list of references to output ArcLabels

isActive

public boolean isActive(int number)
A new version of isActive() - allows more specific queries, taking arc weights and numbers of tokens into account.
See Also:
PlaceLabel

isActive

public boolean isActive()
A node is active if all of its input arcs are active - this function queries the arcs.
Overrides:
isActive in class PNLabel

setPosition

public void setPosition(int x,
                        int y)
Updates DOM with new values and sets the label position - - also updates connected arcs
Overrides:
setPosition in class PNLabel
Following copied from class: uk.ac.ic.doc.y2002.tool.editor.PNLabel
Parameters:
x - the x position on screen
y - the y position on screen

getLinkedLabels

public java.util.List getLinkedLabels()
Description copied from class: PNLabel
Override in subclasses to return a list of PNLabels which are linked to this PNLabel.
Overrides:
getLinkedLabels in class PNLabel
Following copied from class: uk.ac.ic.doc.y2002.tool.editor.PNLabel
Returns:
a List of PNLabels which are linked to this PNLabel.

updateReferences

public void updateReferences()