Class PianoRollEditorTopComponent
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
org.openide.windows.TopComponent
org.jjazz.pianoroll.api.PianoRollEditorTopComponent
- All Implemented Interfaces:
ImageObserver,MenuContainer,PropertyChangeListener,Externalizable,Serializable,EventListener,Accessible,org.openide.util.HelpCtx.Provider,org.openide.util.Lookup.Provider
public final class PianoRollEditorTopComponent
extends org.openide.windows.TopComponent
implements PropertyChangeListener
A TopComponent to use a PianoRollEditor for a song phrase.
The TopComponent closes itself when song is closed.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.openide.windows.TopComponent
org.openide.windows.TopComponent.Cloneable, org.openide.windows.TopComponent.Description, org.openide.windows.TopComponent.NodeName, org.openide.windows.TopComponent.OpenActionRegistration, org.openide.windows.TopComponent.Registration, org.openide.windows.TopComponent.Registry, org.openide.windows.TopComponent.SubComponentNested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Component
Component.BaselineResizeBehavior -
Field Summary
FieldsFields inherited from class org.openide.windows.TopComponent
CLOSE_EACH, CLOSE_LAST, PERSISTENCE_ALWAYS, PERSISTENCE_NEVER, PERSISTENCE_ONLY_OPENED, PROP_CLOSING_DISABLED, PROP_DND_COPY_DISABLED, PROP_DRAGGING_DISABLED, PROP_KEEP_PREFERRED_SIZE_WHEN_SLIDED_IN, PROP_MAXIMIZATION_DISABLED, PROP_SLIDING_DISABLED, PROP_UNDOCKING_DISABLEDFields inherited from class javax.swing.JComponent
TOOL_TIP_TEXT_KEY, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
ConstructorsConstructorDescriptionPianoRollEditorTopComponent(Song sg, PianoRollEditorSettings settings) Create a TopComponent editor for the specified song. -
Method Summary
Modifier and TypeMethodDescriptionbooleancanClose()voidvoidstatic PianoRollEditorTopComponentSearch for the PianoRollEditorTopComponent associated to song.Action[]Overridden to insert possible new actions from path "Actions/PianoRollEditorTopComponent".static PianoRollEditorTopComponentReturn the active (i.e. focused or ancestor of the focused component) PianoRollEditorTopComponent.The edited bar range.The edited beat range.static StringgetDefaultTabName(Song song) The default tab name for a song.org.openide.util.LookupReturn the PianoRollEditor lookup.The MidiMix associated to the song.intThe RhythmVoice associated to thegetSong()The song associated to this TopComponent.The edited SongPart, or null if the whole song is edited.getTitle()The title used within the editor.org.openide.awt.UndoRedobooleanCheck if TopComponent was last configured via setModelForSongPartCustomPhrase().voidvoidsetModelForSongPartCustomPhrase(SongPart spt, Phrase p, int channel, DrumKit.KeyMap keyMap) Configure the TopComponent to edit a custom phrase of a song part.voidsetModelForUserPhrase(Phrase p, int channel, DrumKit.KeyMap keyMap) Configure the TopComponent to edit a user phrase on the whole song.voidSet the title base used within the editor.Methods inherited from class org.openide.windows.TopComponent
addNotify, availableModes, cancelRequestAttention, canClose, close, close, getAccessibleContext, getActivatedNodes, getCloseOperation, getDisplayName, getHelpCtx, getHtmlDisplayName, getIcon, getRegistry, getShortName, getSubComponents, getSystemActions, getTabPosition, isOpened, isOpened, makeBusy, open, open, openAction, openAtTabPosition, readExternal, requestActive, requestAttention, requestFocus, requestFocusInWindow, requestVisible, setActivatedNodes, setAttentionHighlight, setCloseOperation, setDisplayName, setHtmlDisplayName, setIcon, setName, setToolTipText, toFront, writeExternalMethods inherited from class javax.swing.JComponent
addAncestorListener, 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, getUI, getUIClassID, 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, 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, setTransferHandler, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUIMethods 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, validateMethods 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, 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, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Field Details
-
MODE
- See Also:
-
-
Constructor Details
-
PianoRollEditorTopComponent
Create a TopComponent editor for the specified song.- Parameters:
sg- The TopComponent listens to song structure changes to update the edited range.settings-
-
-
Method Details
-
setModelForSongPartCustomPhrase
public void setModelForSongPartCustomPhrase(SongPart spt, Phrase p, int channel, DrumKit.KeyMap keyMap) Configure the TopComponent to edit a custom phrase of a song part.This can be used to edit a RP_SYS_CustomPhrase value.
- Parameters:
spt- Must belong to the songp- The phrase must start at bar/beat 0 (independently of spt start position)channel- The Midi channel of the edited phrase (p.getChannel() is ignored). Must correspond to a RhythmVoice of the song part rhythm.keyMap- Null for melodic phrase
-
setModelForUserPhrase
Configure the TopComponent to edit a user phrase on the whole song.- Parameters:
p- The phrase must start at bar/beat 0channel- The Midi channel of the edited Phrase (p.getChannel() is ignored). Must correspond to a UserRhythmVoice in the song's MidiMix.keyMap- Null for melodic phrase
-
getTitle
-
setTitle
-
getSong
-
getMidiMix
-
getRhythmVoice
-
getSongPart
-
getBeatRange
-
getBarRange
-
isRP_SYS_CustomPhraseMode
public boolean isRP_SYS_CustomPhraseMode()Check if TopComponent was last configured via setModelForSongPartCustomPhrase().- Returns:
-
preferredID
- Returns:
- For example "PianoRollEditorTopComponent-MySongName"
-
getEditor
-
getUndoRedo
public org.openide.awt.UndoRedo getUndoRedo()- Overrides:
getUndoRedoin classorg.openide.windows.TopComponent
-
getActions
Overridden to insert possible new actions from path "Actions/PianoRollEditorTopComponent".- Overrides:
getActionsin classorg.openide.windows.TopComponent- Returns:
- The actions to be shown in the TopComponent popup menu.
-
getLookup
public org.openide.util.Lookup getLookup()Return the PianoRollEditor lookup.- Specified by:
getLookupin interfaceorg.openide.util.Lookup.Provider- Overrides:
getLookupin classorg.openide.windows.TopComponent- Returns:
-
getPersistenceType
public int getPersistenceType()- Overrides:
getPersistenceTypein classorg.openide.windows.TopComponent
-
canClose
public boolean canClose()- Overrides:
canClosein classorg.openide.windows.TopComponent
-
componentOpened
public void componentOpened() -
componentClosed
public void componentClosed() -
getActive
Return the active (i.e. focused or ancestor of the focused component) PianoRollEditorTopComponent.- Returns:
- Can be null
-
get
Search for the PianoRollEditorTopComponent associated to song.- Parameters:
song-- Returns:
- Can be null
-
getDefaultTabName
-
propertyChange
- Specified by:
propertyChangein interfacePropertyChangeListener
-