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

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
                                      |
                                      +--uk.ac.ic.doc.y2002.tool.editor.PlaceLabel
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:
ReferencePlaceLabel

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

The PlaceLabel represents a place on screen. It has access functions for the number of tokens on the place (the Marking). It can also be tested to see if it is active, given a number of required tokens.

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
 
Field Summary
protected  int radius
           
protected  int tokenradius
           
 
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
PlaceLabel(org.jdom.Element e)
           
 
Method Summary
 void addToken()
          Use this function to add a token to the place.
 void addToken(int number)
          Use this function to add a specified number of tokens to the place.
protected  void drawToken(java.awt.Graphics2D g2, int centre, int xoffset, int yoffset)
          Used in drawTokens()
protected  void drawTokens(java.awt.Graphics2D g2)
          Draws tokens: hardcoded for 0 - 9; any higher simply prints the number.
 int getMarking()
          Gets the Marking value from the JDOM Document (the number of tokens on the place).
 boolean isActive()
          Should not be called on this class.
 boolean isActive(int tokenno)
          Queries if a place is active.
static org.jdom.Element makeElement(java.lang.Integer x, java.lang.Integer y, java.lang.String id, org.jdom.Namespace ns)
          Function to create a new place element.
static org.jdom.Element makeMarking(org.jdom.Namespace ns)
          Function to create an initial marking used by new places.
 void paintComponent(java.awt.Graphics g)
          Paints the Circle and the Tokens.
protected  void paintName(java.awt.Graphics2D g2)
           
 void remToken()
          Use this function to remove a token from the place.
 void remToken(int number)
          Use this function to remove the specified number of tokens from the place.
protected  void setMarking(int t)
          Sets the Marking value in the JDOM Document.
 void updateBounds()
          may be overridden to deal with different sizes and shapes of labels.
 
Methods inherited from class uk.ac.ic.doc.y2002.tool.editor.NodeLabel
addInputArc, addOutputArc, addRefNodeSource, addRefNodeTarget, clearInputArcs, clearOutputArcs, getInputArcs, getLinkedLabels, getName, getOutputArcs, getRefNodeSources, getRefNodeTarget, makeName, notifySource, referenceTarget, remove, removeInputArc, removeOutputArc, removeReference, removeReferenceLabel, removeRefNodeSource, removeRefNodeTarget, removeTargetSourceEntry, setPosition, updateReferences
 
Methods inherited from class uk.ac.ic.doc.y2002.tool.editor.PNLabel
changeElement, dofirst, doubleclickAction, getDisplayPane, getID, getJX, getJY, getPreferredSize, getToolspecific, highlight, makeGraphics, makeToolspecific, mouseClicked, mouseDragged, mouseEntered, mouseExited, mouseMoved, mousePressed, mouseReleased, myElementName, returnElement, returnSelected, select, selectOnly, setJX, setJY, showContextMenu, 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
 

Field Detail

radius

protected int radius

tokenradius

protected int tokenradius
Constructor Detail

PlaceLabel

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

updateBounds

public void updateBounds()
Description copied from class: PNLabel
may be overridden to deal with different sizes and shapes of labels.
Overrides:
updateBounds in class PNLabel

getMarking

public int getMarking()
Gets the Marking value from the JDOM Document (the number of tokens on the place). Defaults to 0.

setMarking

protected void setMarking(int t)
Sets the Marking value in the JDOM Document. Protected: usually addToken and remToken should be used.
See Also:
addToken(), remToken()

paintComponent

public void paintComponent(java.awt.Graphics g)
Paints the Circle and the Tokens.
Overrides:
paintComponent in class NodeLabel
See Also:
drawTokens(Graphics2D g2)

paintName

protected void paintName(java.awt.Graphics2D g2)

drawTokens

protected void drawTokens(java.awt.Graphics2D g2)
Draws tokens: hardcoded for 0 - 9; any higher simply prints the number.

drawToken

protected void drawToken(java.awt.Graphics2D g2,
                         int centre,
                         int xoffset,
                         int yoffset)
Used in drawTokens()
See Also:
drawTokens(Graphics2D g2)

makeElement

public static org.jdom.Element makeElement(java.lang.Integer x,
                                           java.lang.Integer y,
                                           java.lang.String id,
                                           org.jdom.Namespace ns)
Function to create a new place element.

makeMarking

public static org.jdom.Element makeMarking(org.jdom.Namespace ns)
Function to create an initial marking used by new places.

isActive

public boolean isActive(int tokenno)
Queries if a place is active.
Overrides:
isActive in class NodeLabel
Parameters:
tokenno - The number of tokens that the place must have to be active.

isActive

public boolean isActive()
Should not be called on this class. Use isActive(int tokenno) instead.
Overrides:
isActive in class NodeLabel
Returns:
false

addToken

public void addToken()
Use this function to add a token to the place.
Overrides:
addToken in class PNLabel
See Also:
addToken(int number), remToken(), remToken(int number)

addToken

public void addToken(int number)
Use this function to add a specified number of tokens to the place.
See Also:
addToken(), remToken(), remToken(int number)

remToken

public void remToken()
Use this function to remove a token from the place.
Overrides:
remToken in class PNLabel
See Also:
remToken(), addToken(), addToken(int number)

remToken

public void remToken(int number)
Use this function to remove the specified number of tokens from the place.
See Also:
remToken(int number), addToken(), addToken(int number)