net.sourceforge.toscanaj.view.diagram
Class DiagramView

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended byorg.tockit.canvas.Canvas
                      extended bynet.sourceforge.toscanaj.view.diagram.DiagramView
All Implemented Interfaces:
javax.accessibility.Accessible, ChangeObserver, java.awt.image.ImageObserver, java.awt.MenuContainer, java.awt.print.Printable, java.io.Serializable

public class DiagramView
extends org.tockit.canvas.Canvas
implements ChangeObserver

This class paints a diagram defined by the SimpleLineDiagram class.

See Also:
Serialized Form
To do:
get rid of ChangeObserver, use EventBroker.

Nested Class Summary
 
Nested classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
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
static int NO_SELECTION
          Currently we don't use selection.
static int NOT_SELECTED
          Node displays nothing selected
static int SELECTED_DIRECTLY
          Node displays the currently selected concept.
static int SELECTED_FILTER
          Node displays a concept in the filter of the currently selected concept.
static int SELECTED_IDEAL
          Node displays a concept in the ideal of the currently selected concept.
 
Fields inherited from class org.tockit.canvas.Canvas
canvasLayers, itemsToRaise, layerNameMapping
 
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.print.Printable
NO_SUCH_PAGE, PAGE_EXISTS
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
DiagramView()
          Creates a new view displaying an empty diagram (i.e.&#nbsp;nothing at all).
 
Method Summary
protected  void dragFinished(java.awt.event.MouseEvent e)
           
 LabelView.LabelFactory getAttributeLabelFactory()
           
 ConceptInterpretationContext getConceptInterpretationContext()
           
 ConceptInterpreter getConceptInterpreter()
           
 Diagram2D getDiagram()
           
 DiagramSchema getDiagramSchema()
           
 double getMinimumFontSize()
           
 LabelView.LabelFactory getObjectLabelFactory()
           
 org.tockit.swing.undo.ExtendedUndoManager getUndoManager()
           
protected  boolean isScreenTransformDirty()
           
protected  void makeScreenTransformClear()
           
 void paintComponent(java.awt.Graphics g)
          Paints the diagram on the screen.
 void requestScreenTransformUpdate()
           
 void setAttributeLabelFactory(LabelView.LabelFactory attributeLabelFactory)
           
 void setConceptInterpretationContext(ConceptInterpretationContext conceptInterpretationContext)
           
 void setConceptInterpreter(ConceptInterpreter conceptInterpreter)
           
 void setDiagramSchema(DiagramSchema schema)
           
 void setDisplayType(boolean contingentOnly)
           
 void setFilterMode(boolean filterMode)
           
 void setMinimumFontSize(double minimumFontSize)
           
 void setObjectLabelFactory(LabelView.LabelFactory objectLabelFactory)
          This changes the object labels created for new diagrams.
 void setQuery(Query query)
          Sets all object label views to use this query when asking their concepts.
 void setSelectedConcepts(Concept[] concepts)
           
 void setUndoManager(org.tockit.swing.undo.ExtendedUndoManager undoManager)
           
 void showDiagram(Diagram2D newDiagram)
          Sets the given diagram as new diagram to display.
 void update(java.lang.Object source)
          Implements ChangeObserver.update(Object) by repainting the diagram.
 void updateDiagram()
           
 void updateLabelEntries()
           
 
Methods inherited from class org.tockit.canvas.Canvas
addCanvasItem, addCanvasItem, addLayer, clearCanvas, getBackgroundItem, getCanvasCoordinates, getCanvasItemAt, getCanvasItems, getCanvasItemsAt, getCanvasItemsByType, getCanvasSize, getClosestPointOnGrid, getController, getGridCellHeight, getGridCellWidth, getScreenTransform, hasGridEnabled, hasLayer, paintCanvas, print, raiseItem, removeCanvasItem, removeLayer, scaleToFit, setGrid, setGridEnabled, setScreenTransform
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, 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, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, 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

NO_SELECTION

public static final int NO_SELECTION
Currently we don't use selection.

See Also:
Constant Field Values

NOT_SELECTED

public static final int NOT_SELECTED
Node displays nothing selected

See Also:
Constant Field Values

SELECTED_DIRECTLY

public static final int SELECTED_DIRECTLY
Node displays the currently selected concept.

See Also:
Constant Field Values

SELECTED_FILTER

public static final int SELECTED_FILTER
Node displays a concept in the filter of the currently selected concept.

See Also:
Constant Field Values

SELECTED_IDEAL

public static final int SELECTED_IDEAL
Node displays a concept in the ideal of the currently selected concept.

See Also:
Constant Field Values
Constructor Detail

DiagramView

public DiagramView()
Creates a new view displaying an empty diagram (i.e.&#nbsp;nothing at all).

Method Detail

getConceptInterpreter

public ConceptInterpreter getConceptInterpreter()

setConceptInterpreter

public void setConceptInterpreter(ConceptInterpreter conceptInterpreter)

setConceptInterpretationContext

public void setConceptInterpretationContext(ConceptInterpretationContext conceptInterpretationContext)

setFilterMode

public void setFilterMode(boolean filterMode)

dragFinished

protected void dragFinished(java.awt.event.MouseEvent e)

requestScreenTransformUpdate

public void requestScreenTransformUpdate()

update

public void update(java.lang.Object source)
Implements ChangeObserver.update(Object) by repainting the diagram.

Specified by:
update in interface ChangeObserver

updateDiagram

public void updateDiagram()

isScreenTransformDirty

protected boolean isScreenTransformDirty()

paintComponent

public void paintComponent(java.awt.Graphics g)
Paints the diagram on the screen.


makeScreenTransformClear

protected void makeScreenTransformClear()

showDiagram

public void showDiagram(Diagram2D newDiagram)
Sets the given diagram as new diagram to display. This will automatically cause a repaint of the view.


getDiagram

public Diagram2D getDiagram()

setDisplayType

public void setDisplayType(boolean contingentOnly)

updateLabelEntries

public void updateLabelEntries()

setSelectedConcepts

public void setSelectedConcepts(Concept[] concepts)

setQuery

public void setQuery(Query query)
Sets all object label views to use this query when asking their concepts.


getDiagramSchema

public DiagramSchema getDiagramSchema()

setDiagramSchema

public void setDiagramSchema(DiagramSchema schema)

getMinimumFontSize

public double getMinimumFontSize()

setMinimumFontSize

public void setMinimumFontSize(double minimumFontSize)

getAttributeLabelFactory

public LabelView.LabelFactory getAttributeLabelFactory()

getObjectLabelFactory

public LabelView.LabelFactory getObjectLabelFactory()

setAttributeLabelFactory

public void setAttributeLabelFactory(LabelView.LabelFactory attributeLabelFactory)

setObjectLabelFactory

public void setObjectLabelFactory(LabelView.LabelFactory objectLabelFactory)
This changes the object labels created for new diagrams. If a different label factory is given, this factory will be used to create the object labels. If null is given, no object labels will be used.


getConceptInterpretationContext

public ConceptInterpretationContext getConceptInterpretationContext()

getUndoManager

public org.tockit.swing.undo.ExtendedUndoManager getUndoManager()

setUndoManager

public void setUndoManager(org.tockit.swing.undo.ExtendedUndoManager undoManager)


The ToscanaJ project