openshot-audio
0.1.4
|
#include <juce_TableListBox.h>
Classes | |
class | Header |
class | RowComp |
Public Member Functions | |
TableListBox (const String &componentName=String(), TableListBoxModel *model=nullptr) | |
~TableListBox () | |
void | setModel (TableListBoxModel *newModel) |
TableListBoxModel * | getModel () const noexcept |
TableHeaderComponent & | getHeader () const noexcept |
void | setHeader (TableHeaderComponent *newHeader) |
void | setHeaderHeight (int newHeight) |
int | getHeaderHeight () const noexcept |
void | autoSizeColumn (int columnId) |
void | autoSizeAllColumns () |
void | setAutoSizeMenuOptionShown (bool shouldBeShown) noexcept |
bool | isAutoSizeMenuOptionShown () const noexcept |
Rectangle< int > | getCellPosition (int columnId, int rowNumber, bool relativeToComponentTopLeft) const |
Component * | getCellComponent (int columnId, int rowNumber) const |
void | scrollToEnsureColumnIsOnscreen (int columnId) |
int | getNumRows () override |
void | paintListBoxItem (int, Graphics &, int, int, bool) override |
Component * | refreshComponentForRow (int rowNumber, bool isRowSelected, Component *existingComponentToUpdate) override |
void | selectedRowsChanged (int lastRowSelected) override |
void | deleteKeyPressed (int currentSelectedRow) override |
void | returnKeyPressed (int currentSelectedRow) override |
void | backgroundClicked (const MouseEvent &) override |
void | listWasScrolled () override |
void | tableColumnsChanged (TableHeaderComponent *) override |
void | tableColumnsResized (TableHeaderComponent *) override |
void | tableSortOrderChanged (TableHeaderComponent *) override |
void | tableColumnDraggingChanged (TableHeaderComponent *, int) override |
void | resized () override |
![]() | |
ListBox (const String &componentName=String::empty, ListBoxModel *model=nullptr) | |
~ListBox () | |
void | setModel (ListBoxModel *newModel) |
ListBoxModel * | getModel () const noexcept |
void | updateContent () |
void | setMultipleSelectionEnabled (bool shouldBeEnabled) noexcept |
void | setClickingTogglesRowSelection (bool flipRowSelection) noexcept |
void | setRowSelectedOnMouseDown (bool isSelectedOnMouseDown) noexcept |
void | setMouseMoveSelectsRows (bool shouldSelect) |
void | selectRow (int rowNumber, bool dontScrollToShowThisRow=false, bool deselectOthersFirst=true) |
void | selectRangeOfRows (int firstRow, int lastRow) |
void | deselectRow (int rowNumber) |
void | deselectAllRows () |
void | flipRowSelection (int rowNumber) |
SparseSet< int > | getSelectedRows () const |
void | setSelectedRows (const SparseSet< int > &setOfRowsToBeSelected, NotificationType sendNotificationEventToModel=sendNotification) |
bool | isRowSelected (int rowNumber) const |
int | getNumSelectedRows () const |
int | getSelectedRow (int index=0) const |
int | getLastRowSelected () const |
void | selectRowsBasedOnModifierKeys (int rowThatWasClickedOn, ModifierKeys modifiers, bool isMouseUpEvent) |
void | setVerticalPosition (double newProportion) |
double | getVerticalPosition () const |
void | scrollToEnsureRowIsOnscreen (int row) |
ScrollBar * | getVerticalScrollBar () const noexcept |
ScrollBar * | getHorizontalScrollBar () const noexcept |
int | getRowContainingPosition (int x, int y) const noexcept |
int | getInsertionIndexForPosition (int x, int y) const noexcept |
Rectangle< int > | getRowPosition (int rowNumber, bool relativeToComponentTopLeft) const noexcept |
Component * | getComponentForRowNumber (int rowNumber) const noexcept |
int | getRowNumberOfComponent (Component *rowComponent) const noexcept |
int | getVisibleRowWidth () const noexcept |
void | setRowHeight (int newHeight) |
int | getRowHeight () const noexcept |
int | getNumRowsOnScreen () const noexcept |
void | setOutlineThickness (int outlineThickness) |
int | getOutlineThickness () const noexcept |
void | setHeaderComponent (Component *newHeaderComponent) |
Component * | getHeaderComponent () const noexcept |
void | setMinimumContentWidth (int newMinimumWidth) |
int | getVisibleContentWidth () const noexcept |
void | repaintRow (int rowNumber) noexcept |
virtual Image | createSnapshotOfRows (const SparseSet< int > &rows, int &x, int &y) |
Viewport * | getViewport () const noexcept |
bool | keyPressed (const KeyPress &) override |
bool | keyStateChanged (bool isKeyDown) override |
void | paint (Graphics &) override |
void | paintOverChildren (Graphics &) override |
void | visibilityChanged () override |
void | mouseWheelMove (const MouseEvent &, const MouseWheelDetails &) override |
void | mouseUp (const MouseEvent &) override |
void | colourChanged () override |
void | parentHierarchyChanged () override |
void | startDragAndDrop (const MouseEvent &, const SparseSet< int > &rowsToDrag, const var &dragDescription, bool allowDraggingToOtherWindows) |
![]() | |
Component () noexcept | |
virtual | ~Component () |
Component (const String &componentName) noexcept | |
const String & | getName () const noexcept |
virtual void | setName (const String &newName) |
const String & | getComponentID () const noexcept |
void | setComponentID (const String &newID) |
virtual void | setVisible (bool shouldBeVisible) |
bool | isVisible () const noexcept |
bool | isShowing () const |
virtual void | addToDesktop (int windowStyleFlags, void *nativeWindowToAttachTo=nullptr) |
void | removeFromDesktop () |
bool | isOnDesktop () const noexcept |
ComponentPeer * | getPeer () const |
virtual void | userTriedToCloseWindow () |
virtual void | minimisationStateChanged (bool isNowMinimised) |
virtual float | getDesktopScaleFactor () const |
void | toFront (bool shouldAlsoGainFocus) |
void | toBack () |
void | toBehind (Component *other) |
void | setAlwaysOnTop (bool shouldStayOnTop) |
bool | isAlwaysOnTop () const noexcept |
int | getX () const noexcept |
int | getY () const noexcept |
int | getWidth () const noexcept |
int | getHeight () const noexcept |
int | getRight () const noexcept |
Point< int > | getPosition () const noexcept |
int | getBottom () const noexcept |
const Rectangle< int > & | getBounds () const noexcept |
Rectangle< int > | getLocalBounds () const noexcept |
Rectangle< int > | getBoundsInParent () const noexcept |
int | getScreenX () const |
int | getScreenY () const |
Point< int > | getScreenPosition () const |
Rectangle< int > | getScreenBounds () const |
Point< int > | getLocalPoint (const Component *sourceComponent, Point< int > pointRelativeToSourceComponent) const |
Point< float > | getLocalPoint (const Component *sourceComponent, Point< float > pointRelativeToSourceComponent) const |
Rectangle< int > | getLocalArea (const Component *sourceComponent, const Rectangle< int > &areaRelativeToSourceComponent) const |
Point< int > | localPointToGlobal (Point< int > localPoint) const |
Point< float > | localPointToGlobal (Point< float > localPoint) const |
Rectangle< int > | localAreaToGlobal (const Rectangle< int > &localArea) const |
void | setTopLeftPosition (int x, int y) |
void | setTopLeftPosition (Point< int > newTopLeftPosition) |
void | setTopRightPosition (int x, int y) |
void | setSize (int newWidth, int newHeight) |
void | setBounds (int x, int y, int width, int height) |
void | setBounds (const Rectangle< int > &newBounds) |
void | setBounds (const RelativeRectangle &newBounds) |
void | setBounds (const String &newBoundsExpression) |
void | setBoundsRelative (float proportionalX, float proportionalY, float proportionalWidth, float proportionalHeight) |
void | setBoundsInset (const BorderSize< int > &borders) |
void | setBoundsToFit (int x, int y, int width, int height, Justification justification, bool onlyReduceInSize) |
void | setCentrePosition (int x, int y) |
void | setCentreRelative (float x, float y) |
void | centreWithSize (int width, int height) |
void | setTransform (const AffineTransform &transform) |
AffineTransform | getTransform () const |
bool | isTransformed () const noexcept |
int | proportionOfWidth (float proportion) const noexcept |
int | proportionOfHeight (float proportion) const noexcept |
int | getParentWidth () const noexcept |
int | getParentHeight () const noexcept |
Rectangle< int > | getParentMonitorArea () const |
int | getNumChildComponents () const noexcept |
Component * | getChildComponent (int index) const noexcept |
int | getIndexOfChildComponent (const Component *child) const noexcept |
Component * | findChildWithID (StringRef componentID) const noexcept |
void | addChildComponent (Component *child, int zOrder=-1) |
void | addChildComponent (Component &child, int zOrder=-1) |
void | addAndMakeVisible (Component *child, int zOrder=-1) |
void | addAndMakeVisible (Component &child, int zOrder=-1) |
void | addChildAndSetID (Component *child, const String &componentID) |
void | removeChildComponent (Component *childToRemove) |
Component * | removeChildComponent (int childIndexToRemove) |
void | removeAllChildren () |
void | deleteAllChildren () |
Component * | getParentComponent () const noexcept |
template<class TargetClass > | |
TargetClass * | findParentComponentOfClass () const |
Component * | getTopLevelComponent () const noexcept |
bool | isParentOf (const Component *possibleChild) const noexcept |
virtual void | childrenChanged () |
virtual bool | hitTest (int x, int y) |
void | setInterceptsMouseClicks (bool allowClicksOnThisComponent, bool allowClicksOnChildComponents) noexcept |
void | getInterceptsMouseClicks (bool &allowsClicksOnThisComponent, bool &allowsClicksOnChildComponents) const noexcept |
bool | contains (Point< int > localPoint) |
bool | reallyContains (Point< int > localPoint, bool returnTrueIfWithinAChild) |
Component * | getComponentAt (int x, int y) |
Component * | getComponentAt (Point< int > position) |
void | repaint () |
void | repaint (int x, int y, int width, int height) |
void | repaint (const Rectangle< int > &area) |
void | setBufferedToImage (bool shouldBeBuffered) |
Image | createComponentSnapshot (const Rectangle< int > &areaToGrab, bool clipImageToComponentBounds=true, float scaleFactor=1.0f) |
void | paintEntireComponent (Graphics &context, bool ignoreAlphaLevel) |
void | setPaintingIsUnclipped (bool shouldPaintWithoutClipping) noexcept |
void | setComponentEffect (ImageEffectFilter *newEffect) |
ImageEffectFilter * | getComponentEffect () const noexcept |
LookAndFeel & | getLookAndFeel () const noexcept |
void | setLookAndFeel (LookAndFeel *newLookAndFeel) |
virtual void | lookAndFeelChanged () |
void | sendLookAndFeelChange () |
void | setOpaque (bool shouldBeOpaque) |
bool | isOpaque () const noexcept |
void | setBroughtToFrontOnMouseClick (bool shouldBeBroughtToFront) noexcept |
bool | isBroughtToFrontOnMouseClick () const noexcept |
void | setWantsKeyboardFocus (bool wantsFocus) noexcept |
bool | getWantsKeyboardFocus () const noexcept |
void | setMouseClickGrabsKeyboardFocus (bool shouldGrabFocus) |
bool | getMouseClickGrabsKeyboardFocus () const noexcept |
void | grabKeyboardFocus () |
bool | hasKeyboardFocus (bool trueIfChildIsFocused) const |
void | moveKeyboardFocusToSibling (bool moveToNext) |
virtual KeyboardFocusTraverser * | createFocusTraverser () |
int | getExplicitFocusOrder () const |
void | setExplicitFocusOrder (int newFocusOrderIndex) |
void | setFocusContainer (bool shouldBeFocusContainer) noexcept |
bool | isFocusContainer () const noexcept |
bool | isEnabled () const noexcept |
void | setEnabled (bool shouldBeEnabled) |
virtual void | enablementChanged () |
void | setAlpha (float newAlpha) |
float | getAlpha () const |
void | setMouseCursor (const MouseCursor &cursorType) |
virtual MouseCursor | getMouseCursor () |
void | updateMouseCursor () const |
virtual void | mouseMove (const MouseEvent &event) override |
virtual void | mouseEnter (const MouseEvent &event) override |
virtual void | mouseExit (const MouseEvent &event) override |
virtual void | mouseDown (const MouseEvent &event) override |
virtual void | mouseDrag (const MouseEvent &event) override |
virtual void | mouseDoubleClick (const MouseEvent &event) override |
virtual void | mouseMagnify (const MouseEvent &event, float scaleFactor) |
void | setRepaintsOnMouseActivity (bool shouldRepaint) noexcept |
void | addMouseListener (MouseListener *newListener, bool wantsEventsForAllNestedChildComponents) |
void | removeMouseListener (MouseListener *listenerToRemove) |
void | addKeyListener (KeyListener *newListener) |
void | removeKeyListener (KeyListener *listenerToRemove) |
virtual void | modifierKeysChanged (const ModifierKeys &modifiers) |
virtual void | focusGained (FocusChangeType cause) |
virtual void | focusLost (FocusChangeType cause) |
virtual void | focusOfChildComponentChanged (FocusChangeType cause) |
bool | isMouseOver (bool includeChildren=false) const |
bool | isMouseButtonDown () const |
bool | isMouseOverOrDragging () const |
Point< int > | getMouseXYRelative () const |
virtual void | moved () |
virtual void | childBoundsChanged (Component *child) |
virtual void | parentSizeChanged () |
virtual void | broughtToFront () |
void | addComponentListener (ComponentListener *newListener) |
void | removeComponentListener (ComponentListener *listenerToRemove) |
void | postCommandMessage (int commandId) |
virtual void | handleCommandMessage (int commandId) |
void | enterModalState (bool takeKeyboardFocus=true, ModalComponentManager::Callback *callback=nullptr, bool deleteWhenDismissed=false) |
void | exitModalState (int returnValue) |
bool | isCurrentlyModal () const noexcept |
bool | isCurrentlyBlockedByAnotherModalComponent () const |
virtual bool | canModalEventBeSentToComponent (const Component *targetComponent) |
virtual void | inputAttemptWhenModal () |
NamedValueSet & | getProperties () noexcept |
const NamedValueSet & | getProperties () const noexcept |
Colour | findColour (int colourId, bool inheritFromParent=false) const |
void | setColour (int colourId, Colour newColour) |
void | removeColour (int colourId) |
bool | isColourSpecified (int colourId) const |
void | copyAllExplicitColoursTo (Component &target) const |
virtual MarkerList * | getMarkers (bool xAxis) |
void * | getWindowHandle () const |
Positioner * | getPositioner () const noexcept |
void | setPositioner (Positioner *newPositioner) |
void | setCachedComponentImage (CachedComponentImage *newCachedImage) |
CachedComponentImage * | getCachedComponentImage () const noexcept |
JUCE_DEPRECATED (Point< int > relativePositionToGlobal(Point< int >) const) | |
JUCE_DEPRECATED (Point< int > globalPositionToRelative(Point< int >) const) | |
JUCE_DEPRECATED (Point< int > relativePositionToOtherComponent(const Component *, Point< int >) const) | |
![]() | |
virtual | ~MouseListener () |
![]() | |
virtual | ~SettableTooltipClient () |
virtual void | setTooltip (const String &newTooltip) |
virtual String | getTooltip () |
![]() | |
virtual | ~TooltipClient () |
A table of cells, using a TableHeaderComponent as its header.
This component makes it easy to create a table by providing a TableListBoxModel as the data source.
TableListBox::TableListBox | ( | const String & | componentName = String() , |
TableListBoxModel * | model = nullptr |
||
) |
Creates a TableListBox.
The model pointer passed-in can be null, in which case you can set it later with setModel(). The TableListBox does not take ownership of the model - it's the caller's responsibility to manage its lifetime and make sure it doesn't get deleted while still being used.
TableListBox::~TableListBox | ( | ) |
Destructor.
void TableListBox::autoSizeAllColumns | ( | ) |
Calls autoSizeColumn() for all columns in the table.
void TableListBox::autoSizeColumn | ( | int | columnId | ) |
Resizes a column to fit its contents.
This uses TableListBoxModel::getColumnAutoSizeWidth() to find the best width, and applies that to the column.
|
overridevirtual |
This can be overridden to react to the user clicking on a part of the list where there are no rows.
Reimplemented from ListBoxModel.
|
overridevirtual |
Override this to be informed when the delete key is pressed.
If no rows are selected when they press the key, this won't be called.
lastRowSelected | the last row that had been selected when they pressed the key - if there are multiple selections, this might not be very useful |
Reimplemented from ListBoxModel.
Component * TableListBox::getCellComponent | ( | int | columnId, |
int | rowNumber | ||
) | const |
Returns the component that currently represents a given cell. If the component for this cell is off-screen or if the position is out-of-range, this may return nullptr.
Rectangle< int > TableListBox::getCellPosition | ( | int | columnId, |
int | rowNumber, | ||
bool | relativeToComponentTopLeft | ||
) | const |
Returns the position of one of the cells in the table.
If relativeToComponentTopLeft is true, the coordinates are relative to the table component's top-left. The row number isn't checked to see if it's in-range, but the column ID must exist or this will return an empty rectangle.
If relativeToComponentTopLeft is false, the coordinates are relative to the top-left of the table's top-left cell.
|
inlinenoexcept |
Returns the header component being used in this table.
|
noexcept |
Returns the height of the table header.
|
inlinenoexcept |
Returns the model currently in use.
|
overridevirtual |
This has to return the number of items in the list.
Implements ListBoxModel.
|
inlinenoexcept |
True if the auto-size options should be shown on the menu.
|
overridevirtual |
Override this to be informed when the list is scrolled.
This might be caused by the user moving the scrollbar, or by programmatic changes to the list position.
Reimplemented from ListBoxModel.
|
overridevirtual |
This method must be implemented to draw a row of the list. Note that the rowNumber value may be greater than the number of rows in your list, so be careful that you don't assume it's less than getNumRows().
Implements ListBoxModel.
|
overridevirtual |
This is used to create or update a custom component to go in a row of the list.
Any row may contain a custom component, or can just be drawn with the paintListBoxItem() method and handle mouse clicks with listBoxItemClicked().
This method will be called whenever a custom component might need to be updated - e.g. when the table is changed, or TableListBox::updateContent() is called.
If you don't need a custom component for the specified row, then return nullptr. (Bear in mind that even if you're not creating a new component, you may still need to delete existingComponentToUpdate if it's non-null).
If you do want a custom component, and the existingComponentToUpdate is null, then this method must create a suitable new component and return it.
If the existingComponentToUpdate is non-null, it will be a pointer to a component previously created by this method. In this case, the method must either update it to make sure it's correctly representing the given row (which may be different from the one that the component was created for), or it can delete this component and return a new one.
The component that your method returns will be deleted by the ListBox when it is no longer needed.
Bear in mind that if you put a custom component inside the row but still want the listbox to automatically handle clicking, selection, etc, then you'll need to make sure your custom component doesn't intercept all the mouse events that land on it, e.g by using Component::setInterceptsMouseClicks().
Reimplemented from ListBoxModel.
|
overridevirtual |
Called when this component's size has been changed.
A component can implement this method to do things such as laying out its child components when its width or height changes.
The method is called synchronously as a result of the setBounds or setSize methods, so repeatedly changing a components size will repeatedly call its resized method (unlike things like repainting, where multiple calls to repaint are coalesced together).
If the component is a top-level window on the desktop, its size could also be changed by operating-system factors beyond the application's control.
Reimplemented from ListBox.
|
overridevirtual |
Override this to be informed when the return key is pressed.
If no rows are selected when they press the key, this won't be called.
lastRowSelected | the last row that had been selected when they pressed the key - if there are multiple selections, this might not be very useful |
Reimplemented from ListBoxModel.
void TableListBox::scrollToEnsureColumnIsOnscreen | ( | int | columnId | ) |
Scrolls horizontally if necessary to make sure that a particular column is visible.
|
overridevirtual |
Override this to be informed when rows are selected or deselected.
This will be called whenever a row is selected or deselected. If a range of rows is selected all at once, this will just be called once for that event.
lastRowSelected | the last row that the user selected. If no rows are currently selected, this may be -1. |
Reimplemented from ListBoxModel.
|
noexcept |
Enables or disables the auto size options on the popup menu. By default, these are enabled.
void TableListBox::setHeader | ( | TableHeaderComponent * | newHeader | ) |
Sets the header component to use for the table. The table will take ownership of the component that you pass in, and will delete it when it's no longer needed. The pointer passed in may not be null.
void TableListBox::setHeaderHeight | ( | int | newHeight | ) |
Changes the height of the table header component.
void TableListBox::setModel | ( | TableListBoxModel * | newModel | ) |
Changes the TableListBoxModel that is being used for this table. The TableListBox does not take ownership of the model - it's the caller's responsibility to manage its lifetime and make sure it doesn't get deleted while still being used.
|
overridevirtual |
This is called when the user begins or ends dragging one of the columns around.
When the user starts dragging a column, this is called with the ID of that column. When they finish dragging, it is called again with 0 as the ID.
Reimplemented from TableHeaderComponent::Listener.
|
overridevirtual |
This is called when some of the table's columns are added, removed, hidden, or rearranged.
Implements TableHeaderComponent::Listener.
|
overridevirtual |
This is called when one or more of the table's columns are resized.
Implements TableHeaderComponent::Listener.
|
overridevirtual |
This is called when the column by which the table should be sorted is changed.
Implements TableHeaderComponent::Listener.