openshot-audio  0.1.4
Classes | Public Types | Public Member Functions | Friends | List of all members
DocumentWindow Class Reference

#include <juce_DocumentWindow.h>

Inheritance diagram for DocumentWindow:
ResizableWindow TopLevelWindow Component MouseListener DialogWindow MultiDocumentPanelWindow DefaultDialogWindow Toolbar::CustomisationDialog

Classes

class  ButtonListenerProxy
 
struct  LookAndFeelMethods
 

Public Types

enum  TitleBarButtons { minimiseButton = 1, maximiseButton = 2, closeButton = 4, allButtons = 7 }
 
enum  ColourIds { textColourId = 0x1005701 }
 
- Public Types inherited from ResizableWindow
enum  ColourIds { backgroundColourId = 0x1005700 }
 
- Public Types inherited from Component
enum  FocusChangeType { focusChangedByMouseClick, focusChangedByTabKey, focusChangedDirectly }
 

Public Member Functions

 DocumentWindow (const String &name, Colour backgroundColour, int requiredButtons, bool addToDesktop=true)
 
 ~DocumentWindow ()
 
void setName (const String &newName) override
 
void setIcon (const Image &imageToUse)
 
void setTitleBarHeight (int newHeight)
 
int getTitleBarHeight () const
 
void setTitleBarButtonsRequired (int requiredButtons, bool positionTitleBarButtonsOnLeft)
 
void setTitleBarTextCentred (bool textShouldBeCentred)
 
void setMenuBar (MenuBarModel *menuBarModel, int menuBarHeight=0)
 
ComponentgetMenuBarComponent () const noexcept
 
void setMenuBarComponent (Component *newMenuBarComponent)
 
virtual void closeButtonPressed ()
 
virtual void minimiseButtonPressed ()
 
virtual void maximiseButtonPressed ()
 
ButtongetCloseButton () const noexcept
 
ButtongetMinimiseButton () const noexcept
 
ButtongetMaximiseButton () const noexcept
 
void paint (Graphics &) override
 
void resized () override
 
void lookAndFeelChanged () override
 
BorderSize< int > getBorderThickness () override
 
BorderSize< int > getContentComponentBorder () override
 
void mouseDoubleClick (const MouseEvent &) override
 
void userTriedToCloseWindow () override
 
void activeWindowStatusChanged () override
 
int getDesktopWindowStyleFlags () const override
 
void parentHierarchyChanged () override
 
Rectangle< int > getTitleBarArea ()
 
- Public Member Functions inherited from ResizableWindow
 ResizableWindow (const String &name, bool addToDesktop)
 
 ResizableWindow (const String &name, Colour backgroundColour, bool addToDesktop)
 
 ~ResizableWindow ()
 
Colour getBackgroundColour () const noexcept
 
void setBackgroundColour (Colour newColour)
 
void setResizable (bool shouldBeResizable, bool useBottomRightCornerResizer)
 
bool isResizable () const noexcept
 
void setResizeLimits (int newMinimumWidth, int newMinimumHeight, int newMaximumWidth, int newMaximumHeight) noexcept
 
void setDraggable (bool shouldBeDraggable) noexcept
 
bool isDraggable () const noexcept
 
ComponentBoundsConstrainergetConstrainer () noexcept
 
void setConstrainer (ComponentBoundsConstrainer *newConstrainer)
 
void setBoundsConstrained (const Rectangle< int > &bounds)
 
bool isFullScreen () const
 
void setFullScreen (bool shouldBeFullScreen)
 
bool isMinimised () const
 
void setMinimised (bool shouldMinimise)
 
bool isKioskMode () const
 
String getWindowStateAsString ()
 
bool restoreWindowStateFromString (const String &previousState)
 
ComponentgetContentComponent () const noexcept
 
void setContentOwned (Component *newContentComponent, bool resizeToFitWhenContentChangesSize)
 
void setContentNonOwned (Component *newContentComponent, bool resizeToFitWhenContentChangesSize)
 
void clearContentComponent ()
 
void setContentComponentSize (int width, int height)
 
 JUCE_DEPRECATED (void setContentComponent(Component *newContentComponent, bool deleteOldOne=true, bool resizeToFit=false))
 
- Public Member Functions inherited from TopLevelWindow
 TopLevelWindow (const String &name, bool addToDesktop)
 
 ~TopLevelWindow ()
 
bool isActiveWindow () const noexcept
 
void centreAroundComponent (Component *componentToCentreAround, int width, int height)
 
void setDropShadowEnabled (bool useShadow)
 
bool isDropShadowEnabled () const noexcept
 
void setUsingNativeTitleBar (bool useNativeTitleBar)
 
bool isUsingNativeTitleBar () const noexcept
 
void addToDesktop ()
 
void addToDesktop (int windowStyleFlags, void *nativeWindowToAttachTo=nullptr) override
 
- Public Member Functions inherited from Component
 Component () noexcept
 
virtual ~Component ()
 
 Component (const String &componentName) noexcept
 
const StringgetName () const noexcept
 
const StringgetComponentID () const noexcept
 
void setComponentID (const String &newID)
 
virtual void setVisible (bool shouldBeVisible)
 
bool isVisible () const noexcept
 
bool isShowing () const
 
void removeFromDesktop ()
 
bool isOnDesktop () const noexcept
 
ComponentPeergetPeer () const
 
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
 
ComponentgetChildComponent (int index) const noexcept
 
int getIndexOfChildComponent (const Component *child) const noexcept
 
ComponentfindChildWithID (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)
 
ComponentremoveChildComponent (int childIndexToRemove)
 
void removeAllChildren ()
 
void deleteAllChildren ()
 
ComponentgetParentComponent () const noexcept
 
template<class TargetClass >
TargetClass * findParentComponentOfClass () const
 
ComponentgetTopLevelComponent () 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)
 
ComponentgetComponentAt (int x, int y)
 
ComponentgetComponentAt (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)
 
ImageEffectFiltergetComponentEffect () const noexcept
 
LookAndFeelgetLookAndFeel () const noexcept
 
void setLookAndFeel (LookAndFeel *newLookAndFeel)
 
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 KeyboardFocusTraversercreateFocusTraverser ()
 
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 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)
 
bool isMouseOver (bool includeChildren=false) const
 
bool isMouseButtonDown () const
 
bool isMouseOverOrDragging () const
 
Point< int > getMouseXYRelative () const
 
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 ()
 
NamedValueSetgetProperties () noexcept
 
const NamedValueSetgetProperties () 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 MarkerListgetMarkers (bool xAxis)
 
void * getWindowHandle () const
 
PositionergetPositioner () const noexcept
 
void setPositioner (Positioner *newPositioner)
 
void setCachedComponentImage (CachedComponentImage *newCachedImage)
 
CachedComponentImagegetCachedComponentImage () 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)
 
- Public Member Functions inherited from MouseListener
virtual ~MouseListener ()
 

Friends

struct ContainerDeletePolicy< ButtonListenerProxy >
 

Additional Inherited Members

- Static Public Member Functions inherited from TopLevelWindow
static int getNumTopLevelWindows () noexcept
 
static TopLevelWindowgetTopLevelWindow (int index) noexcept
 
static TopLevelWindowgetActiveTopLevelWindow () noexcept
 
- Static Public Member Functions inherited from Component
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
 
- Protected Member Functions inherited from ResizableWindow
void paint (Graphics &) override
 
void moved () override
 
void resized () override
 
void mouseDown (const MouseEvent &) override
 
void mouseDrag (const MouseEvent &) override
 
void mouseUp (const MouseEvent &) override
 
void lookAndFeelChanged () override
 
void childBoundsChanged (Component *) override
 
void parentSizeChanged () override
 
void visibilityChanged () override
 
void activeWindowStatusChanged () override
 
int getDesktopWindowStyleFlags () const override
 
- Protected Member Functions inherited from TopLevelWindow
void focusOfChildComponentChanged (FocusChangeType) override
 
void parentHierarchyChanged () override
 
void recreateDesktopWindow ()
 
void visibilityChanged () override
 
- Protected Member Functions inherited from Component
virtual ComponentPeercreateNewPeer (int styleFlags, void *nativeWindowToAttachTo)
 
- Protected Attributes inherited from ResizableWindow
ScopedPointer< ResizableCornerComponentresizableCorner
 
ScopedPointer< ResizableBorderComponentresizableBorder
 

Detailed Description

A resizable window with a title bar and maximise, minimise and close buttons.

This subclass of ResizableWindow creates a fairly standard type of window with a title bar and various buttons. The name of the component is shown in the title bar, and an icon can optionally be specified with setIcon().

All the methods available to a ResizableWindow are also available to this, so it can easily be made resizable, minimised, maximised, etc.

It's not advisable to add child components directly to a DocumentWindow: put them inside your content component instead. And overriding methods like resized(), moved(), etc is also not recommended - instead override these methods for your content component. (If for some obscure reason you do need to override these methods, always remember to call the super-class's resized() method too, otherwise it'll fail to lay out the window decorations correctly).

You can also automatically add a menu bar to the window, using the setMenuBar() method.

See also
ResizableWindow, DialogWindow

Member Enumeration Documentation

◆ ColourIds

A set of colour IDs to use to change the colour of various aspects of the window.

These constants can be used either via the Component::setColour(), or LookAndFeel::setColour() methods.

See also
Component::setColour, Component::findColour, LookAndFeel::setColour, LookAndFeel::findColour
Enumerator
textColourId 

The colour to draw any text with. It's up to the look and feel class how this is used.

◆ TitleBarButtons

The set of available button-types that can be put on the title bar.

See also
setTitleBarButtonsRequired
Enumerator
minimiseButton 
maximiseButton 
closeButton 
allButtons 

A combination of all the buttons above.

Constructor & Destructor Documentation

◆ DocumentWindow()

DocumentWindow::DocumentWindow ( const String name,
Colour  backgroundColour,
int  requiredButtons,
bool  addToDesktop = true 
)

Creates a DocumentWindow.

Parameters
namethe name to give the component - this is also the title shown at the top of the window. To change this later, use setName()
backgroundColourthe colour to use for filling the window's background.
requiredButtonsspecifies which of the buttons (close, minimise, maximise) should be shown on the title bar. This value is a bitwise combination of values from the TitleBarButtons enum. Note that it can be "allButtons" to get them all. You can change this later with the setTitleBarButtonsRequired() method, which can also specify where they are positioned.
addToDesktopif true, the window will be automatically added to the desktop; if false, you can use it as a child component
See also
TitleBarButtons

◆ ~DocumentWindow()

DocumentWindow::~DocumentWindow ( )

Destructor. If a content component has been set with setContentOwned(), it will be deleted.

Member Function Documentation

◆ activeWindowStatusChanged()

void DocumentWindow::activeWindowStatusChanged ( )
overridevirtual

This callback happens when this window becomes active or inactive.

See also
isActiveWindow

Reimplemented from TopLevelWindow.

◆ closeButtonPressed()

void DocumentWindow::closeButtonPressed ( )
virtual

This method is called when the user tries to close the window.

This is triggered by the user clicking the close button, or using some other OS-specific key shortcut or OS menu for getting rid of a window.

If the window is just a pop-up, you should override this closeButtonPressed() method and make it delete the window in whatever way is appropriate for your app. E.g. you might just want to call "delete this".

If your app is centred around this window such that the whole app should quit when the window is closed, then you will probably want to use this method as an opportunity to call JUCEApplicationBase::quit(), and leave the window to be deleted later by your JUCEApplicationBase::shutdown() method. (Doing it this way means that your window will still get cleaned-up if the app is quit by some other means (e.g. a cmd-Q on the mac or closing it via the taskbar icon on Windows).

(Note that the DocumentWindow class overrides Component::userTriedToCloseWindow() and redirects it to call this method, so any methods of closing the window that are caught by userTriedToCloseWindow() will also end up here).

Reimplemented in Toolbar::CustomisationDialog, DefaultDialogWindow, and MultiDocumentPanelWindow.

◆ getBorderThickness()

BorderSize< int > DocumentWindow::getBorderThickness ( )
overridevirtual

Returns the width of the frame to use around the window.

See also
getContentComponentBorder

Reimplemented from ResizableWindow.

◆ getCloseButton()

Button * DocumentWindow::getCloseButton ( ) const
noexcept

Returns the close button, (or nullptr if there isn't one).

◆ getContentComponentBorder()

BorderSize< int > DocumentWindow::getContentComponentBorder ( )
overridevirtual

Returns the insets to use when positioning the content component.

See also
getBorderThickness

Reimplemented from ResizableWindow.

◆ getDesktopWindowStyleFlags()

int DocumentWindow::getDesktopWindowStyleFlags ( ) const
overridevirtual

Reimplemented from TopLevelWindow.

◆ getMaximiseButton()

Button * DocumentWindow::getMaximiseButton ( ) const
noexcept

Returns the maximise button, (or nullptr if there isn't one).

◆ getMenuBarComponent()

Component * DocumentWindow::getMenuBarComponent ( ) const
noexcept

Returns the current menu bar component, or null if there isn't one. This is probably a MenuBarComponent, unless a custom one has been set using setMenuBarComponent().

◆ getMinimiseButton()

Button * DocumentWindow::getMinimiseButton ( ) const
noexcept

Returns the minimise button, (or nullptr if there isn't one).

◆ getTitleBarArea()

Rectangle< int > DocumentWindow::getTitleBarArea ( )

◆ getTitleBarHeight()

int DocumentWindow::getTitleBarHeight ( ) const

Returns the current title bar height.

◆ lookAndFeelChanged()

void DocumentWindow::lookAndFeelChanged ( )
overridevirtual

Called to let the component react to a change in the look-and-feel setting.

When the look-and-feel is changed for a component, this will be called in all its child components, recursively.

It can also be triggered manually by the sendLookAndFeelChange() method, in case an application uses a LookAndFeel class that might have changed internally.

See also
sendLookAndFeelChange, getLookAndFeel

Reimplemented from Component.

◆ maximiseButtonPressed()

void DocumentWindow::maximiseButtonPressed ( )
virtual

Callback that is triggered when the maximise button is pressed, or when the title-bar is double-clicked.

The default implementation of this calls ResizableWindow::setFullScreen(), but you can override it to do more customised behaviour.

Reimplemented in MultiDocumentPanelWindow.

◆ minimiseButtonPressed()

void DocumentWindow::minimiseButtonPressed ( )
virtual

Callback that is triggered when the minimise button is pressed.

The default implementation of this calls ResizableWindow::setMinimised(), but you can override it to do more customised behaviour.

◆ mouseDoubleClick()

void DocumentWindow::mouseDoubleClick ( const MouseEvent event)
overridevirtual

Called when a mouse button has been double-clicked on a component.

The MouseEvent object passed in contains lots of methods for finding out which button was pressed, as well as which modifier keys (e.g. shift, ctrl) were held down at the time.

Parameters
eventdetails about the position and status of the mouse event, including the source component in which it occurred
See also
mouseDown, mouseUp

Reimplemented from Component.

◆ paint()

void DocumentWindow::paint ( Graphics g)
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().

Parameters
gthe graphics context that must be used to do the drawing operations.
See also
repaint, paintOverChildren, Graphics

Reimplemented from Component.

◆ parentHierarchyChanged()

void DocumentWindow::parentHierarchyChanged ( )
overridevirtual

Called to indicate that the component's parents have changed.

When a component is added or removed from its parent, this method will be called on all of its children (recursively - so all children of its children will also be called as well).

Subclasses can override this if they need to react to this in some way.

See also
getParentComponent, isShowing, ComponentListener::componentParentHierarchyChanged

Reimplemented from Component.

◆ resized()

void DocumentWindow::resized ( )
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.

See also
moved, setSize

Reimplemented from Component.

◆ setIcon()

void DocumentWindow::setIcon ( const Image imageToUse)

Sets an icon to show in the title bar, next to the title.

A copy is made internally of the image, so the caller can delete the image after calling this. If 0 is passed-in, any existing icon will be removed.

◆ setMenuBar()

void DocumentWindow::setMenuBar ( MenuBarModel menuBarModel,
int  menuBarHeight = 0 
)

Creates a menu inside this window.

Parameters
menuBarModelthis specifies a MenuBarModel that should be used to generate the contents of a menu bar that will be placed just below the title bar, and just above any content component. If this value is zero, any existing menu bar will be removed from the component; if non-zero, one will be added if it's required.
menuBarHeightthe height of the menu bar component, if one is needed. Pass a value of zero or less to use the look-and-feel's default size.

◆ setMenuBarComponent()

void DocumentWindow::setMenuBarComponent ( Component newMenuBarComponent)

Replaces the current menu bar with a custom component. The component will be owned and deleted by the document window.

◆ setName()

void DocumentWindow::setName ( const String newName)
overridevirtual

Changes the component's name.

(This is overridden from Component::setName() to cause a repaint, as the name is what gets drawn across the window's title bar).

Reimplemented from Component.

◆ setTitleBarButtonsRequired()

void DocumentWindow::setTitleBarButtonsRequired ( int  requiredButtons,
bool  positionTitleBarButtonsOnLeft 
)

Changes the set of title-bar buttons being shown.

Parameters
requiredButtonsspecifies which of the buttons (close, minimise, maximise) should be shown on the title bar. This value is a bitwise combination of values from the TitleBarButtons enum. Note that it can be "allButtons" to get them all.
positionTitleBarButtonsOnLeftif true, the buttons should go at the left side of the bar; if false, they'll be placed at the right

◆ setTitleBarHeight()

void DocumentWindow::setTitleBarHeight ( int  newHeight)

Changes the height of the title-bar.

◆ setTitleBarTextCentred()

void DocumentWindow::setTitleBarTextCentred ( bool  textShouldBeCentred)

Sets whether the title should be centred within the window.

If true, the title text is shown in the middle of the title-bar; if false, it'll be shown at the left of the bar.

◆ userTriedToCloseWindow()

void DocumentWindow::userTriedToCloseWindow ( )
overridevirtual

For components on the desktop, this is called if the system wants to close the window.

This is a signal that either the user or the system wants the window to close. The default implementation of this method will trigger an assertion to warn you that your component should do something about it, but you can override this to ignore the event if you want.

Reimplemented from Component.

Friends And Related Function Documentation

◆ ContainerDeletePolicy< ButtonListenerProxy >

friend struct ContainerDeletePolicy< ButtonListenerProxy >
friend

The documentation for this class was generated from the following files: