ASPiK SDK
VSTGUI::CDataBrowser Class Reference

DataBrowser view. More...

#include <cdatabrowser.h>

Inheritance diagram for VSTGUI::CDataBrowser:
VSTGUI::CScrollView VSTGUI::CViewContainer VSTGUI::IControlListener VSTGUI::IViewListenerAdapter VSTGUI::CView VSTGUI::IViewListener VSTGUI::CBaseObject VSTGUI::ReferenceCounted< T > VSTGUI::IReference

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 }
 
using Selection = std::vector< int32_t >
 
- Public Types inherited from VSTGUI::CScrollView
enum  CScrollViewStyle {
  kHorizontalScrollbar = 1 << kHorizontalScrollbarFlag, kVerticalScrollbar = 1 << kVerticalScrollbarFlag, kDontDrawFrame = 1 << kDontDrawFrameFlag, kAutoDragScrolling = 1 << kAutoDragScollingFlag,
  kOverlayScrollbars = 1 << kOverlayScrollbarsFlag, kFollowFocusView = 1 << kFollowFocusViewFlag, kAutoHideScrollbars = 1 << kAutoHideScrollbarsFlag
}
 
- Public Types inherited from VSTGUI::CViewContainer
using ViewList = std::list< SharedPointer< CView > >
 
using ChildViewConstIterator = ViewList::const_iterator
 
using ChildViewConstReverseIterator = ViewList::const_reverse_iterator
 

Public Member Functions

 CDataBrowser (const CRect &size, IDataBrowserDelegate *db, int32_t style=0, CCoord scrollbarWidth=16, CBitmap *pBackground=nullptr)
 
void setAutosizeFlags (int32_t flags) override
 set autosize flags
 
void setViewSize (const CRect &size, bool invalid) override
 set views size More...
 
void setWantsFocus (bool state) override
 set focus support on/off
 
int32_t onKeyDown (VstKeyCode &keyCode) override
 called if a key down event occurs and this view has focus More...
 
CMouseEventResult onMouseDown (CPoint &where, const CButtonState &buttons) override
 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
 
virtual int32_t getSelectedRow () const
 get first selected row
 
virtual void setSelectedRow (int32_t row, bool makeVisible=false)
 set the exclusive selected row More...
 
const Selection & getSelection () const
 get all selected rows
 
virtual void selectRow (int32_t row)
 add row to selection
 
virtual void unselectRow (int32_t row)
 remove row from selection
 
virtual void unselectAll ()
 empty selection
 
virtual void beginTextEdit (const Cell &cell, UTF8StringPtr initialText)
 starts a text edit for a cell More...
 
IDataBrowserDelegategetDelegate () const
 get delegate object
 
- Public Member Functions inherited from VSTGUI::CScrollView
 CScrollView (const CRect &size, const CRect &containerSize, int32_t style, CCoord scrollbarWidth=16, CBitmap *pBackground=nullptr)
 
 CScrollView (const CScrollView &scrollView)
 
bool addView (CView *pView) override
 add a child view More...
 
bool addView (CView *pView, const CRect &mouseableArea, bool mouseEnabled=true) override
 add a child view More...
 
bool addView (CView *pView, CView *pBefore) override
 add a child view before another view More...
 
bool removeView (CView *pView, bool withForget=true) override
 remove a child view More...
 
bool removeAll (bool withForget=true) override
 remove all child views More...
 
uint32_t getNbViews () const override
 get the number of child views More...
 
CViewgetView (uint32_t index) const override
 get the child view at index More...
 
void drawBackgroundRect (CDrawContext *pContext, const CRect &_updateRect) override
 draw the background More...
 
bool onWheel (const CPoint &where, const CMouseWheelAxis &axis, const float &distance, const CButtonState &buttons) override
 called if a mouse wheel event is happening over this view More...
 
void valueChanged (CControl *pControl) override
 
void setTransparency (bool val) override
 set views transparent state
 
void setBackgroundColor (const CColor &color) override
 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) override
 set views size More...
 
void setAutosizeFlags (int32_t flags) override
 set autosize flags
 
CMessageResult notify (CBaseObject *sender, IdStringPtr message) override
 
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
 
const CRectgetContainerSize () const
 
const CPointgetScrollOffset () const
 get scroll offset
 
void resetScrollOffset ()
 
CScrollbargetVerticalScrollbar () const
 get the vertical scrollbar
 
CScrollbargetHorizontalScrollbar () const
 get the horizontal scrollbar
 
virtual void makeRectVisible (const CRect &rect)
 set scrollview to show rect
 
- Public Member Functions inherited from VSTGUI::CViewContainer
 CViewContainer (const CRect &size)
 
 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)
 
void draw (CDrawContext *pContext) override
 
void drawRect (CDrawContext *pContext, const CRect &updateRect) override
 
CMouseEventResult onMouseDown (CPoint &where, const CButtonState &buttons) override
 called when a mouse down event occurs More...
 
CMouseEventResult onMouseUp (CPoint &where, const CButtonState &buttons) override
 called when a mouse up event occurs More...
 
CMouseEventResult onMouseMoved (CPoint &where, const CButtonState &buttons) override
 called when a mouse move event occurs More...
 
CMouseEventResult onMouseCancel () override
 called when mouse tracking should be canceled
 
bool onWheel (const CPoint &where, const float &distance, const CButtonState &buttons) override
 called if a mouse wheel event is happening over this view More...
 
bool onWheel (const CPoint &where, const CMouseWheelAxis &axis, const float &distance, const CButtonState &buttons) override
 called if a mouse wheel event is happening over this view More...
 
bool hitTest (const CPoint &where, const CButtonState &buttons=-1) override
 
CMessageResult notify (CBaseObject *sender, IdStringPtr message) override
 
bool onDrop (IDataPackage *drag, const CPoint &where) override
 called if a drag is dropped onto this view
 
void onDragEnter (IDataPackage *drag, const CPoint &where) override
 called if a drag is entering this view
 
void onDragLeave (IDataPackage *drag, const CPoint &where) override
 called if a drag is leaving this view
 
void onDragMove (IDataPackage *drag, const CPoint &where) override
 called if a drag is moved inside this view
 
void looseFocus () override
 called if view should loose focus
 
void takeFocus () override
 called if view should take focus
 
bool isDirty () const override
 check if view is dirty
 
void invalid () override
 mark whole view as invalid
 
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
 
bool sizeToFit () override
 resize view to optimal size
 
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...
 
CPointframeToLocal (CPoint &point) const override
 conversion from frame coordinates to local view coordinates More...
 
CPointlocalToFrame (CPoint &point) const override
 conversion from local view coordinates to frame coordinates More...
 
CViewContainerasViewContainer () final
 
const CViewContainerasViewContainer () const final
 
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
 
virtual bool hasChildren () const
 check if container has child views
 
virtual CViewgetViewAt (const CPoint &where, const GetViewOptions &options=GetViewOptions()) const
 get the view at point where More...
 
virtual CViewContainergetContainerAt (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 CButtonState &buttons=-1)
 
virtual void setAutosizingEnabled (bool state)
 enable or disable autosizing subviews. Per default this is enabled.
 
bool getAutosizingEnabled () const
 
template<class ViewClass , class ContainerClass >
uint32_t getChildViewsOfType (ContainerClass &result, bool deep=false) const
 
virtual CColor getBackgroundColor () const
 get the background color
 
virtual void setBackgroundOffset (const CPoint &p)
 set the offset of the background bitmap
 
virtual const CPointgetBackgroundOffset () const
 get the offset of the background bitmap
 
virtual void setBackgroundColorDrawStyle (CDrawStyle style)
 
CDrawStyle getBackgroundColorDrawStyle () const
 
- Public Member Functions inherited from VSTGUI::CView
 CView (const CRect &size)
 
 CView (const CView &view)
 
void setSubviewState (bool state)
 
bool isSubview () const
 
virtual bool wantsWindowActiveStateChangeNotification () const
 
virtual void onWindowActivate (bool state)
 
CGraphicsTransform getGlobalTransform () const
 
template<typename T >
T & translateToGlobal (T &t) const
 translates a local coordinate to a global one using parent transforms
 
template<typename T >
translateToGlobal (const T &t) const
 translates a local coordinate to a global one using parent transforms
 
template<typename T >
T & translateToLocal (T &t) const
 translates a global coordinate to a local one using parent transforms
 
template<typename T >
translateToLocal (const T &t) const
 translates a local coordinate to a global one using parent transforms
 
virtual CMouseEventResult onMouseEntered (CPoint &where, const CButtonState &buttons)
 called when the mouse enters this view
 
virtual CMouseEventResult onMouseExited (CPoint &where, const CButtonState &buttons)
 called when the mouse leaves this view
 
void setHitTestPath (CGraphicsPath *path)
 
virtual void setMouseEnabled (bool bEnable=true)
 turn on/off mouse usage for this view
 
bool getMouseEnabled () const
 get the state of wheather this view uses the mouse or not
 
virtual void setMouseableArea (const CRect &rect)
 set the area in which the view reacts to the mouse
 
CRectgetMouseableArea (CRect &rect) const
 get the area in which the view reacts to the mouse
 
const CRectgetMouseableArea () const
 read only access to the mouseable area
 
virtual DragResult doDrag (IDataPackage *source, const CPoint &offset=CPoint(0, 0), CBitmap *dragBitmap=nullptr)
 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
 
CCoord getWidth () const
 get the width of the view
 
const CRectgetViewSize () const
 read only access to view size
 
virtual CRect getVisibleViewSize () const
 returns the visible size of the view More...
 
int32_t getAutosizeFlags () const
 get autosize flags
 
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
 
virtual void setBackground (CBitmap *background)
 set the background image of this view More...
 
CBitmapgetBackground () const
 get the background image of this view
 
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
 
CBitmapgetDrawBackground () const
 
bool getTransparency () const
 get views transparent state
 
virtual void setAlphaValue (float alpha)
 set alpha value which will be applied when drawing this view
 
float getAlphaValue () const
 get alpha value
 
bool isAttached () const
 is view attached to a parentView
 
CViewgetParentView () const
 get parent view
 
CFramegetFrame () const
 get frame
 
virtual VSTGUIEditorInterfacegetEditor () const
 get editor
 
void addAnimation (IdStringPtr name, Animation::IAnimationTarget *target, Animation::ITimingFunction *timingFunction, CBaseObject *notificationObject=nullptr)
 
void addAnimation (IdStringPtr name, Animation::IAnimationTarget *target, Animation::ITimingFunction *timingFunction, const Animation::DoneFunction &doneFunc)
 
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 !
 
virtual void setVisible (bool state)
 set visibility state
 
bool isVisible () const
 get visibility state
 
virtual void onIdle ()
 called on idle when view wants idle
 
void setWantsIdle (bool state)
 enable/disable onIdle() callback
 
bool wantsIdle () const
 returns if the view wants idle callback or not
 
- Public Member Functions inherited from VSTGUI::CBaseObject
 CBaseObject (const CBaseObject &o)
 
CBaseObjectoperator= (const CBaseObject &obj)
 
- Public Member Functions inherited from VSTGUI::ReferenceCounted< T >
 ReferenceCounted (const ReferenceCounted &)
 
ReferenceCountedoperator= (const ReferenceCounted &)
 
void forget () override
 decrease refcount and delete object if refcount == 0
 
void remember () override
 increase refcount
 
virtual int32_t getNbReference () const
 get refcount
 
- Public Member Functions inherited from VSTGUI::IControlListener
virtual int32_t controlModifierClicked (CControl *pControl, CButtonState button)
 return 1 if you want the control to not handle it, otherwise 0
 
virtual void controlBeginEdit (CControl *pControl)
 
virtual void controlEndEdit (CControl *pControl)
 
virtual void controlTagWillChange (CControl *pControl)
 
virtual void controlTagDidChange (CControl *pControl)
 
- Public Member Functions inherited from VSTGUI::IViewListenerAdapter
void viewSizeChanged (CView *view, const CRect &oldSize) override
 
void viewAttached (CView *view) override
 
void viewRemoved (CView *view) override
 
void viewLostFocus (CView *view) override
 
void viewTookFocus (CView *view) override
 
void viewWillDelete (CView *view) override
 

Protected Types

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

void valueChanged (CControl *pControl) override
 
CMessageResult notify (CBaseObject *sender, IdStringPtr message) override
 
bool attached (CView *parent) override
 view is attached to a parent view More...
 
bool removed (CView *parent) override
 view is removed from parent view More...
 
bool wantsFocus () const override
 check if view supports focus
 
void recalculateSubViews () override
 
void validateSelection ()
 
- Protected Member Functions inherited from VSTGUI::CScrollView
void viewSizeChanged (CView *view, const CRect &oldSize) override
 
void viewWillDelete (CView *view) override
 
- Protected Member Functions inherited from VSTGUI::CViewContainer
void beforeDelete () override
 
virtual bool checkUpdateRect (CView *view, const CRect &rect)
 
void setMouseDownView (CView *view)
 
CViewgetMouseDownView () const
 
const ViewList & getChildren () const
 
- Protected Member Functions inherited from VSTGUI::CView
CGraphicsPathgetHitTestPath () 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)
 

Protected Attributes

IDataBrowserDelegatedb
 
CDataBrowserView * dbView
 
CDataBrowserHeader * dbHeader
 
CViewContainerdbHeaderContainer
 
Selection selection
 
- Protected Attributes inherited from VSTGUI::CScrollView
CScrollContainer * sc
 
CScrollbarvsb
 
CScrollbarhsb
 
CRect containerSize
 
CCoord scrollbarWidth
 
int32_t style
 
int32_t activeScrollbarStyle
 
bool recalculateSubViewsRecursionGard {false}
 

Additional Inherited Members

- Static Public Attributes inherited from VSTGUI::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.
 
static uint32_t idleRate
 global idle rate in Hz, defaults to 30 Hz
 

Detailed Description

DataBrowser view.

Constructor & Destructor Documentation

◆ CDataBrowser()

VSTGUI::CDataBrowser::CDataBrowser ( const CRect size,
IDataBrowserDelegate db,
int32_t  style = 0,
CCoord  scrollbarWidth = 16,
CBitmap pBackground = nullptr 
)
Parameters
sizesize of data browser
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

Member Function Documentation

◆ attached()

bool VSTGUI::CDataBrowser::attached ( CView parent)
overrideprotectedvirtual

view is attached to a parent view

Parameters
parentparent view
Returns
true if view successfully attached to parent

Reimplemented from VSTGUI::CView.

◆ beginTextEdit()

void VSTGUI::CDataBrowser::beginTextEdit ( const Cell cell,
UTF8StringPtr  initialText 
)
virtual

starts a text edit for a cell

Parameters
cellcell
initialTextUTF-8 string the text edit field will be initialized with

◆ getCellBounds()

CRect VSTGUI::CDataBrowser::getCellBounds ( const Cell cell)
virtual

get bounds of a cell

Parameters
cellcell
Returns
bounds of cell

◆ invalidate()

void VSTGUI::CDataBrowser::invalidate ( const Cell cell)
virtual

invalidates an individual cell

Parameters
cellcell to invalidate

◆ invalidateRow()

void VSTGUI::CDataBrowser::invalidateRow ( int32_t  row)
virtual

invalidates a complete row

Parameters
rowrow to invalidate

◆ makeRowVisible()

void VSTGUI::CDataBrowser::makeRowVisible ( int32_t  row)
virtual

scrolls the scrollview so that row is visible

Parameters
rowrow to make visible

◆ onKeyDown()

int32_t VSTGUI::CDataBrowser::onKeyDown ( VstKeyCode keyCode)
overridevirtual

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 VSTGUI::CView.

◆ onMouseDown()

CMouseEventResult VSTGUI::CDataBrowser::onMouseDown ( CPoint where,
const CButtonState buttons 
)
overridevirtual

called when a mouse down event occurs

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

Reimplemented from VSTGUI::CView.

◆ recalculateLayout()

void VSTGUI::CDataBrowser::recalculateLayout ( bool  rememberSelection = false)
virtual

trigger recalculation, call if numRows or numColumns changed

Parameters
rememberSelectionif true selection will be remembered

◆ removed()

bool VSTGUI::CDataBrowser::removed ( CView parent)
overrideprotectedvirtual

view is removed from parent view

Parameters
parentparent view
Returns
true if view successfully removed from parent

Reimplemented from VSTGUI::CView.

◆ setSelectedRow()

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

set the exclusive selected row

Parameters
indexrow to select
makeVisibleif true makes row visible

◆ setViewSize()

void VSTGUI::CDataBrowser::setViewSize ( const CRect newSize,
bool  doInvalid 
)
overridevirtual

set views size

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

Reimplemented from VSTGUI::CView.


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