VSTGUI  4.4
Graphical User Interface Framework not only for VST plugins
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Groups Pages
CDataBrowser Class Reference

DataBrowser view. More...

+ Inheritance diagram for CDataBrowser:

Classes

struct  Cell
 CDataBrowser Cell position description. More...
 

Public Types

enum  CDataBrowserStyle { kDrawRowLines = 1 << kDrawRowLinesFlag, kDrawColumnLines = 1 << kDrawColumnLinesFlag, kDrawHeader = 1 << kDrawHeaderFlag, kMultiSelectionStyle = 1 << kMultiSelectionStyleFlag }
 
enum  { kNoSelection = -1 }
 
typedef std::vector< int32_t > Selection
 
- Public Types inherited from CScrollView
enum  CScrollViewStyle {
  kHorizontalScrollbar = 1 << kHorizontalScrollbarFlag, kVerticalScrollbar = 1 << kVerticalScrollbarFlag, kDontDrawFrame = 1 << kDontDrawFrameFlag, kAutoDragScrolling = 1 << kAutoDragScollingFlag,
  kOverlayScrollbars = 1 << kOverlayScrollbarsFlag, kFollowFocusView = 1 << kFollowFocusViewFlag, kAutoHideScrollbars = 1 << kAutoHideScrollbarsFlag
}
 Scroll View Style Flags. More...
 
- Public Types inherited from CViewContainer
typedef std::list
< SharedPointer< CView > > 
ViewList
 
typedef ViewList::const_iterator ChildViewConstIterator
 
typedef
ViewList::const_reverse_iterator 
ChildViewConstReverseIterator
 

Public Member Functions

 CDataBrowser (const CRect &size, IDataBrowserDelegate *db, int32_t style=0, CCoord scrollbarWidth=16, CBitmap *pBackground=0)
 
 CDataBrowser (const CRect &size, CFrame *pParent, IDataBrowserDelegate *db, int32_t style=0, CCoord scrollbarWidth=16, CBitmap *pBackground=0)
 
IDataBrowserDelegategetDataSource () const
 
CRect getCellBounds (int32_t row, int32_t column)
 
void invalidate (int32_t row, int32_t column)
 
void beginTextEdit (int32_t row, int32_t column, UTF8StringPtr initialText)
 
void setAutosizeFlags (int32_t flags)
 set autosize flags More...
 
void setViewSize (const CRect &size, bool invalid)
 set views size More...
 
void setWantsFocus (bool state)
 set focus support on/off More...
 
int32_t onKeyDown (VstKeyCode &keyCode)
 called if a key down event occurs and this view has focus More...
 
CMouseEventResult onMouseDown (CPoint &where, const CButtonState &buttons)
 called when a mouse down event occurs More...
 
CDataBrowser Methods
virtual void recalculateLayout (bool rememberSelection=false)
 trigger recalculation, call if numRows or numColumns changed More...
 
virtual void invalidate (const Cell &cell)
 invalidates an individual cell More...
 
virtual void invalidateRow (int32_t row)
 invalidates a complete row More...
 
virtual void makeRowVisible (int32_t row)
 scrolls the scrollview so that row is visible More...
 
virtual CRect getCellBounds (const Cell &cell)
 get bounds of a cell More...
 
virtual Cell getCellAt (const CPoint &where) const
 get the cell at position where More...
 
virtual int32_t getSelectedRow () const
 get first selected row More...
 
virtual void setSelectedRow (int32_t row, bool makeVisible=false)
 set the exclusive selected row More...
 
const SelectiongetSelection () const
 get all selected rows More...
 
virtual void selectRow (int32_t row)
 add row to selection More...
 
virtual void unselectRow (int32_t row)
 remove row from selection More...
 
virtual void unselectAll ()
 empty selection More...
 
virtual void beginTextEdit (const Cell &cell, UTF8StringPtr initialText)
 starts a text edit for a cell More...
 
IDataBrowserDelegategetDelegate () const
 get delegate object More...
 
- Public Member Functions inherited from CScrollView
 CScrollView (const CRect &size, const CRect &containerSize, int32_t style, CCoord scrollbarWidth=16, CBitmap *pBackground=0)
 
 CScrollView (const CRect &size, const CRect &containerSize, CFrame *pParent, int32_t style, CCoord scrollbarWidth=16, CBitmap *pBackground=0)
 
 CScrollView (const CScrollView &scrollView)
 
bool addView (CView *pView)
 add a child view More...
 
bool addView (CView *pView, const CRect &mouseableArea, bool mouseEnabled=true)
 add a child view More...
 
bool addView (CView *pView, CView *pBefore)
 add a child view before another view More...
 
bool removeView (CView *pView, bool withForget=true)
 remove a child view More...
 
bool removeAll (bool withForget=true)
 remove all child views More...
 
uint32_t getNbViews () const
 get the number of child views More...
 
CViewgetView (uint32_t index) const
 get the child view at index More...
 
void drawBackgroundRect (CDrawContext *pContext, const CRect &_updateRect)
 draw the background More...
 
bool onWheel (const CPoint &where, const CMouseWheelAxis &axis, const float &distance, const CButtonState &buttons)
 called if a mouse wheel event is happening over this view More...
 
void valueChanged (CControl *pControl)
 
void setTransparency (bool val)
 set views transparent state More...
 
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...
 
void setViewSize (const CRect &rect, bool invalid=true)
 set views size More...
 
void setAutosizeFlags (int32_t flags)
 set autosize flags More...
 
CMessageResult notify (CBaseObject *sender, IdStringPtr message)
 translates a local coordinate to a global one using parent transforms More...
 
virtual bool isTypeOf (IdStringPtr s) const
 
virtual CBaseObjectnewCopy () const
 
int32_t getStyle () const
 
void setStyle (int32_t newStyle)
 
int32_t getActiveScrollbars () const
 
CCoord getScrollbarWidth () const
 
void setScrollbarWidth (CCoord width)
 
virtual void setContainerSize (const CRect &cs, bool keepVisibleArea=false)
 set the virtual size of this container More...
 
const CRectgetContainerSize () const
 
const CPointgetScrollOffset () const
 get scroll offset More...
 
void resetScrollOffset ()
 
CScrollbargetVerticalScrollbar () const
 get the vertical scrollbar More...
 
CScrollbargetHorizontalScrollbar () const
 get the horizontal scrollbar More...
 
virtual void makeRectVisible (const CRect &rect)
 set scrollview to show rect More...
 
- Public Member Functions inherited from CViewContainer
 CViewContainer (const CRect &size)
 
 CViewContainer (const CRect &size, CFrame *pParent, CBitmap *pBackground=0)
 
 CViewContainer (const CViewContainer &viewContainer)
 
virtual bool advanceNextFocusView (CView *oldFocus, bool reverse=false)
 
virtual bool invalidateDirtyViews ()
 
virtual CRect getVisibleSize (const CRect &rect) const
 
void setTransform (const CGraphicsTransform &t)
 
const CGraphicsTransformgetTransform () const
 
void registerViewContainerListener (IViewContainerListener *listener)
 
void unregisterViewContainerListener (IViewContainerListener *listener)
 
virtual void draw (CDrawContext *pContext)
 called if the view should draw itself More...
 
virtual void drawRect (CDrawContext *pContext, const CRect &updateRect)
 called if the view should draw itself More...
 
virtual CMouseEventResult onMouseUp (CPoint &where, const CButtonState &buttons)
 called when a mouse up event occurs More...
 
virtual CMouseEventResult onMouseMoved (CPoint &where, const CButtonState &buttons)
 called when a mouse move event occurs More...
 
virtual CMouseEventResult onMouseCancel ()
 called when mouse tracking should be canceled More...
 
virtual bool onWheel (const CPoint &where, const float &distance, const CButtonState &buttons)
 called if a mouse wheel event is happening over this view More...
 
virtual bool hitTest (const CPoint &where, const CButtonState &buttons=-1)
 check if where hits this view More...
 
virtual bool onDrop (IDataPackage *drag, const CPoint &where)
 called if a drag is dropped onto this view More...
 
virtual void onDragEnter (IDataPackage *drag, const CPoint &where)
 called if a drag is entering this view More...
 
virtual void onDragLeave (IDataPackage *drag, const CPoint &where)
 called if a drag is leaving this view More...
 
virtual void onDragMove (IDataPackage *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 void parentSizeChanged ()
 notification that one of the views parent has changed its size More...
 
virtual bool sizeToFit ()
 resize view to optimal size 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 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 CViewgetViewAt (const CPoint &where, const GetViewOptions &options=GetViewOptions(GetViewOptions::kNone)) const
 get the view at point where More...
 
virtual CViewContainergetContainerAt (const CPoint &where, const GetViewOptions &options=GetViewOptions(GetViewOptions::kDeep)) const
 get the container at point where More...
 
virtual bool getViewsAt (const CPoint &where, ViewList &views, const GetViewOptions &options=GetViewOptions(GetViewOptions::kDeep)) 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 void setAutosizingEnabled (bool state)
 enable or disable autosizing subviews. Per default this is enabled. 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...
 
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 setBackgroundColorDrawStyle (CDrawStyle style)
 
CDrawStyle getBackgroundColorDrawStyle () const
 
- Public Member Functions inherited from CView
 CView (const CRect &size)
 
 CView (const CView &view)
 
void setSubviewState (bool state)
 
bool isSubview () const
 
CGraphicsTransform getGlobalTransform () const
 
template<typename T >
T & translateToGlobal (T &t) const
 
template<typename T >
translateToGlobal (const T &t) const
 translates a local coordinate to a global one using parent transforms More...
 
template<typename T >
T & translateToLocal (T &t) const
 translates a local coordinate to a global one using parent transforms More...
 
template<typename T >
translateToLocal (const T &t) const
 translates a global coordinate to a local one using parent transforms More...
 
void beforeDelete ()
 
virtual CMouseEventResult onMouseEntered (CPoint &where, const CButtonState &buttons)
 called when the mouse enters this view More...
 
virtual CMouseEventResult onMouseExited (CPoint &where, const CButtonState &buttons)
 called when the mouse leaves this view More...
 
void setHitTestPath (CGraphicsPath *path)
 
virtual void setMouseEnabled (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...
 
virtual DragResult doDrag (IDataPackage *source, const CPoint &offset=CPoint(0, 0), CBitmap *dragBitmap=0)
 start a drag operation. See CDropSource to create the source data package 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 CRectgetViewSize () const
 read only access to view size More...
 
virtual CRect getVisibleViewSize () const
 returns the visible size of the view More...
 
virtual int32_t getAutosizeFlags () const
 get autosize flags More...
 
virtual bool wantsFocus () const
 check if view supports focus 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...
 
virtual void setBackground (CBitmap *background)
 set the background image of this view More...
 
CBitmapgetBackground () 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...
 
CBitmapgetDisabledBackground () const
 get background image used when the mouse is not enabled More...
 
CBitmapgetDrawBackground () const
 
virtual 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...
 
CViewgetParentView () const
 get parent view More...
 
CFramegetFrame () const
 get frame More...
 
virtual VSTGUIEditorInterfacegetEditor () const
 get editor More...
 
void addAnimation (IdStringPtr name, Animation::IAnimationTarget *target, Animation::ITimingFunction *timingFunction, CBaseObject *notificationObject=0)
 
void removeAnimation (IdStringPtr name)
 
void removeAllAnimations ()
 
void registerViewListener (IViewListener *listener)
 
void unregisterViewListener (IViewListener *listener)
 
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. Thread Safe ! 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...
 
- Public Member Functions inherited from CBaseObject
 CBaseObject ()
 
virtual ~CBaseObject ()
 
virtual void forget ()
 decrease refcount and delete object if refcount == 0 More...
 
virtual void remember ()
 increase refcount More...
 
virtual int32_t getNbReference () const
 get refcount More...
 
- Public Member Functions inherited from IControlListener
virtual ~IControlListener ()
 
virtual int32_t controlModifierClicked (CControl *pControl, CButtonState button)
 return 1 if you want the control to not handle it, otherwise 0 More...
 
virtual void controlBeginEdit (CControl *pControl)
 
virtual void controlEndEdit (CControl *pControl)
 
virtual void controlTagWillChange (CControl *pControl)
 
virtual void controlTagDidChange (CControl *pControl)
 

Protected Types

enum  { kDrawRowLinesFlag = kLastScrollViewStyleFlag, kDrawColumnLinesFlag, kDrawHeaderFlag, kMultiSelectionStyleFlag }
 
- Protected Types inherited from CScrollView
enum  {
  kHorizontalScrollbarFlag, kVerticalScrollbarFlag, kDontDrawFrameFlag, kAutoDragScollingFlag,
  kOverlayScrollbarsFlag, kFollowFocusViewFlag, kAutoHideScrollbarsFlag, kLastScrollViewStyleFlag
}
 
enum  { kHSBTag, kVSBTag }
 
- Protected Types inherited from CViewContainer
enum  { kAutosizeSubviews = 1 << (CView::kLastCViewFlag + 1) }
 
- 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,
  kLastCViewFlag = 7
}
 

Protected Member Functions

 ~CDataBrowser ()
 
void valueChanged (CControl *pControl)
 
CMessageResult notify (CBaseObject *sender, IdStringPtr message)
 translates a local coordinate to a global one using parent transforms More...
 
bool attached (CView *parent)
 view is attached to a parent view More...
 
bool removed (CView *parent)
 view is removed from parent view More...
 
void recalculateSubViews ()
 
void validateSelection ()
 
- Protected Member Functions inherited from CScrollView
 ~CScrollView ()
 
- Protected Member Functions inherited from CViewContainer
 ~CViewContainer ()
 
virtual bool checkUpdateRect (CView *view, const CRect &rect)
 
virtual bool hitTestSubViews (const CPoint &where, const CButtonState buttons=-1)
 
- Protected Member Functions inherited from CView
 ~CView ()
 
CGraphicsPathgetHitTestPath () const
 

Protected Attributes

IDataBrowserDelegatedb
 
CDataBrowserView * dbView
 
CDataBrowserHeader * dbHeader
 
CViewContainerdbHeaderContainer
 
Selection selection
 
- Protected Attributes inherited from CScrollView
CScrollContainer * sc
 
CScrollbarvsb
 
CScrollbarhsb
 
CRect containerSize
 
CCoord scrollbarWidth
 
int32_t style
 
int32_t activeScrollbarStyle
 
- Protected Attributes inherited from CViewContainer
CDrawStyle backgroundColorDrawStyle
 
CColor backgroundColor
 
CPoint backgroundOffset
 
CRect lastDrawnFocus
 
CViewcurrentDragView
 
CViewmouseDownView
 
- Protected Attributes inherited from CView
CRect size
 
CRect mouseableArea
 
CFramepParentFrame
 
CViewpParentView
 
int32_t viewFlags
 
int32_t autosizeFlags
 
float alphaValue
 

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. Default value is false. More...
 
static uint32_t idleRate
 global idle rate in Hz, defaults to 30 Hz More...
 

Detailed Description

DataBrowser view.

Member Typedef Documentation

typedef std::vector<int32_t> Selection

Member Enumeration Documentation

anonymous enum
protected
Enumerator
kDrawRowLinesFlag 
kDrawColumnLinesFlag 
kDrawHeaderFlag 
kMultiSelectionStyleFlag 
anonymous enum
Enumerator
kNoSelection 
Enumerator
kDrawRowLines 
kDrawColumnLines 
kDrawHeader 
kMultiSelectionStyle 

Constructor & Destructor Documentation

CDataBrowser ( const CRect size,
IDataBrowserDelegate db,
int32_t  style = 0,
CCoord  scrollbarWidth = 16,
CBitmap pBackground = 0 
)
Parameters
sizesize of data browser
pParentframe
dbdata browser interface. If db is inheritated from CBaseObject it will be remembered and released if data browser is destroyed
styledata browser and scroll view style see CDataBrowserStyle and CScrollViewStyle
scrollbarWidthwidth of scrollbars
pBackgroundbackground bitmap
CDataBrowser ( const CRect size,
CFrame pParent,
IDataBrowserDelegate db,
int32_t  style = 0,
CCoord  scrollbarWidth = 16,
CBitmap pBackground = 0 
)
Parameters
sizesize of data browser
pParentframe
dbdata browser interface. If db is inheritated from CBaseObject it will be remembered and released if data browser is destroyed
styledata browser and scroll view style see CDataBrowserStyle and CScrollViewStyle
scrollbarWidthwidth of scrollbars
pBackgroundbackground bitmap
~CDataBrowser ( )
protected

Member Function Documentation

bool attached ( CView parent)
protectedvirtual

view is attached to a parent view

Parameters
parentparent view
Returns
true if view successfully attached to parent

Reimplemented from CViewContainer.

void beginTextEdit ( const Cell cell,
UTF8StringPtr  initialText 
)
virtual

starts a text edit for a cell

Parameters
rowrow number
columncolumn number
initialTextUTF-8 string the text edit field will be initialized with
void beginTextEdit ( int32_t  row,
int32_t  column,
UTF8StringPtr  initialText 
)
inline
Deprecated:
, use CDataBrowser::beginTextEdit (const Cell& cell, UTF8StringPtr initialText)
CDataBrowser::Cell getCellAt ( const CPoint where) const
virtual

get the cell at position where

CRect getCellBounds ( const Cell cell)
virtual

get bounds of a cell

Parameters
rowrow number
columncolumn number
Returns
bounds of cell
CRect getCellBounds ( int32_t  row,
int32_t  column 
)
inline
IDataBrowserDelegate* getDataSource ( ) const
inline
IDataBrowserDelegate* getDelegate ( ) const
inline

get delegate object

int32_t getSelectedRow ( ) const
virtual

get first selected row

const Selection& getSelection ( ) const
inline

get all selected rows

void invalidate ( const Cell cell)
virtual

invalidates an individual cell

Parameters
rowrow to invalidate
columncolumn to invalidate
void invalidate ( int32_t  row,
int32_t  column 
)
inline
void invalidateRow ( int32_t  row)
virtual

invalidates a complete row

Parameters
rowrow to invalidate
void makeRowVisible ( int32_t  row)
virtual

scrolls the scrollview so that row is visible

Parameters
rowrow to make visible
CMessageResult notify ( CBaseObject sender,
IdStringPtr  message 
)
protectedvirtual

translates a local coordinate to a global one using parent transforms

Parameters
sendermessage sender
messagemessage text
Returns
message handled or not. See CMessageResult

Reimplemented from CViewContainer.

int32_t 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.

CMouseEventResult onMouseDown ( CPoint where,
const CButtonState 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 CViewContainer.

void recalculateLayout ( bool  rememberSelection = false)
virtual

trigger recalculation, call if numRows or numColumns changed

Parameters
rememberSelectionif true selection will be remembered
void recalculateSubViews ( )
protectedvirtual

Reimplemented from CScrollView.

bool removed ( CView parent)
protectedvirtual

view is removed from parent view

Parameters
parentparent view
Returns
true if view successfully removed from parent

Reimplemented from CViewContainer.

void selectRow ( int32_t  row)
virtual

add row to selection

void setAutosizeFlags ( int32_t  flags)
virtual

set autosize flags

Reimplemented from CView.

void setSelectedRow ( int32_t  index,
bool  makeVisible = false 
)
virtual

set the exclusive selected row

Parameters
indexrow to select
makeVisibleif true makes row visible
void setViewSize ( const CRect newSize,
bool  doInvalid 
)
virtual

set views size

Parameters
newSizerect of new size of view
invalidif true set view dirty

Reimplemented from CViewContainer.

void setWantsFocus ( bool  state)
virtual

set focus support on/off

Reimplemented from CView.

void unselectAll ( )
virtual

empty selection

void unselectRow ( int32_t  row)
virtual

remove row from selection

void validateSelection ( )
protected
void valueChanged ( CControl pControl)
protectedvirtual

Implements IControlListener.

Member Data Documentation

IDataBrowserDelegate* db
protected
CDataBrowserHeader* dbHeader
protected
CViewContainer* dbHeaderContainer
protected
CDataBrowserView* dbView
protected
Selection selection
protected

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