cz.psika.numerist
Class Diagram

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by cz.psika.numerist.DiagramCanvas
                  extended by cz.psika.numerist.Diagram
All Implemented Interfaces:
History, Item, ItemObservable, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.lang.Cloneable
Direct Known Subclasses:
EmptyDiagram

public class Diagram
extends DiagramCanvas

Diagram. It supports DnD operations and handle miscellaneous mouse events. Diagram changes it's behaviour according to current application context.

Author:
Tomas Psika
See Also:
Serialized Form

Nested Class Summary
protected  class Diagram.MouseInputHandler
          Class used to handle all mouse events, drag and drop inclusive.
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  int dragSourceActions
          Drag and drop supported actions.
protected  int dropTargetActions
          Drop target actions.
protected  Diagram.MouseInputHandler mouseInputHandler
          Mouse event handler.
 
Fields inherited from class cz.psika.numerist.DiagramCanvas
activeRectangle, ARROW_TRIANGLE_ANGLE, arrowhead, arrowLineStroke, BACKGROUND_COLOR, BORDER_COLOR, CIRCLE_COLOR, circleColors, circleLineStroke, circleRects, colLines, currentSize, DEFAULT_DIMENSION, diagonalLineStroke, dImage, empty, entry, HIGHLIGHT_GRID_CELL_COLOR, HIGHLIGHT_LINE_COLOR, innerDiagonalLines, INVISIBLE_COLOR, isThumbnail, MAX_NUMBER_OF_CIRCLE_COLORS, NO_RECTANGLE_ACTIVE, NO_TOGGLE_BORDER, numberColors, observers, outerDiagonalLine, paintError, PLACE_BACKGROUND_COLOR, rects, rowLines, style, tmpLine, TOGGLE_BORDER
 
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
protected Diagram()
          We need empty diagram canvas here.
  Diagram(Entry entry, boolean setThumbnail)
          Constructor creates and shows diagram canvas and attaches mouse listeners and registers support for simple DnD operations.
 
Method Summary
protected  void addDragAndDropSupport()
          This object derived from DiagramCanvas class could serve as drop target and drag source too.
 Diagram.MouseInputHandler getMouseInputHandler()
          Get attached mouse input handler.
 
Methods inherited from class cz.psika.numerist.DiagramCanvas
addObserver, clone, createMemento, deleteObserver, drawArrows, drawArrowsIf, drawCircles, drawGrid, drawNumbers, equals, fetchEntry, forceRepaint, getEntry, initRects, isCopy, isEmpty, isThumbnail, notifyObservers, paintComponent, refresh, setBorder, setEntry, setMemento, setNewSize
 
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, getBaseline, getBaselineResizeBehavior, 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, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printComponent, printChildren, 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, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, 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, checkImage, checkImage, 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, transferFocusBackward, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

mouseInputHandler

protected Diagram.MouseInputHandler mouseInputHandler
Mouse event handler.


dragSourceActions

protected int dragSourceActions
Drag and drop supported actions.


dropTargetActions

protected int dropTargetActions
Drop target actions.

Constructor Detail

Diagram

public Diagram(Entry entry,
               boolean setThumbnail)
Constructor creates and shows diagram canvas and attaches mouse listeners and registers support for simple DnD operations.

Parameters:
entry - entry for initialization
setThumbnail - what type of diagram we need

Diagram

protected Diagram()
We need empty diagram canvas here. This constructor make some simple diagram that draws simple rectangle filled with default color in the center. Mouse listeners and DnD support must also be provided. This diagram serves as possible drop target.

Method Detail

addDragAndDropSupport

protected void addDragAndDropSupport()
This object derived from DiagramCanvas class could serve as drop target and drag source too. Thumbnails could not be considered as drop target.


getMouseInputHandler

public Diagram.MouseInputHandler getMouseInputHandler()
Get attached mouse input handler.

Returns:
attached MouseInputHandler object, wrapper for listening mouse and drag and drop events