|
VSTGUI 4.10
Graphical User Interface Framework not only for VST plugins
|
Container Class of CView objects. More...
#include <cviewcontainer.h>
Inheritance diagram for CViewContainer:Classes | |
| struct | Impl |
| class | Iterator |
Public Types | |
| using | ViewList = std::list< SharedPointer< CView > > |
Public Types inherited from CView | |
| enum class | MouseListenerCall { MouseDown , MouseMoved , MouseUp , MouseCancel } |
Public Member Functions | |
| CViewContainer (const CRect &size) | |
| CViewContainer constructor. More... | |
| CViewContainer (const CViewContainer &viewContainer) | |
Sub View Methods | |
| bool | addView (CView *pView, const CRect &mouseableArea, bool mouseEnabled=true) |
| add a child view More... | |
| virtual bool | addView (CView *pView, CView *pBefore=nullptr) |
| add a child view before another view More... | |
| virtual bool | removeView (CView *pView, bool withForget=true) |
| remove a child view More... | |
| virtual bool | removeAll (bool withForget=true) |
| remove all child views More... | |
| bool | isChild (CView *pView) const |
| check if pView is a child view of this container More... | |
| virtual bool | isChild (CView *pView, bool deep) const |
| check if pView is a child view of this container More... | |
| virtual bool | hasChildren () const |
| check if container has child views More... | |
| virtual uint32_t | getNbViews () const |
| get the number of child views More... | |
| virtual CView * | getView (uint32_t index) const |
| get the child view at index More... | |
| virtual CView * | getViewAt (const CPoint &where, const GetViewOptions &options=GetViewOptions()) const |
| get the view at point where More... | |
| virtual CViewContainer * | getContainerAt (const CPoint &where, const GetViewOptions &options=GetViewOptions().deep()) const |
| get the container at point where More... | |
| virtual bool | getViewsAt (const CPoint &where, ViewList &views, const GetViewOptions &options=GetViewOptions().deep()) const |
| get all views at point where, top->down More... | |
| virtual bool | changeViewZOrder (CView *view, uint32_t newIndex) |
| change view z order position More... | |
| virtual bool | hitTestSubViews (const CPoint &where, const Event &event) |
| virtual void | setAutosizingEnabled (bool state) |
| enable or disable autosizing subviews. More... | |
| bool | getAutosizingEnabled () const |
| template<class ViewClass , class ContainerClass > | |
| uint32_t | getChildViewsOfType (ContainerClass &result, bool deep=false) const |
| get child views of type ViewClass. More... | |
| template<typename Proc > | |
| void | forEachChild (Proc proc) const |
| execute proc for each child view More... | |
Public Member Functions inherited from CView | |
| CView (const CRect &size) | |
| CView (const CView &view) | |
| virtual void | dispatchEvent (Event &event) |
| dispatch an event More... | |
| virtual void | onMouseEnterEvent (MouseEnterEvent &event) |
| called when the mouse enters this view More... | |
| virtual void | onMouseExitEvent (MouseExitEvent &event) |
| called when the mouse leaves this view More... | |
| virtual void | setMouseEnabled (bool bEnable=true) |
| turn on/off mouse usage for this view More... | |
| bool | getMouseEnabled () const |
| get the state of wheather this view uses the mouse or not More... | |
| virtual void | setMouseableArea (const CRect &rect) |
| set the area in which the view reacts to the mouse More... | |
| CRect | getMouseableArea () const |
| get the area in which the view reacts to the mouse More... | |
| virtual CMouseEventResult | onMouseDown (CPoint &where, const CButtonState &buttons) |
| do not use any longer. More... | |
| virtual CMouseEventResult | onMouseUp (CPoint &where, const CButtonState &buttons) |
| do not use any longer. More... | |
| virtual CMouseEventResult | onMouseMoved (CPoint &where, const CButtonState &buttons) |
| do not use any longer. More... | |
| virtual CMouseEventResult | onMouseCancel () |
| do not use any longer. More... | |
| virtual CMouseEventResult | onMouseEntered (CPoint &where, const CButtonState &buttons) |
| do not use any longer. More... | |
| virtual CMouseEventResult | onMouseExited (CPoint &where, const CButtonState &buttons) |
| do not use any longer. More... | |
| virtual bool | onWheel (const CPoint &where, const float &distance, const CButtonState &buttons) final |
| CRect & | getMouseableArea (CRect &rect) const |
| get the area in which the view reacts to the mouse More... | |
| void | setHitTestPath (CGraphicsPath *path) |
| virtual bool | hitTest (const CPoint &where, const Event &event=noEvent()) |
| check if where hits this view More... | |
| virtual bool | hitTest (const CPoint &where, const CButtonState &buttons) |
| bool | doDrag (const DragDescription &dragDescription, const SharedPointer< IDragCallback > &callback={}) |
| start a drag operation More... | |
| void | setDropTarget (const SharedPointer< IDropTarget > &dt) |
| set a custom drop target More... | |
| DragResult | doDrag (IDataPackage *source, const CPoint &offset=CPoint(0, 0), CBitmap *dragBitmap=nullptr) |
| a drag can only be started from within onMouseDown More... | |
| virtual void | onKeyboardEvent (KeyboardEvent &event) |
| called when a keyboard event is dispatched to this view More... | |
| virtual int32_t | onKeyDown (VstKeyCode &keyCode) |
| called if a key down event occurs and this view has focus More... | |
| virtual int32_t | onKeyUp (VstKeyCode &keyCode) |
| called if a key up event occurs and this view has focus More... | |
| CCoord | getHeight () const |
| get the height of the view More... | |
| CCoord | getWidth () const |
| get the width of the view More... | |
| const CRect & | getViewSize () const |
| read only access to view size More... | |
| virtual CRect | getVisibleViewSize () const |
| returns the visible size of the view More... | |
| virtual void | setAutosizeFlags (int32_t flags) |
| set autosize flags More... | |
| int32_t | getAutosizeFlags () const |
| get autosize flags More... | |
| virtual bool | wantsFocus () const |
| check if view supports focus More... | |
| virtual void | setWantsFocus (bool state) |
| set focus support on/off More... | |
| bool | getAttributeSize (const CViewAttributeID id, uint32_t &outSize) const |
| get the size of an attribute More... | |
| bool | getAttribute (const CViewAttributeID id, const uint32_t inSize, void *outData, uint32_t &outSize) const |
| get an attribute More... | |
| bool | setAttribute (const CViewAttributeID id, const uint32_t inSize, const void *inData) |
| set an attribute More... | |
| bool | removeAttribute (const CViewAttributeID id) |
| remove an attribute More... | |
| template<typename T > | |
| bool | setAttribute (const CViewAttributeID id, const T &data) |
| set an attribute More... | |
| template<typename T > | |
| bool | getAttribute (const CViewAttributeID id, T &data) const |
| get an attribute More... | |
| virtual void | setBackground (CBitmap *background) |
| set the background image of this view More... | |
| CBitmap * | getBackground () const |
| get the background image of this view More... | |
| virtual void | setDisabledBackground (CBitmap *background) |
| set background image used when the mouse is not enabled More... | |
| CBitmap * | getDisabledBackground () const |
| get background image used when the mouse is not enabled More... | |
| CBitmap * | getDrawBackground () const |
| get the bitmap which is drawn depending on the enabled state. More... | |
| virtual void | setTransparency (bool val) |
| set views transparent state More... | |
| bool | getTransparency () const |
| get views transparent state More... | |
| virtual void | setAlphaValue (float alpha) |
| set alpha value which will be applied when drawing this view More... | |
| float | getAlphaValue () const |
| get alpha value More... | |
| bool | isAttached () const |
| is view attached to a parentView More... | |
| void | setSubviewState (bool state) |
| bool | isSubview () const |
| CView * | getParentView () const |
| get parent view More... | |
| CFrame * | getFrame () const |
| get frame More... | |
| virtual VSTGUIEditorInterface * | getEditor () const |
| get editor More... | |
| void | addAnimation (IdStringPtr name, Animation::IAnimationTarget *target, Animation::ITimingFunction *timingFunction, CBaseObject *notificationObject) |
| void | addAnimation (IdStringPtr name, Animation::IAnimationTarget *target, Animation::ITimingFunction *timingFunction, const Animation::DoneFunction &doneFunc=nullptr, bool callDoneOnCancel=false) |
| void | removeAnimation (IdStringPtr name) |
| void | removeAllAnimations () |
| void | registerViewListener (IViewListener *listener) |
| void | unregisterViewListener (IViewListener *listener) |
| void | registerViewEventListener (IViewEventListener *listener) |
| void | unregisterViewEventListener (IViewEventListener *listener) |
| void | registerViewMouseListener (IViewMouseListener *listener) |
| void | unregisterViewMouseListener (IViewMouseListener *listener) |
| CGraphicsTransform | getGlobalTransform (bool ignoreFrame=false) const |
| get the active global transform for this view More... | |
| template<typename T > | |
| T & | translateToGlobal (T &t, bool ignoreFrame=false) const |
| translates a local coordinate to a global one using parent transforms More... | |
| template<typename T > | |
| T | translateToGlobal (const T &t, bool ignoreFrame=false) const |
| translates a local coordinate to a global one using parent transforms More... | |
| template<typename T > | |
| T & | translateToLocal (T &t, bool ignoreFrame=false) const |
| translates a global coordinate to a local one using parent transforms More... | |
| template<typename T > | |
| T | translateToLocal (const T &t, bool ignoreFrame=false) const |
| translates a local coordinate to a global one using parent transforms More... | |
| CMouseEventResult | callMouseListener (MouseListenerCall type, CPoint pos, CButtonState buttons) |
| void | callMouseListenerEnteredExited (bool mouseEntered) |
| CBaseObject * | newCopy () const override |
| virtual bool | checkUpdate (const CRect &updateRect) const |
| virtual void | setDirty (bool val=true) |
| set the view to dirty so that it is redrawn in the next idle. More... | |
| virtual void | setVisible (bool state) |
| set visibility state More... | |
| bool | isVisible () const |
| get visibility state More... | |
| virtual void | onIdle () |
| called on idle when view wants idle More... | |
| void | setWantsIdle (bool state) |
| enable/disable onIdle() callback More... | |
| bool | wantsIdle () const |
| returns if the view wants idle callback or not More... | |
| virtual bool | wantsWindowActiveStateChangeNotification () const |
| whether this view wants to be informed if the window's active state changes More... | |
| virtual void | onWindowActivate (bool state) |
| called when the active state of the window changes More... | |
| void | setTooltipText (UTF8StringPtr text) |
Public Member Functions inherited from CBaseObject | |
| CBaseObject ()=default | |
| ~CBaseObject () noexcept override=default | |
| CBaseObject (const CBaseObject &) | |
| CBaseObject & | operator= (const CBaseObject &) |
Public Member Functions inherited from ReferenceCounted< T > | |
| ReferenceCounted ()=default | |
| virtual | ~ReferenceCounted () noexcept=default |
| ReferenceCounted (const ReferenceCounted &) | |
| ReferenceCounted & | operator= (const ReferenceCounted &) |
| void | forget () override |
| decrease refcount and delete object if refcount == 0 More... | |
| void | remember () override |
| increase refcount More... | |
| virtual int32_t | getNbReference () const |
| get refcount More... | |
| virtual void | forget ()=0 |
| decrease refcount and delete object if refcount == 0 More... | |
| virtual void | remember ()=0 |
| increase refcount More... | |
Background Methods | |
| enum | { kAutosizeSubviews = 1 << (CView::kLastCViewFlag + 1) } |
| using | ChildViewConstIterator = ViewList::const_iterator |
| using | ChildViewConstReverseIterator = ViewList::const_reverse_iterator |
| virtual void | setBackgroundColor (const CColor &color) |
| set the background color (will only be drawn if this container is not set to transparent and does not have a background bitmap) More... | |
| virtual CColor | getBackgroundColor () const |
| get the background color More... | |
| virtual void | setBackgroundOffset (const CPoint &p) |
| set the offset of the background bitmap More... | |
| virtual CPoint | getBackgroundOffset () const |
| get the offset of the background bitmap More... | |
| virtual void | drawBackgroundRect (CDrawContext *pContext, const CRect &_updateRect) |
| draw the background More... | |
| virtual void | setBackgroundColorDrawStyle (CDrawStyle style) |
| CDrawStyle | getBackgroundColorDrawStyle () const |
| virtual bool | advanceNextFocusView (CView *oldFocus, bool reverse=false) |
| virtual bool | invalidateDirtyViews () |
| virtual CRect | getVisibleSize (const CRect &rect) const |
| void | setTransform (const CGraphicsTransform &t) |
| const CGraphicsTransform & | getTransform () const |
| void | registerViewContainerListener (IViewContainerListener *listener) |
| void | unregisterViewContainerListener (IViewContainerListener *listener) |
| void | draw (CDrawContext *pContext) override |
| void | drawRect (CDrawContext *pContext, const CRect &updateRect) override |
| void | onMouseDownEvent (MouseDownEvent &event) override |
| called when a mouse down event occurs More... | |
| void | onMouseMoveEvent (MouseMoveEvent &event) override |
| called when a mouse move event occurs More... | |
| void | onMouseUpEvent (MouseUpEvent &event) override |
| called when a mouse up event occurs More... | |
| void | onMouseCancelEvent (MouseCancelEvent &event) override |
| called when mouse tracking should be canceled More... | |
| void | onMouseWheelEvent (MouseWheelEvent &event) override |
| called when a mouse wheel event occurs More... | |
| void | onZoomGestureEvent (ZoomGestureEvent &event) override |
| called when a zoom gesture event occurs More... | |
| CMessageResult | notify (CBaseObject *sender, IdStringPtr message) override |
| bool | onWheel (const CPoint &where, const CMouseWheelAxis &axis, const float &distance, const CButtonState &buttons) final |
| SharedPointer< IDropTarget > | getDropTarget () override |
| get the drag target for drag and drop handling More... | |
| void | looseFocus () override |
| called if view should loose focus More... | |
| void | takeFocus () override |
| called if view should take focus More... | |
| bool | isDirty () const override |
| check if view is dirty More... | |
| void | invalid () override |
| mark whole view as invalid More... | |
| void | invalidRect (const CRect &rect) override |
| mark rect as invalid More... | |
| void | setViewSize (const CRect &rect, bool invalid=true) override |
| void | parentSizeChanged () override |
| notification that one of the views parent has changed its size More... | |
| bool | sizeToFit () override |
| resize view to optimal size More... | |
| bool | removed (CView *parent) override |
| view is removed from parent view More... | |
| bool | attached (CView *parent) override |
| view is attached to a parent view More... | |
| CPoint & | frameToLocal (CPoint &point) const override |
| conversion from frame coordinates to local view coordinates More... | |
| CPoint & | localToFrame (CPoint &point) const override |
| conversion from local view coordinates to frame coordinates More... | |
| CBaseObject * | newCopy () const override |
| CViewContainer * | asViewContainer () final |
| const CViewContainer * | asViewContainer () const final |
| ~CViewContainer () noexcept override | |
| void | beforeDelete () override |
| virtual bool | checkUpdateRect (CView *view, const CRect &rect) |
| check if view needs to be updated for rect More... | |
| void | setMouseDownView (CView *view) |
| CView * | getMouseDownView () const |
| const ViewList & | getChildren () const |
Additional Inherited Members | |
Static Public Attributes inherited from CView | |
| static bool | kDirtyCallAlwaysOnMainThread = false |
| if this is true, setting a view dirty will call invalid() instead of checking it in idle. More... | |
| static uint32_t | idleRate = 30 |
| global idle rate in Hz, defaults to 30 Hz More... | |
Protected Types inherited from CView | |
| enum | { kMouseEnabled = 1 << 0 , kTransparencyEnabled = 1 << 1 , kWantsFocus = 1 << 2 , kIsAttached = 1 << 3 , kVisible = 1 << 4 , kDirty = 1 << 5 , kWantsIdle = 1 << 6 , kIsSubview = 1 << 7 , kHasAlpha = 1 << 8 , kHasBackground = 1 << 9 , kHasDisabledBackground = 1 << 10 , kHasMouseableArea = 1 << 11 , kLastCViewFlag = 11 } |
Protected Member Functions inherited from CView | |
| ~CView () noexcept override | |
| CGraphicsPath * | getHitTestPath () const |
| bool | hasViewFlag (int32_t bit) const |
| void | setViewFlag (int32_t bit, bool state) |
| void | setAlphaValueNoInvalidate (float value) |
| void | setParentFrame (CFrame *frame) |
| void | setParentView (CView *parent) |
Container Class of CView objects.
| using ChildViewConstIterator = ViewList::const_iterator |
| using ChildViewConstReverseIterator = ViewList::const_reverse_iterator |
| using ViewList = std::list<SharedPointer<CView> > |
|
explicit |
CViewContainer constructor.
| rect | the size of the container |
| CViewContainer | ( | const CViewContainer & | viewContainer | ) |
|
overrideprotectednoexcept |
add a child view
| pView | the view object to add to this container |
| mouseableArea | the view area in where the view will get mouse events |
| mouseEnabled | bool to set if view will get mouse events |
add a child view before another view
| pView | the view object to add to this container |
| pBefore | the view object |
Reimplemented in CAutoLayoutContainerView, CScrollView, and CSplitView.
|
virtual |
| oldFocus | old focus view |
| reverse | search order |
Reimplemented in CFrame.
|
inlinefinalvirtual |
Reimplemented from CView.
|
inlinefinalvirtual |
Reimplemented from CView.
|
overridevirtual |
view is attached to a parent view
| parent | parent view |
Reimplemented from CView.
Reimplemented in UIViewSwitchContainer.
|
overrideprotectedvirtual |
Reimplemented from CView.
|
virtual |
change view z order position
| view | view which z order position should be changed |
| newIndex | index of new z position |
Reimplemented in CAutoLayoutContainerView, and CScrollView.
check if view needs to be updated for rect
| view | view to check |
| rect | update rect |
|
overridevirtual |
| pContext | the context which to use to draw this container and its subviews |
Reimplemented from CView.
|
virtual |
draw the background
| pContext | the context which to use to draw the background |
| _updateRect | the area which to draw |
Reimplemented in CScrollView, CShadowViewContainer, and CTabView.
|
overridevirtual |
| pContext | the context which to use to draw |
| updateRect | the area which to draw |
Reimplemented from CView.
|
inline |
execute proc for each child view
conversion from frame coordinates to local view coordinates
| point | location |
Reimplemented from CView.
|
inline |
|
virtual |
get the background color
| CDrawStyle getBackgroundColorDrawStyle | ( | ) | const |
|
virtual |
get the offset of the background bitmap
|
protected |
|
inline |
get child views of type ViewClass.
ContainerClass must be a stdc++ container
|
virtual |
get the container at point where
| p | location |
| options | search search options |
Reimplemented in CFrame.
|
overridevirtual |
get the drag target for drag and drop handling
Reimplemented from CView.
|
protected |
|
virtual |
| const CGraphicsTransform & getTransform | ( | ) | const |
|
virtual |
get the child view at index
| index | the index of the view to return |
Reimplemented in CScrollView.
|
virtual |
get the view at point where
| p | location |
| options | search options |
Reimplemented in CFrame.
|
virtual |
get all views at point where, top->down
| p | location |
| views | result list |
| options | search options |
Reimplemented in CFrame.
| rect | size to get visible size of |
|
virtual |
check if container has child views
| where | point |
| event | current event |
Reimplemented in CFrame.
|
overridevirtual |
mark whole view as invalid
Reimplemented from CView.
|
virtual |
|
overridevirtual |
| bool isChild | ( | CView * | pView | ) | const |
check if pView is a child view of this container
| pView | the view which should be checked if it is a child of this container |
|
virtual |
check if pView is a child view of this container
|
overridevirtual |
check if view is dirty
Reimplemented from CView.
conversion from local view coordinates to frame coordinates
| point | location |
Reimplemented from CView.
|
overridevirtual |
called if view should loose focus
Reimplemented from CView.
|
inlineoverride |
|
overridevirtual |
| sender | message sender |
| message | message text |
Reimplemented from CView.
|
overridevirtual |
called when mouse tracking should be canceled
Reimplemented from CView.
|
overridevirtual |
called when a mouse down event occurs
Reimplemented from CView.
|
overridevirtual |
called when a mouse move event occurs
Reimplemented from CView.
|
overridevirtual |
called when a mouse up event occurs
Reimplemented from CView.
|
overridevirtual |
called when a mouse wheel event occurs
Reimplemented from CView.
|
finalvirtual |
| where | location |
| axis | mouse wheel axis |
| distance | wheel distance |
| buttons | button and modifier state |
Reimplemented from CView.
|
overridevirtual |
called when a zoom gesture event occurs
Reimplemented from CView.
|
overridevirtual |
notification that one of the views parent has changed its size
Reimplemented from CView.
| void registerViewContainerListener | ( | IViewContainerListener * | listener | ) |
|
virtual |
remove all child views
| withForget | bool to indicate if the view's reference counter should be decreased after removed from the container |
Reimplemented in CFrame, CScrollView, and CSplitView.
|
overridevirtual |
view is removed from parent view
| parent | parent view |
Reimplemented from CView.
Reimplemented in UIViewSwitchContainer.
|
virtual |
remove a child view
| pView | the view which should be removed from the container |
| withForget | bool to indicate if the view's reference counter should be decreased after removed from the container |
Reimplemented in CFrame, CAutoLayoutContainerView, CScrollView, and CSplitView.
|
virtual |
enable or disable autosizing subviews.
Per default this is enabled.
|
virtual |
set the background color (will only be drawn if this container is not set to transparent and does not have a background bitmap)
| color | the new background color of the container |
Reimplemented in CScrollView.
|
virtual |
|
virtual |
set the offset of the background bitmap
|
protected |
| void setTransform | ( | const CGraphicsTransform & | t | ) |
|
overridevirtual |
| rect | the new size of the container |
| invalid | the views to dirty |
Reimplemented from CView.
|
overridevirtual |
resize view to optimal size
Reimplemented from CView.
|
overridevirtual |
called if view should take focus
Reimplemented from CView.
| void unregisterViewContainerListener | ( | IViewContainerListener * | listener | ) |