turingmachine
Class CTMComponentView

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by turingmachine.CTMComponentView
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

class CTMComponentView
extends javax.swing.JComponent

Component that handles a view of a document.


Nested Class Summary
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private static java.awt.Cursor cursor_createComment
           
private static java.awt.Cursor cursor_createState
           
private  int gridMinorSpacing
           
private  boolean isShowingGrid
           
private  boolean isSnapToGrid
           
private  CTMComponentControl mControlComponent
          The control for modifying link curves.
private  CTMDocument mDocument
          The document this view is a view of.
private  CTMComponentDragSelectArea mDragArea
          The control for moving multiple states.
private  CTMComponentArrow mLinkArrow
          The editing arrow for adding links.
 
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
CTMComponentView(CTMDocument aDocument)
          Constructor.
 
Method Summary
 void checkSize()
          Check the document is large enough to hold its components.
 CTMComponentArrow getArrowComponent()
          Get the arrow component used for linking states together.
 CTMComponent getComponentByData(CTMData aData)
          Get the Component that data is referred to in.
 CTMComponentControl getControlComponent()
          Get the control component used for modifying links curvature.
 java.awt.Cursor getCursor()
          Get the correct cursor for the current tool and cursor position.
 CTMDocument getDocument()
          Get the document this view is rendering.
 int getGridMajorSpacing()
           
 int getGridMinorMarks()
           
 int getGridMinorSpacing()
           
 int getSelectedTool()
          Get the application currently selected tool.
 boolean isSelected()
          Returns whether or not the parent window is in the foreground.
 boolean isShowingGrid()
          Returns whether or not the grid is showing.
 boolean isSnapToGrid()
           
 boolean isSnapToGrid(java.awt.event.MouseEvent e)
          Returns whether or not components should snap to grid.
 void paint(java.awt.Graphics g)
          Paint the view.
 void setGridMinorSpacing(int value)
           
 void sync()
          Sync this view with its document.
 void syncComponents(java.awt.Container container)
          Go through all components in container and make sure: - they still exist in the document? - they don't need syncing
private  void this_mouseDragged(java.awt.event.MouseEvent e)
          Performs tool move event.
private  void this_mousePressed(java.awt.event.MouseEvent e)
          Performs tool on a click event.
private  void this_mouseReleased(java.awt.event.MouseEvent e)
          Performs tool release event.
 void toggleGrid()
           
 void toggleSnapToGrid()
           
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, 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, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, 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, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, 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

mDocument

private CTMDocument mDocument
The document this view is a view of.


mLinkArrow

private CTMComponentArrow mLinkArrow
The editing arrow for adding links.


mControlComponent

private CTMComponentControl mControlComponent
The control for modifying link curves.


mDragArea

private CTMComponentDragSelectArea mDragArea
The control for moving multiple states.


isShowingGrid

private boolean isShowingGrid

isSnapToGrid

private boolean isSnapToGrid

gridMinorSpacing

private int gridMinorSpacing

cursor_createState

private static java.awt.Cursor cursor_createState

cursor_createComment

private static java.awt.Cursor cursor_createComment
Constructor Detail

CTMComponentView

public CTMComponentView(CTMDocument aDocument)
Constructor.

Parameters:
aDocument - The document that this component is a view of.
Method Detail

toggleGrid

public void toggleGrid()

isShowingGrid

public boolean isShowingGrid()
Returns whether or not the grid is showing.

Returns:
boolean true if the grid is showing.

getGridMinorMarks

public int getGridMinorMarks()

getGridMajorSpacing

public int getGridMajorSpacing()

setGridMinorSpacing

public void setGridMinorSpacing(int value)

getGridMinorSpacing

public int getGridMinorSpacing()

toggleSnapToGrid

public void toggleSnapToGrid()

isSnapToGrid

public boolean isSnapToGrid()

isSnapToGrid

public boolean isSnapToGrid(java.awt.event.MouseEvent e)
Returns whether or not components should snap to grid.

Parameters:
e - The mouse event that caused this method to be called.
Returns:
boolean true if components are to snap to grid.

isSelected

public boolean isSelected()
Returns whether or not the parent window is in the foreground.

Returns:
boolean True if the parent window is selected.

paint

public void paint(java.awt.Graphics g)
Paint the view.

Overrides:
paint in class javax.swing.JComponent
Parameters:
g - The graphics context to paint to.

getCursor

public java.awt.Cursor getCursor()
Get the correct cursor for the current tool and cursor position.

Overrides:
getCursor in class java.awt.Component
Returns:
The cursor to use.

getArrowComponent

public CTMComponentArrow getArrowComponent()
Get the arrow component used for linking states together.

Returns:
This views arrow component.

getControlComponent

public CTMComponentControl getControlComponent()
Get the control component used for modifying links curvature.

Returns:
This views control component.

getDocument

public CTMDocument getDocument()
Get the document this view is rendering.

Returns:
The document that this view represents.

this_mousePressed

private void this_mousePressed(java.awt.event.MouseEvent e)
Performs tool on a click event.

Parameters:
e - The mouse pressed event.

this_mouseDragged

private void this_mouseDragged(java.awt.event.MouseEvent e)
Performs tool move event.

Parameters:
e - The mouse pressed event.

this_mouseReleased

private void this_mouseReleased(java.awt.event.MouseEvent e)
Performs tool release event.

Parameters:
e - The mouse pressed event.

getComponentByData

public CTMComponent getComponentByData(CTMData aData)
Get the Component that data is referred to in.

Parameters:
aData - The data the defines a components parameters.
Returns:
The component if found, else null.

sync

public void sync()
Sync this view with its document.


syncComponents

public void syncComponents(java.awt.Container container)
Go through all components in container and make sure: - they still exist in the document? - they don't need syncing

Parameters:
container - Container

getSelectedTool

public int getSelectedTool()
Get the application currently selected tool.

Returns:
Current tool in use by user.

checkSize

public void checkSize()
Check the document is large enough to hold its components.