Package uk.ac.qmul.eecs.depic.daw.gui
Class ArrangeWindow
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- uk.ac.qmul.eecs.depic.daw.gui.ArrangeWindow
-
- All Implemented Interfaces:
- java.beans.PropertyChangeListener, java.util.EventListener, SoundWaveListener
public class ArrangeWindow extends javax.swing.JPanel implements java.beans.PropertyChangeListener, SoundWaveListener
The panel containing the audio tracks. Tracks are arranged in a scrollable BoxLayout.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
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
-
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
-
-
Field Summary
Fields Modifier and Type Field and Description static java.awt.Color
BACKGROUND_COLOR
static javax.swing.border.Border
BORDER_SELECTED
static javax.swing.border.Border
BORDER_UNSELECTED
static int
SPACE_BETWEEN_TRACKS
-
Fields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
-
Constructor Summary
Constructors Constructor and Description ArrangeWindow()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description void
addTrack(AudioTrack track)
Adds a track to this component.AudioTrack
getCurrentTrack()
int
getCurrentTrackIndex()
Rule
getRule()
AudioTrack
getTrackAt(int index)
AudioTrackParameters
getTrackParametersAt(int index)
int
getTracksCount()
Returns the number of tracks in this arrange window.void
propertyChange(java.beans.PropertyChangeEvent evt)
void
setCurrentTrack(int index)
Sets the track at the specified index as current.void
update(SoundWaveEvent evt)
OnSELECTION_CHANGED
event from the current audio track, updates the other tracks accordingly.-
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, 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, 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.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 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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, 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
-
-
-
-
Field Detail
-
BACKGROUND_COLOR
public static final java.awt.Color BACKGROUND_COLOR
-
BORDER_SELECTED
public static final javax.swing.border.Border BORDER_SELECTED
-
BORDER_UNSELECTED
public static final javax.swing.border.Border BORDER_UNSELECTED
-
SPACE_BETWEEN_TRACKS
public static final int SPACE_BETWEEN_TRACKS
- See Also:
- Constant Field Values
-
-
Method Detail
-
addTrack
public void addTrack(AudioTrack track)
Adds a track to this component. The added track is automatically set as the current track. Adding a track that's already in the arrange window will have no effect.- Parameters:
track
- the new track to add. It must be a track that is not currently contained in this arrange window
-
getTrackAt
public AudioTrack getTrackAt(int index)
-
getTrackParametersAt
public AudioTrackParameters getTrackParametersAt(int index)
-
getCurrentTrack
public AudioTrack getCurrentTrack()
- Returns:
- the current track or
null
if there are no tracks in this arrange window
-
setCurrentTrack
public void setCurrentTrack(int index)
Sets the track at the specified index as current.- Parameters:
index
- the index of the new current track- Throws:
java.lang.ArrayIndexOutOfBoundsException
- ifindex
is lower than 0 or greater or equal togetTracksCount()
-
getCurrentTrackIndex
public int getCurrentTrackIndex()
- Returns:
- the index of the currently selected track or
-1
if no track is open in the arrange window
-
getTracksCount
public int getTracksCount()
Returns the number of tracks in this arrange window.- Returns:
- the number of tracks in this arrange window
-
getRule
public Rule getRule()
-
update
public void update(SoundWaveEvent evt)
OnSELECTION_CHANGED
event from the current audio track, updates the other tracks accordingly. This enforces a unique selection and cursor position over the whole arrange window- Specified by:
update
in interfaceSoundWaveListener
- Parameters:
evt
- the sound wave event
-
propertyChange
public void propertyChange(java.beans.PropertyChangeEvent evt)
- Specified by:
propertyChange
in interfacejava.beans.PropertyChangeListener
-
-