com.frinika.sequencer.gui.pianoroll
Class ControllerView

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 com.frinika.sequencer.gui.ItemPanel
                      extended by com.frinika.sequencer.gui.pianoroll.PianoRollPanelAdapter
                          extended by com.frinika.sequencer.gui.pianoroll.ControllerView
All Implemented Interfaces:
Snapable, EditHistoryListener, EventFilter, SongPositionListener, java.awt.event.AdjustmentListener, java.awt.event.ComponentListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible

public class ControllerView
extends PianoRollPanelAdapter
implements java.awt.event.AdjustmentListener

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
 
Fields inherited from class com.frinika.sequencer.gui.ItemPanel
altIsDown, controlIsDown, dragArmed, dragItem, dragMode, dragViewTool, eraseTool, isChanging, lastItemViewRect, OVER_ENVELOPE_GAIN, OVER_ENVELOPE_LEFT, OVER_ENVELOPE_RIGHT, OVER_ITEM_LEFT, OVER_ITEM_MIDDLE, OVER_ITEM_RIGHT, OVER_ITEM_TOP, OVER_NOTHING, project, rectZoomTool, scroller, selectTool, sequencer, ticksPerBeat, timeBased, tool, toolBar, userToScreen, writeTool, xAnchor, yAnchor
 
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
ControllerView(ProjectFrame frame, ItemScrollPane scroller)
          Constructor.
 
Method Summary
 void adjustmentValueChanged(java.awt.event.AdjustmentEvent arg0)
           
 void clientAddToSelection(Item item)
           
 void clientClearSelection()
          Clears all items from the ItemPanels selection
 void clientRemoveFromSelection(Item item)
           
 void dispose()
           
 void dragStart()
          Call this to start dragging with the reference point.
 void dragTo(java.awt.Point p)
           
 void endDrag()
          This will be called when the mouse is released from a dragging operation
 void erase(Item it)
           
 void fireSequenceDataChanged(EditHistoryAction[] edithistoryActions)
           
 int getHoverStateAt(java.awt.Point p)
           
 boolean isValidEvent(MultiEvent ev)
           
 Item itemAt(java.awt.Point p)
          Find component the contains point x,y and set.
 void paintImageImpl(java.awt.Rectangle visibleRect, java.awt.Graphics2D g)
           
 void paintImageImplLabel(java.awt.Graphics2D g)
          override this to draw on top of screen
 void paintImageImplVel(java.awt.Rectangle visibleRect, java.awt.Graphics2D g)
           
 void rightButtonPressedOnItem(int x, int y)
           
 void selectAll()
           
 void selectInRect(java.awt.Rectangle rect, boolean shift)
          Select/deselect all the items in a rectange.
 void setControllerType(ControllerHandle handle)
           
 void writeDraggedAt(java.awt.Point p)
          Notififiction that mouse has been drag during after a writeTool press.
protected  void writePressedAt(java.awt.Point p)
           
protected  void writeReleasedAt(java.awt.Point p)
           
 
Methods inherited from class com.frinika.sequencer.gui.pianoroll.PianoRollPanelAdapter
clientNotifySelectionChange, getSnapQuantization, isSnapQuantized, setFocus, setSnapQuantization, setSnapQuantized, setTimeAtX
 
Methods inherited from class com.frinika.sequencer.gui.ItemPanel
armDrag, componentHidden, componentMoved, componentResized, componentShown, copyImageToScreen, feedBack, followSong, getProjectContainer, getScroller, getTool, getToolTipText, getVirtualScreenRect, getXRangeModel, getYRangeModel, ignorePartWarp, isFollowSong, isRightButtonPressed, map, mapX, notifyTickPosition, paintComponent, paintImages, paintTimeImpl, paintTimeImplUser, pointInTimeLine, rebuildXScrollBars, rectZoomFinished, repaintItems, requiresNotificationOnEachTick, scaleX, screenToTickAbs, screenToTickAbs, screenToTickRel, scrollItemImageX, scrollItemImageY, scrollRectToVisible, scrollToContain, scrollToContian, setAltState, setControlState, setDirty, setDragMode, setIgnoreRepaints, setRightButton, setTool, setToolBar, setX, setY, userToScreen, zoomIn, zoomOut, zoomToRect
 
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, 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, 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
 

Constructor Detail

ControllerView

public ControllerView(ProjectFrame frame,
                      ItemScrollPane scroller)
Constructor.

Parameters:
project - project to view
scroller - controls the view onto the virtualScreen.
Method Detail

dispose

public void dispose()

dragTo

public void dragTo(java.awt.Point p)
Specified by:
dragTo in class ItemPanel

clientClearSelection

public void clientClearSelection()
Description copied from class: ItemPanel
Clears all items from the ItemPanels selection

Specified by:
clientClearSelection in class ItemPanel

dragStart

public void dragStart()
Call this to start dragging with the reference point. See dragTo A copy is made of the valid selected events into dragList.


selectInRect

public void selectInRect(java.awt.Rectangle rect,
                         boolean shift)
Select/deselect all the items in a rectange.

Specified by:
selectInRect in class ItemPanel
Parameters:
yes - true to select. false to deselect
rect - rectangle in score screen space.

writeDraggedAt

public void writeDraggedAt(java.awt.Point p)
Description copied from class: ItemPanel
Notififiction that mouse has been drag during after a writeTool press. Default to ignoring it

Overrides:
writeDraggedAt in class ItemPanel

writePressedAt

protected void writePressedAt(java.awt.Point p)
Specified by:
writePressedAt in class ItemPanel

itemAt

public Item itemAt(java.awt.Point p)
Find component the contains point x,y and set. first component found is set (is this what we want ?) TODO multitrack thinking.

Specified by:
itemAt in class ItemPanel
Parameters:
x -
y -
Returns:
the NoteEvent at this point.

fireSequenceDataChanged

public void fireSequenceDataChanged(EditHistoryAction[] edithistoryActions)
Specified by:
fireSequenceDataChanged in interface EditHistoryListener

paintImageImpl

public void paintImageImpl(java.awt.Rectangle visibleRect,
                           java.awt.Graphics2D g)
Specified by:
paintImageImpl in class ItemPanel

paintImageImplLabel

public void paintImageImplLabel(java.awt.Graphics2D g)
Description copied from class: ItemPanel
override this to draw on top of screen

Specified by:
paintImageImplLabel in class ItemPanel

paintImageImplVel

public void paintImageImplVel(java.awt.Rectangle visibleRect,
                              java.awt.Graphics2D g)

endDrag

public void endDrag()
Description copied from class: ItemPanel
This will be called when the mouse is released from a dragging operation

Specified by:
endDrag in class ItemPanel

erase

public void erase(Item it)
Specified by:
erase in class ItemPanel

rightButtonPressedOnItem

public void rightButtonPressedOnItem(int x,
                                     int y)
Specified by:
rightButtonPressedOnItem in class ItemPanel

clientAddToSelection

public void clientAddToSelection(Item item)
Specified by:
clientAddToSelection in class ItemPanel

clientRemoveFromSelection

public void clientRemoveFromSelection(Item item)
Specified by:
clientRemoveFromSelection in class ItemPanel

getHoverStateAt

public int getHoverStateAt(java.awt.Point p)
Specified by:
getHoverStateAt in class ItemPanel

adjustmentValueChanged

public void adjustmentValueChanged(java.awt.event.AdjustmentEvent arg0)
Specified by:
adjustmentValueChanged in interface java.awt.event.AdjustmentListener

setControllerType

public void setControllerType(ControllerHandle handle)

isValidEvent

public final boolean isValidEvent(MultiEvent ev)
Specified by:
isValidEvent in interface EventFilter

writeReleasedAt

protected void writeReleasedAt(java.awt.Point p)
Specified by:
writeReleasedAt in class ItemPanel

selectAll

public void selectAll()