ui.view

## Class UnitGraph

- java.lang.Object
- - java.awt.Component
  - - java.awt.Container
    - - javax.swing.JComponent
      - - javax.swing.JPanel
        - - ui.view.UnitGraph

All Implemented Interfaces:
  java.awt.event.ComponentListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible

    public class UnitGraph
    extends javax.swing.JPanel
    implements java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.event.ComponentListener

This Class represents a Graph where the User can model the behavior of elements and switches over time.

Author:
  Gruppe14
See Also:
  Serialized Form

### Nested Class Summary

### Nested classes/interfaces inherited from class javax.swing.JComponent

`javax.swing.JComponent.AccessibleJComponent`

### Nested classes/interfaces inherited from class java.awt.Component

`java.awt.Component.BaselineResizeBehavior`

### Field Summary

### Fields inherited from class javax.swing.JComponent

`TOOL_TIP_TEXT_KEY, 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

Constructors
Constructor and Description
`UnitGraph(Model model, Control control)` Constructor.

### Method Summary

All Methods Instance Methods Concrete Methods
`java.awt.geom.CubicCurve2D` `buildCurve(java.awt.Point p1, java.awt.Point p2)` Build a Curve for the Graph.
`void` `componentHidden(java.awt.event.ComponentEvent e)`
`void` `componentMoved(java.awt.event.ComponentEvent e)`
`void` `componentResized(java.awt.event.ComponentEvent e)` When the Component is Resized.
`void` `componentShown(java.awt.event.ComponentEvent e)`
`double` `convertToCanvasY(float d)` converts the number to fit the canvas.
`float` `convertToValueY(double d)` converts the number to fit the value.
`void` `elementDragged(java.awt.event.MouseEvent e)` When a Point of a Holon Element is dragged.
`void` `elementPressed(java.awt.event.MouseEvent e)` When a point of a Holon Element is pressed.
`void` `empty()` Empty the Graph.
`void` `fillArrayofBooleans()` Fills the Arrays with booleans.
`void` `fillArrayofValue()` Fills the Arrays of each HolonElement.
`float` `getIntersectionPoint(java.awt.geom.Line2D l1, java.awt.geom.Line2D l2)` Get the Intersection Point of 2 Lines.
`float` `getYValueAt(int xVal)` Get the Y Value at the x Coordination.
`float` `getYValueAt2(int xVal)` Get y value at the x Coordination via curves.
`void` `mouseClicked(java.awt.event.MouseEvent e)`
`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)`
`void` `mouseReleased(java.awt.event.MouseEvent e)`
`void` `paintComponent(java.awt.Graphics g)` Paints all Components on the Canvas.
`void` `repaintWithNewElement(java.util.ArrayList<HolonElement> selectedElement)` Visualize the HolonElement on the Graph.
`void` `repaintWithNewSwitch(HolonSwitch s)` Visualize the Switch on the Graph.
`void` `reset()` Resets the Points for the Element.
`void` `switchDragged(java.awt.event.MouseEvent e)` When a Point of a switch is dragged.
`void` `switchPressed(java.awt.event.MouseEvent e)` When a point of a Switch is pressed.

### Methods inherited from class javax.swing.JPanel

`getAccessibleContext, getUI, getUIClassID, setUI, updateUI`

### Methods inherited from class javax.swing.JComponent

`addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, 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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, 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, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update`

### Methods inherited from class java.awt.Container

`add, add, add, add, add, addContainerListener, 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, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate`

### Methods inherited from class java.awt.Component

`action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, enableInputMethods, 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, 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, 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

`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### UnitGraph

    public UnitGraph(Model model,
                     Control control)

Constructor.

Parameters:
  `model` - the Model
  `control` - the Controller

### Method Detail

#### paintComponent

    public void paintComponent(java.awt.Graphics g)

Paints all Components on the Canvas.

Overrides:
  `paintComponent` in class `javax.swing.JComponent`
Parameters:
  `g` - Graphics

#### mouseDragged

    public void mouseDragged(java.awt.event.MouseEvent e)

Specified by:
  `mouseDragged` in interface `java.awt.event.MouseMotionListener`

#### elementDragged

    public void elementDragged(java.awt.event.MouseEvent e)

When a Point of a Holon Element is dragged.

Parameters:
  `e` - MouseEvent

#### switchDragged

    public void switchDragged(java.awt.event.MouseEvent e)

When a Point of a switch is dragged.

Parameters:
  `e` - MouseEvent

#### 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)

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)

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

#### elementPressed

    public void elementPressed(java.awt.event.MouseEvent e)

When a point of a Holon Element is pressed.

Parameters:
  `e` - MouseEvent

#### switchPressed

    public void switchPressed(java.awt.event.MouseEvent e)

When a point of a Switch is pressed.

Parameters:
  `e` - MouseEvent

#### mouseReleased

    public void mouseReleased(java.awt.event.MouseEvent e)

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

#### componentResized

    public void componentResized(java.awt.event.ComponentEvent e)

When the Component is Resized.

Specified by:
  `componentResized` in interface `java.awt.event.ComponentListener`
Parameters:
  `e` - ComponentEvent

#### componentHidden

    public void componentHidden(java.awt.event.ComponentEvent e)

Specified by:
  `componentHidden` in interface `java.awt.event.ComponentListener`

#### componentMoved

    public void componentMoved(java.awt.event.ComponentEvent e)

Specified by:
  `componentMoved` in interface `java.awt.event.ComponentListener`

#### componentShown

    public void componentShown(java.awt.event.ComponentEvent e)

Specified by:
  `componentShown` in interface `java.awt.event.ComponentListener`

#### empty

    public void empty()

Empty the Graph.

#### reset

    public void reset()

Resets the Points for the Element.

#### convertToCanvasY

    public double convertToCanvasY(float d)

converts the number to fit the canvas.

Parameters:
  `d` - the number to convert
Returns:
  the converted number

#### convertToValueY

    public float convertToValueY(double d)

converts the number to fit the value.

Parameters:
  `d` - the number to convert
Returns:
  the converted number

#### repaintWithNewElement

    public void repaintWithNewElement(java.util.ArrayList<HolonElement> selectedElement)

Visualize the HolonElement on the Graph.

Parameters:
  `selectedElement` - which should be visualized

#### repaintWithNewSwitch

    public void repaintWithNewSwitch(HolonSwitch s)

Visualize the Switch on the Graph.

Parameters:
  `s` - which should be visualized

#### buildCurve

    public java.awt.geom.CubicCurve2D buildCurve(java.awt.Point p1,
                                                 java.awt.Point p2)

Build a Curve for the Graph.

Parameters:
  `p1` - startpoint
  `p2` - endpoint
Returns:
  the CubicCurve2D for the Graph

#### fillArrayofBooleans

    public void fillArrayofBooleans()

Fills the Arrays with booleans.

#### fillArrayofValue

    public void fillArrayofValue()

Fills the Arrays of each HolonElement.

#### getYValueAt

    public float getYValueAt(int xVal)

Get the Y Value at the x Coordination.

Parameters:
  `xVal` - the x value for the y value
Returns:
  y, the value at x

#### getYValueAt2

    public float getYValueAt2(int xVal)

Get y value at the x Coordination via curves.

Parameters:
  `xVal` - the x value for the y value
Returns:
  y value at x

#### getIntersectionPoint

    public float getIntersectionPoint(java.awt.geom.Line2D l1,
                                      java.awt.geom.Line2D l2)

Get the Intersection Point of 2 Lines.

Parameters:
  `l1` - the first Line
  `l2` - the second Line
Returns:
  The Intersection Point