VSTGUI  3.6
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
CViewContainer Class Reference

Container Class of CView objects. More...

#include <vstgui.h>

+ Inheritance diagram for CViewContainer:

Public Member Functions

virtual ~CViewContainer ()
 
virtual void useOffscreen (bool b)
 turn on/off using an offscreen. Not necessary with GDI+ on Windows, or on Mac OS X. More...
 
void modifyDrawContext (CCoord save[4], CDrawContext *pContext)
 
void restoreDrawContext (CDrawContext *pContext, CCoord save[4])
 
virtual bool advanceNextFocusView (CView *oldFocus, bool reverse=false)
 
virtual void draw (CDrawContext *pContext)
 
virtual void drawRect (CDrawContext *pContext, const CRect &updateRect)
 
virtual CMouseEventResult onMouseDown (CPoint &where, const long &buttons)
 called when a mouse down event occurs More...
 
virtual CMouseEventResult onMouseUp (CPoint &where, const long &buttons)
 called when a mouse up event occurs More...
 
virtual CMouseEventResult onMouseMoved (CPoint &where, const long &buttons)
 called when a mouse move event occurs More...
 
virtual bool onWheel (const CPoint &where, const float &distance, const long &buttons)
 called if a mouse wheel event is happening over this view More...
 
virtual bool onWheel (const CPoint &where, const CMouseWheelAxis &axis, const float &distance, const long &buttons)
 called if a mouse wheel event is happening over this view More...
 
virtual bool hitTest (const CPoint &where, const long buttons=-1)
 
virtual long onKeyDown (VstKeyCode &keyCode)
 called if a key down event occurs and this view has focus More...
 
virtual long onKeyUp (VstKeyCode &keyCode)
 called if a key up event occurs and this view has focus More...
 
virtual CMessageResult notify (CBaseObject *sender, const char *message)
 
virtual bool onDrop (CDragContainer *drag, const CPoint &where)
 called if a drag is dropped onto this view More...
 
virtual void onDragEnter (CDragContainer *drag, const CPoint &where)
 called if a drag is entering this view More...
 
virtual void onDragLeave (CDragContainer *drag, const CPoint &where)
 called if a drag is leaving this view More...
 
virtual void onDragMove (CDragContainer *drag, const CPoint &where)
 called if a drag is moved inside this view More...
 
virtual void looseFocus ()
 called if view should loose focus More...
 
virtual void takeFocus ()
 called if view should take focus More...
 
virtual bool isDirty () const
 check if view is dirty More...
 
virtual void invalid ()
 mark whole view as invalid More...
 
virtual void invalidRect (const CRect rect)
 mark rect as invalid More...
 
virtual bool invalidateDirtyViews ()
 
virtual void setViewSize (CRect &rect, bool invalid=true)
 
virtual void parentSizeChanged ()
 notification that one of the views parent has changed its size More...
 
virtual CRect getVisibleSize (const CRect rect) const
 
virtual bool removed (CView *parent)
 view is removed from parent view More...
 
virtual bool attached (CView *parent)
 view is attached to a parent view More...
 
virtual CPointframeToLocal (CPoint &point) const
 conversion from frame coordinates to local view coordinates More...
 
virtual CPointlocalToFrame (CPoint &point) const
 conversion from local view coordinates to frame coordinates More...
 
virtual bool isTypeOf (const char *s) const
 
virtual CViewnewCopy () const
 
virtual void mouse (CDrawContext *pContext, CPoint &where, long buttons=-1)
 
virtual CViewgetCurrentView () const
 
virtual void setBackground (CBitmap *background)
 set the background image of this view More...
 
virtual CBitmapgetBackground () const
 get the background image of this view More...
 
virtual void setTransparency (bool val)
 set views transparent state More...
 
virtual bool getTransparency () const
 get views transparent state More...
 
bool isAttached () const
 is view attached to a parentView More...
 
virtual void getMouseLocation (CDrawContext *context, CPoint &point)
 
virtual void setParentView (CView *pParentView)
 
virtual void setFrame (CFrame *pParent)
 
virtual void getFrameTopLeftPos (CPoint &topLeft) const
 

Protected Member Functions

virtual bool checkUpdateRect (CView *view, const CRect &rect)
 
virtual bool hitTestSubViews (const CPoint &where, const long buttons=-1)
 
void drawBackToFront (CDrawContext *context, const CRect &rect)
 

Protected Attributes

CCView * pFirstView
 
CCView * pLastView
 
COffscreenContextpOffscreenContext
 
CColor backgroundColor
 
CPoint backgroundOffset
 
bool bDrawInOffscreen
 
CViewcurrentDragView
 
CViewmouseDownView
 
CRect size
 
CRect mouseableArea
 
CFramepParentFrame
 
CViewpParentView
 
bool bDirty
 
bool bMouseEnabled
 
bool bTransparencyEnabled
 
bool bWantsFocus
 
bool bIsAttached
 
bool bVisible
 
long autosizeFlags
 
CBitmappBackground
 
CAttributeListEntry * pAttributeList
 

Reference Counting Methods

virtual void forget ()
 decrease refcount and delete object if refcount == 0 More...
 
virtual void remember ()
 increase refcount More...
 
long getNbReference () const
 get refcount More...
 

Draw and Update Methods

virtual bool checkUpdate (const CRect &updateRect) const
 
virtual void setDirty (const bool val=true)
 set the view to dirty so that it is redrawn in the next idle. Thread Safe ! More...
 
virtual void setVisible (bool state)
 set visibility state More...
 
bool isVisible () const
 get visibility state More...
 

Mouse Methods

virtual CMouseEventResult onMouseEntered (CPoint &where, const long &buttons)
 called when the mouse enters this view More...
 
virtual CMouseEventResult onMouseExited (CPoint &where, const long &buttons)
 called when the mouse leaves this view More...
 
virtual void setMouseEnabled (const bool bEnable=true)
 turn on/off mouse usage for this view More...
 
virtual 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...
 
virtual CRectgetMouseableArea (CRect &rect) const
 get the area in which the view reacts to the mouse More...
 
virtual const CRectgetMouseableArea () const
 read only access to the mouseable area More...
 

View Size Methods

CCoord getHeight () const
 get the height of the view More...
 
CCoord getWidth () const
 get the width of the view More...
 
virtual CRectgetViewSize (CRect &rect) const
 returns the current view size More...
 
virtual const CRectgetViewSize () const
 read only access to view size More...
 
virtual CRect getVisibleSize () const
 returns the visible size of the view More...
 
virtual void setAutosizeFlags (long flags)
 set autosize flags More...
 
virtual long getAutosizeFlags () const
 get autosize flags More...
 

Focus Methods

virtual bool wantsFocus () const
 check if view supports focus More...
 
virtual void setWantsFocus (bool state)
 set focus support on/off More...
 

Attribute Methods

bool getAttributeSize (const CViewAttributeID id, long &outSize) const
 get the size of an attribute More...
 
bool getAttribute (const CViewAttributeID id, const long inSize, void *outData, long &outSize) const
 get an attribute More...
 
bool setAttribute (const CViewAttributeID id, const long inSize, const void *inData)
 set an attribute More...
 
bool removeAttribute (const CViewAttributeID id)
 remove an attribute More...
 

Parent Methods

CViewgetParentView () const
 get parent view More...
 
CFramegetFrame () const
 get frame More...
 
virtual VSTGUIEditorInterfacegetEditor () const
 get editor More...
 

Constructor

 CViewContainer (const CRect &size, CFrame *pParent, CBitmap *pBackground=0)
 
 CViewContainer (const CViewContainer &viewContainer)
 

Sub View Methods

virtual bool addView (CView *pView)
 add a child view More...
 
virtual bool addView (CView *pView, CRect &mouseableArea, bool mouseEnabled=true)
 add a child view More...
 
virtual bool addView (CView *pView, CView *pBefore)
 add a child view before another view More...
 
virtual bool removeView (CView *pView, const bool &withForget=true)
 remove a child view More...
 
virtual bool removeAll (const bool &withForget=true)
 remove all child views More...
 
virtual bool isChild (CView *pView) const
 check if pView is a child view of this container More...
 
virtual long getNbViews () const
 get the number of child views More...
 
virtual CViewgetView (long index) const
 get the child view at index More...
 
virtual CViewgetViewAt (const CPoint &where, bool deep=false) const
 get the view at point where More...
 
virtual CViewContainergetContainerAt (const CPoint &where, bool deep=true) const
 get the container at point where More...
 

Background Methods

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 const CPointgetBackgroundOffset () const
 get the offset of the background bitmap More...
 
virtual void drawBackgroundRect (CDrawContext *pContext, CRect &_updateRect)
 draw the background More...
 

Detailed Description

Container Class of CView objects.

Constructor & Destructor Documentation

CViewContainer ( const CRect rect,
CFrame pParent,
CBitmap pBackground = 0 
)

CViewContainer constructor.

Parameters
rectthe size of the container
pParentthe parent CFrame
pBackgroundthe background bitmap, can be NULL
CViewContainer ( const CViewContainer viewContainer)
~CViewContainer ( )
virtual

Member Function Documentation

bool addView ( CView pView)
virtual

add a child view

Parameters
pViewthe view object to add to this container
Returns
true on success. false if view was already attached

Reimplemented in CScrollView.

bool addView ( CView pView,
CRect mouseableArea,
bool  mouseEnabled = true 
)
virtual

add a child view

Parameters
pViewthe view object to add to this container
mouseableAreathe view area in where the view will get mouse events
mouseEnabledbool to set if view will get mouse events
Returns
true on success. false if view was already attached

Reimplemented in CScrollView.

bool addView ( CView pView,
CView pBefore 
)
virtual

add a child view before another view

Parameters
pViewthe view object to add to this container
pBeforethe view object
Returns
true on success. false if view was already attached
bool advanceNextFocusView ( CView oldFocus,
bool  reverse = false 
)
virtual
Parameters
oldFocusold focus view
reversesearch order
Returns
true on success

Reimplemented in CFrame.

bool attached ( CView parent)
virtual

view is attached to a parent view

Parameters
parentparent view
Returns
true if view successfully attached to parent

Reimplemented from CView.

Reimplemented in CDataBrowser.

virtual bool checkUpdate ( const CRect updateRect) const
inlinevirtualinherited
bool checkUpdateRect ( CView view,
const CRect rect 
)
protectedvirtual

check if view needs to be updated for rect

Parameters
viewview to check
rectupdate rect
Returns
true if view needs update
void draw ( CDrawContext pContext)
virtual
Parameters
pContextthe context which to use to draw this container and its subviews

Reimplemented from CView.

Reimplemented in CFrame.

void drawBackgroundRect ( CDrawContext pContext,
CRect _updateRect 
)
virtual

draw the background

Parameters
pContextthe context which to use to draw the background
_updateRectthe area which to draw

Reimplemented in CScrollView.

void drawBackToFront ( CDrawContext context,
const CRect rect 
)
protected
void drawRect ( CDrawContext pContext,
const CRect updateRect 
)
virtual
Parameters
pContextthe context which to use to draw
updateRectthe area which to draw

Reimplemented from CView.

Reimplemented in CFrame.

virtual void forget ( )
inlinevirtualinherited

decrease refcount and delete object if refcount == 0

Reimplemented in CDrawContext.

CPoint & frameToLocal ( CPoint point) const
virtual

conversion from frame coordinates to local view coordinates

Parameters
pointlocation
Returns
converted point

Reimplemented from CView.

bool getAttribute ( const CViewAttributeID  id,
const long  inSize,
void *  outData,
long &  outSize 
) const
inherited

get an attribute

Parameters
idthe ID of the Attribute
inSizethe size of the outData pointer
outDataa pointer where to copy the attribute data
outSizethe size in bytes which was copied into outData
Returns
true if attribute exists and outData was big enough. outSize and outData is valid then.
bool getAttributeSize ( const CViewAttributeID  id,
long &  outSize 
) const
inherited

get the size of an attribute

Parameters
idthe ID of the Attribute
outSizeon return the size of the attribute
Returns
true if attribute exists. outSize is valid then.
virtual long getAutosizeFlags ( ) const
inlinevirtualinherited

get autosize flags

virtual CBitmap* getBackground ( ) const
inlinevirtualinherited

get the background image of this view

virtual CColor getBackgroundColor ( ) const
inlinevirtual

get the background color

virtual const CPoint& getBackgroundOffset ( ) const
inlinevirtual

get the offset of the background bitmap

CViewContainer * getContainerAt ( const CPoint p,
bool  deep = true 
) const
virtual

get the container at point where

Parameters
plocation
deepsearch deep
Returns
view container at position p
CView * getCurrentView ( ) const
virtual
Deprecated:

Reimplemented in CFrame.

VSTGUIEditorInterface * getEditor ( ) const
virtualinherited

get editor

Reimplemented in CFrame.

CFrame* getFrame ( ) const
inlineinherited

get frame

void getFrameTopLeftPos ( CPoint topLeft) const
virtualinherited
CCoord getHeight ( ) const
inlineinherited

get the height of the view

virtual CRect& getMouseableArea ( CRect rect) const
inlinevirtualinherited

get the area in which the view reacts to the mouse

virtual const CRect& getMouseableArea ( ) const
inlinevirtualinherited

read only access to the mouseable area

virtual bool getMouseEnabled ( ) const
inlinevirtualinherited

get the state of wheather this view uses the mouse or not

void getMouseLocation ( CDrawContext context,
CPoint point 
)
virtualinherited
long getNbReference ( ) const
inlineinherited

get refcount

long getNbViews ( ) const
virtual

get the number of child views

Returns
number of subviews

Reimplemented in CScrollView.

CView* getParentView ( ) const
inlineinherited

get parent view

virtual bool getTransparency ( ) const
inlinevirtualinherited

get views transparent state

CView * getView ( long  index) const
virtual

get the child view at index

Parameters
indexthe index of the view to return
Returns
view at index. NULL if view at index does not exist.

Reimplemented in CScrollView.

CView * getViewAt ( const CPoint p,
bool  deep = false 
) const
virtual

get the view at point where

Parameters
plocation
deepsearch deep
Returns
view at position p
virtual CRect& getViewSize ( CRect rect) const
inlinevirtualinherited

returns the current view size

virtual const CRect& getViewSize ( ) const
inlinevirtualinherited

read only access to view size

CRect getVisibleSize ( ) const
virtualinherited

returns the visible size of the view

Returns
visible size of view
CRect getVisibleSize ( const CRect  rect) const
virtual
Parameters
rectsize to get visible size of
Returns
visible size of rect
CCoord getWidth ( ) const
inlineinherited

get the width of the view

bool hitTest ( const CPoint where,
const long  buttons = -1 
)
virtual
Parameters
wherepoint
buttonsmouse button and modifier state
Returns
true if container accepts the hit

Reimplemented from CView.

bool hitTestSubViews ( const CPoint where,
const long  buttons = -1 
)
protectedvirtual
Parameters
wherepoint
buttonsmouse button and modifier state
Returns
true if any sub view accepts the hit
void invalid ( )
virtual

mark whole view as invalid

Reimplemented from CView.

Reimplemented in CFrame.

bool invalidateDirtyViews ( )
virtual
void invalidRect ( const CRect  rect)
virtual

mark rect as invalid

Parameters
rectrect to invalidate

Reimplemented from CView.

Reimplemented in CFrame.

bool isAttached ( ) const
inlineinherited

is view attached to a parentView

bool isChild ( CView pView) const
virtual

check if pView is a child view of this container

Parameters
pViewthe view which should be checked if it is a child of this container
Returns
true on success

Reimplemented in CScrollView.

bool isDirty ( ) const
virtual

check if view is dirty

Reimplemented from CView.

virtual bool isTypeOf ( const char *  s) const
inlinevirtual

Reimplemented from CView.

Reimplemented in CFrame, CScrollView, and CTabView.

bool isVisible ( ) const
inlineinherited

get visibility state

CPoint & localToFrame ( CPoint point) const
virtual

conversion from local view coordinates to frame coordinates

Parameters
pointlocation
Returns
converted point

Reimplemented from CView.

void looseFocus ( )
virtual

called if view should loose focus

Reimplemented from CView.

void modifyDrawContext ( CCoord  save[4],
CDrawContext pContext 
)
void mouse ( CDrawContext pContext,
CPoint where,
long  buttons = -1 
)
virtual
Deprecated:
use the new mouse methods instead

Reimplemented from CView.

Reimplemented in CFrame.

virtual CView* newCopy ( ) const
inlinevirtual

Reimplemented from CView.

Reimplemented in CFrame, CScrollView, and CTabView.

CMessageResult notify ( CBaseObject sender,
const char *  message 
)
virtual
Parameters
sendermessage sender
messagemessage text
Returns
message handled or not. See CMessageResult

Reimplemented from CView.

Reimplemented in CDataBrowser.

void onDragEnter ( CDragContainer drag,
const CPoint where 
)
virtual

called if a drag is entering this view

Reimplemented from CView.

void onDragLeave ( CDragContainer drag,
const CPoint where 
)
virtual

called if a drag is leaving this view

Reimplemented from CView.

void onDragMove ( CDragContainer drag,
const CPoint where 
)
virtual

called if a drag is moved inside this view

Reimplemented from CView.

bool onDrop ( CDragContainer drag,
const CPoint where 
)
virtual

called if a drag is dropped onto this view

Reimplemented from CView.

long onKeyDown ( VstKeyCode keyCode)
virtual

called if a key down event occurs and this view has focus

Parameters
keyCodekey code of pressed key
Returns
-1 if not handled and 1 if handled

Reimplemented from CView.

Reimplemented in CFrame.

long onKeyUp ( VstKeyCode keyCode)
virtual

called if a key up event occurs and this view has focus

Parameters
keyCodekey code of pressed key
Returns
-1 if not handled and 1 if handled

Reimplemented from CView.

Reimplemented in CFrame.

CMouseEventResult onMouseDown ( CPoint where,
const long &  buttons 
)
virtual

called when a mouse down event occurs

Parameters
wheremouse location of mouse down
buttonsbutton and modifier state
Returns
event result. see CMouseEventResult

Reimplemented from CView.

Reimplemented in CFrame.

virtual CMouseEventResult onMouseEntered ( CPoint where,
const long &  buttons 
)
inlinevirtualinherited

called when the mouse enters this view

virtual CMouseEventResult onMouseExited ( CPoint where,
const long &  buttons 
)
inlinevirtualinherited

called when the mouse leaves this view

Reimplemented in CFrame.

CMouseEventResult onMouseMoved ( CPoint where,
const long &  buttons 
)
virtual

called when a mouse move event occurs

Parameters
wheremouse location of mouse move
buttonsbutton and modifier state
Returns
event result. see CMouseEventResult

Reimplemented from CView.

Reimplemented in CFrame.

CMouseEventResult onMouseUp ( CPoint where,
const long &  buttons 
)
virtual

called when a mouse up event occurs

Parameters
wheremouse location of mouse up
buttonsbutton and modifier state
Returns
event result. see CMouseEventResult

Reimplemented from CView.

Reimplemented in CFrame.

bool onWheel ( const CPoint where,
const float &  distance,
const long &  buttons 
)
virtual

called if a mouse wheel event is happening over this view

Parameters
wherelocation
distancewheel distance
buttonsbutton and modifier state
Returns
true if handled

Reimplemented from CView.

Reimplemented in CFrame.

bool onWheel ( const CPoint where,
const CMouseWheelAxis axis,
const float &  distance,
const long &  buttons 
)
virtual

called if a mouse wheel event is happening over this view

Parameters
wherelocation
axismouse wheel axis
distancewheel distance
buttonsbutton and modifier state
Returns
true if handled

Reimplemented from CView.

Reimplemented in CFrame, and CScrollView.

void parentSizeChanged ( )
virtual

notification that one of the views parent has changed its size

Reimplemented from CView.

virtual void remember ( )
inlinevirtualinherited

increase refcount

bool removeAll ( const bool &  withForget = true)
virtual

remove all child views

Parameters
withForgetbool to indicate if the view's reference counter should be decreased after removed from the container
Returns
true on success

Reimplemented in CFrame, and CScrollView.

bool removeAttribute ( const CViewAttributeID  id)
inherited

remove an attribute

bool removed ( CView parent)
virtual

view is removed from parent view

Parameters
parentparent view
Returns
true if view successfully removed from parent

Reimplemented from CView.

bool removeView ( CView pView,
const bool &  withForget = true 
)
virtual

remove a child view

Parameters
pViewthe view which should be removed from the container
withForgetbool to indicate if the view's reference counter should be decreased after removed from the container
Returns
true on success

Reimplemented in CFrame, and CScrollView.

void restoreDrawContext ( CDrawContext pContext,
CCoord  save[4] 
)
bool setAttribute ( const CViewAttributeID  id,
const long  inSize,
const void *  inData 
)
inherited

set an attribute

copies data into the attribute. If it does not exist, creates a new attribute.

Parameters
idthe ID of the Attribute
inSizethe size of the outData pointer
inDataa pointer to the data
Returns
true if attribute was set
virtual void setAutosizeFlags ( long  flags)
inlinevirtualinherited

set autosize flags

void setBackground ( CBitmap background)
virtualinherited

set the background image of this view

Parameters
backgroundnew background bitmap
void setBackgroundColor ( const CColor  color)
virtual

set the background color (will only be drawn if this container is not set to transparent and does not have a background bitmap)

Parameters
colorthe new background color of the container
virtual void setBackgroundOffset ( const CPoint p)
inlinevirtual

set the offset of the background bitmap

virtual void setDirty ( const bool  val = true)
inlinevirtualinherited

set the view to dirty so that it is redrawn in the next idle. Thread Safe !

Reimplemented in CVuMeter, and CControl.

virtual void setFrame ( CFrame pParent)
inlinevirtualinherited
virtual void setMouseableArea ( const CRect rect)
inlinevirtualinherited

set the area in which the view reacts to the mouse

virtual void setMouseEnabled ( const bool  bEnable = true)
inlinevirtualinherited

turn on/off mouse usage for this view

virtual void setParentView ( CView pParentView)
inlinevirtualinherited
virtual void setTransparency ( bool  val)
inlinevirtualinherited

set views transparent state

Reimplemented in CScrollView.

void setViewSize ( CRect rect,
bool  invalid = true 
)
virtual
Parameters
rectthe new size of the container
invalidthe views to dirty

Reimplemented from CView.

Reimplemented in CFrame, CScrollView, and CTabView.

void setVisible ( bool  state)
virtualinherited

set visibility state

virtual void setWantsFocus ( bool  state)
inlinevirtualinherited

set focus support on/off

void takeFocus ( )
virtual

called if view should take focus

Reimplemented from CView.

void useOffscreen ( bool  b)
virtual

turn on/off using an offscreen. Not necessary with GDI+ on Windows, or on Mac OS X.

virtual bool wantsFocus ( ) const
inlinevirtualinherited

check if view supports focus

Member Data Documentation

long autosizeFlags
protectedinherited
CColor backgroundColor
protected
CPoint backgroundOffset
protected
bool bDirty
protectedinherited
bool bDrawInOffscreen
protected
bool bIsAttached
protectedinherited
bool bMouseEnabled
protectedinherited
bool bTransparencyEnabled
protectedinherited
bool bVisible
protectedinherited
bool bWantsFocus
protectedinherited
CView* currentDragView
protected
CRect mouseableArea
protectedinherited
CView* mouseDownView
protected
CAttributeListEntry* pAttributeList
protectedinherited
CBitmap* pBackground
protectedinherited
CCView* pFirstView
protected
CCView* pLastView
protected
COffscreenContext* pOffscreenContext
protected
CFrame* pParentFrame
protectedinherited
CView* pParentView
protectedinherited
CRect size
protectedinherited

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