openshot-audio
0.1.7
|
#include <juce_PropertyPanel.h>
Classes | |
struct | PropertyHolderComponent |
struct | SectionComponent |
Public Member Functions | |
PropertyPanel () | |
PropertyPanel (const String &name) | |
~PropertyPanel () | |
void | clear () |
void | addProperties (const Array< PropertyComponent *> &newPropertyComponents) |
void | addSection (const String §ionTitle, const Array< PropertyComponent *> &newPropertyComponents, bool shouldSectionInitiallyBeOpen=true, int indexToInsertAt=-1) |
void | refreshAll () const |
bool | isEmpty () const |
int | getTotalContentHeight () const |
StringArray | getSectionNames () const |
bool | isSectionOpen (int sectionIndex) const |
void | setSectionOpen (int sectionIndex, bool shouldBeOpen) |
void | setSectionEnabled (int sectionIndex, bool shouldBeEnabled) |
void | removeSection (int sectionIndex) |
XmlElement * | getOpennessState () const |
void | restoreOpennessState (const XmlElement &newState) |
void | setMessageWhenEmpty (const String &newMessage) |
const String & | getMessageWhenEmpty () const noexcept |
void | paint (Graphics &) override |
void | resized () override |
![]() | |
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 |
virtual void | visibilityChanged () |
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 | parentHierarchyChanged () |
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 | paintOverChildren (Graphics &g) |
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 | mouseUp (const MouseEvent &event) override |
virtual void | mouseDoubleClick (const MouseEvent &event) override |
virtual void | mouseWheelMove (const MouseEvent &event, const MouseWheelDetails &wheel) 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 bool | keyPressed (const KeyPress &key) |
virtual bool | keyStateChanged (bool isKeyDown) |
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 void | colourChanged () |
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 () |
Additional Inherited Members | |
![]() | |
enum | FocusChangeType { focusChangedByMouseClick, focusChangedByTabKey, focusChangedDirectly } |
![]() | |
static Component *JUCE_CALLTYPE | getCurrentlyFocusedComponent () noexcept |
static void JUCE_CALLTYPE | unfocusAllComponents () |
static void JUCE_CALLTYPE | beginDragAutoRepeat (int millisecondsBetweenCallbacks) |
static bool JUCE_CALLTYPE | isMouseButtonDownAnywhere () noexcept |
static int JUCE_CALLTYPE | getNumCurrentlyModalComponents () noexcept |
static Component *JUCE_CALLTYPE | getCurrentlyModalComponent (int index=0) noexcept |
![]() | |
virtual ComponentPeer * | createNewPeer (int styleFlags, void *nativeWindowToAttachTo) |
A panel that holds a list of PropertyComponent objects.
This panel displays a list of PropertyComponents, and allows them to be organised into collapsible sections.
To use, simply create one of these and add your properties to it with addProperties() or addSection().
PropertyPanel::PropertyPanel | ( | ) |
Creates an empty property panel.
PropertyPanel::PropertyPanel | ( | const String & | name | ) |
Creates an empty property panel.
PropertyPanel::~PropertyPanel | ( | ) |
Destructor.
void PropertyPanel::addProperties | ( | const Array< PropertyComponent *> & | newPropertyComponents | ) |
Adds a set of properties to the panel.
The components in the list will be owned by this object and will be automatically deleted later on when no longer needed.
These properties are added without them being inside a named section. If you want them to be kept together in a collapsible section, use addSection() instead.
void PropertyPanel::addSection | ( | const String & | sectionTitle, |
const Array< PropertyComponent *> & | newPropertyComponents, | ||
bool | shouldSectionInitiallyBeOpen = true , |
||
int | indexToInsertAt = -1 |
||
) |
Adds a set of properties to the panel.
These properties are added under a section heading with a plus/minus button that allows it to be opened and closed. If indexToInsertAt is < 0 then it will be added at the end of the list, or before the given index if the index is non-zero.
The components in the list will be owned by this object and will be automatically deleted later on when no longer needed.
To add properies without them being in a section, use addProperties().
void PropertyPanel::clear | ( | ) |
Deletes all property components from the panel.
|
noexcept |
Returns the message that is displayed when there are no properties.
XmlElement * PropertyPanel::getOpennessState | ( | ) | const |
Saves the current state of open/closed sections so it can be restored later.
The caller is responsible for deleting the object that is returned. To restore this state, use restoreOpennessState().
StringArray PropertyPanel::getSectionNames | ( | ) | const |
Returns a list of all the names of sections in the panel. These are the sections that have been added with addSection().
int PropertyPanel::getTotalContentHeight | ( | ) | const |
Returns the height that the panel needs in order to display all of its content without scrolling.
bool PropertyPanel::isEmpty | ( | ) | const |
Returns true if the panel contains no properties.
bool PropertyPanel::isSectionOpen | ( | int | sectionIndex | ) | const |
Returns true if the section at this index is currently open. The index is from 0 up to the number of items returned by getSectionNames().
|
overridevirtual |
Components can override this method to draw their content.
The paint() method gets called when a region of a component needs redrawing, either because the component's repaint() method has been called, or because something has happened on the screen that means a section of a window needs to be redrawn.
Any child components will draw themselves over whatever this method draws. If you need to paint over the top of your child components, you can also implement the paintOverChildren() method to do this.
If you want to cause a component to redraw itself, this is done asynchronously - calling the repaint() method marks a region of the component as "dirty", and the paint() method will automatically be called sometime later, by the message thread, to paint any bits that need refreshing. In Juce (and almost all modern UI frameworks), you never redraw something synchronously.
You should never need to call this method directly - to take a snapshot of the component you could use createComponentSnapshot() or paintEntireComponent().
g | the graphics context that must be used to do the drawing operations. |
Reimplemented from Component.
void PropertyPanel::refreshAll | ( | ) | const |
Calls the refresh() method of all PropertyComponents in the panel
void PropertyPanel::removeSection | ( | int | sectionIndex | ) |
Remove one of the sections using the section index. The index is from 0 up to the number of items returned by getSectionNames().
|
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 Component.
void PropertyPanel::restoreOpennessState | ( | const XmlElement & | newState | ) |
Restores a previously saved arrangement of open/closed sections.
This will try to restore a snapshot of the panel's state that was created by the getOpennessState() method. If any of the sections named in the original XML aren't present, they will be ignored.
void PropertyPanel::setMessageWhenEmpty | ( | const String & | newMessage | ) |
Sets a message to be displayed when there are no properties in the panel. The default message is "nothing selected".
void PropertyPanel::setSectionEnabled | ( | int | sectionIndex, |
bool | shouldBeEnabled | ||
) |
Enables or disables one of the sections. The index is from 0 up to the number of items returned by getSectionNames().
void PropertyPanel::setSectionOpen | ( | int | sectionIndex, |
bool | shouldBeOpen | ||
) |
Opens or closes one of the sections. The index is from 0 up to the number of items returned by getSectionNames().