endrov.windowFlow
Class FlowView

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by endrov.windowFlow.FlowView
All Implemented Interfaces:
java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.event.MouseWheelListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible

public class FlowView
extends javax.swing.JPanel
implements java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.event.MouseWheelListener

Panel showing flow

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
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
 java.util.Set<FlowUnit> selectedUnits
           
 
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
FlowView()
          Constructor
 
Method Summary
 void alignHoriz(java.util.Set<FlowUnit> sel)
          Align selected units along a horizontal line
 void alignRight(java.util.Set<FlowUnit> sel)
          Align selected units to have the same right side
 void alignVert(java.util.Set<FlowUnit> sel)
          Align selected units as a vertical stack
 void copy()
          Copy current selection to clipboard
 void delete()
          Delete currently selected units
 void doFlowSwingLayout()
          Call whenever component is panned, an object is added or removed
 void drawConnLine(java.awt.Graphics g, javax.vecmath.Vector2d vFrom, javax.vecmath.Vector2d vTo, FlowConn c)
          Draw connecting line between two points
 void drawConnPointLeft(java.awt.Graphics g, FlowUnit unit, java.lang.String arg, int x, int y)
          Draw a connection point on the left side of a flow unit
 void drawConnPointRight(java.awt.Graphics g, FlowUnit unit, java.lang.String arg, int x, int y)
          Draw a connection point on the right side of a flow unit
 void evaluateAll()
           
 Flow getFlow()
          Get currently edited flow
 java.awt.geom.Rectangle2D getFlowBounds()
          Get current bounds of the flow, in world coordinates
 FlowExec getFlowExec()
           
 void mouseClicked(java.awt.event.MouseEvent e)
          Mouse button clicked
 void mouseDragged(java.awt.event.MouseEvent e)
           
 void mouseEntered(java.awt.event.MouseEvent e)
           
 void mouseExited(java.awt.event.MouseEvent e)
           
 void mouseMoved(java.awt.event.MouseEvent e)
           
 void mousePressed(java.awt.event.MouseEvent e)
          Mouse button pressed
 void mouseReleased(java.awt.event.MouseEvent e)
          Mouse button released
 void mouseWheelMoved(java.awt.event.MouseWheelEvent e)
           
 java.awt.geom.Rectangle2D normalizeRect(java.awt.geom.Rectangle2D r)
           
protected  void paintComponent(java.awt.Graphics g)
          Render everything
 void pan(int dx, int dy)
          Move camera
 void paste()
          Paste from clipboard
 void setFlow(Flow flow, EvData data, EvContainer parent, EvPath path)
          Set which flow to edit
 void setUnitToPlace(FlowUnit u)
          Assign a flow unit to be placed
 void swap()
          Swap two units
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, 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, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, 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
 
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, checkImage, checkImage, 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, 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
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

selectedUnits

public java.util.Set<FlowUnit> selectedUnits
Constructor Detail

FlowView

public FlowView()
Constructor

Method Detail

normalizeRect

public java.awt.geom.Rectangle2D normalizeRect(java.awt.geom.Rectangle2D r)

setFlow

public void setFlow(Flow flow,
                    EvData data,
                    EvContainer parent,
                    EvPath path)
Set which flow to edit


getFlow

public Flow getFlow()
Get currently edited flow


getFlowExec

public FlowExec getFlowExec()

setUnitToPlace

public void setUnitToPlace(FlowUnit u)
Assign a flow unit to be placed


doFlowSwingLayout

public void doFlowSwingLayout()
Call whenever component is panned, an object is added or removed


paintComponent

protected void paintComponent(java.awt.Graphics g)
Render everything

Overrides:
paintComponent in class javax.swing.JComponent

pan

public void pan(int dx,
                int dy)
Move camera


mouseWheelMoved

public void mouseWheelMoved(java.awt.event.MouseWheelEvent e)
Specified by:
mouseWheelMoved in interface java.awt.event.MouseWheelListener

mouseDragged

public void mouseDragged(java.awt.event.MouseEvent e)
Specified by:
mouseDragged in interface java.awt.event.MouseMotionListener

mouseMoved

public void mouseMoved(java.awt.event.MouseEvent e)
Specified by:
mouseMoved in interface java.awt.event.MouseMotionListener

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent e)
Mouse button clicked

Specified by:
mouseClicked in interface java.awt.event.MouseListener

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent e)
Specified by:
mouseEntered in interface java.awt.event.MouseListener

mouseExited

public void mouseExited(java.awt.event.MouseEvent e)
Specified by:
mouseExited in interface java.awt.event.MouseListener

mousePressed

public void mousePressed(java.awt.event.MouseEvent e)
Mouse button pressed

Specified by:
mousePressed in interface java.awt.event.MouseListener

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent e)
Mouse button released

Specified by:
mouseReleased in interface java.awt.event.MouseListener

alignVert

public void alignVert(java.util.Set<FlowUnit> sel)
Align selected units as a vertical stack


alignHoriz

public void alignHoriz(java.util.Set<FlowUnit> sel)
Align selected units along a horizontal line


alignRight

public void alignRight(java.util.Set<FlowUnit> sel)
Align selected units to have the same right side


drawConnPointLeft

public void drawConnPointLeft(java.awt.Graphics g,
                              FlowUnit unit,
                              java.lang.String arg,
                              int x,
                              int y)
Draw a connection point on the left side of a flow unit


drawConnPointRight

public void drawConnPointRight(java.awt.Graphics g,
                               FlowUnit unit,
                               java.lang.String arg,
                               int x,
                               int y)
Draw a connection point on the right side of a flow unit


drawConnLine

public void drawConnLine(java.awt.Graphics g,
                         javax.vecmath.Vector2d vFrom,
                         javax.vecmath.Vector2d vTo,
                         FlowConn c)
Draw connecting line between two points


copy

public void copy()
Copy current selection to clipboard


paste

public void paste()
Paste from clipboard


getFlowBounds

public java.awt.geom.Rectangle2D getFlowBounds()
Get current bounds of the flow, in world coordinates


delete

public void delete()
Delete currently selected units


swap

public void swap()
Swap two units


evaluateAll

public void evaluateAll()