DVX_GUI/widgets/widgetDbGrid.h

30 lines
1.3 KiB
C

// widgetDbGrid.h -- Database grid widget API
#ifndef WIDGET_DBGRID_H
#define WIDGET_DBGRID_H
#include "dvxWidget.h"
typedef struct {
WidgetT *(*create)(WidgetT *parent);
void (*setDataWidget)(WidgetT *w, WidgetT *dataWidget);
void (*refresh)(WidgetT *w);
void (*setColumnVisible)(WidgetT *w, const char *fieldName, bool visible);
void (*setColumnHeader)(WidgetT *w, const char *fieldName, const char *header);
void (*setColumnWidth)(WidgetT *w, const char *fieldName, int32_t width);
int32_t (*getSelectedRow)(const WidgetT *w);
} DbGridApiT;
static inline const DbGridApiT *dvxDbGridApi(void) {
return (const DbGridApiT *)wgtGetApi("dbgrid");
}
#define wgtDbGrid(parent) dvxDbGridApi()->create(parent)
#define wgtDbGridSetDataWidget(w, dw) dvxDbGridApi()->setDataWidget(w, dw)
#define wgtDbGridRefresh(w) dvxDbGridApi()->refresh(w)
#define wgtDbGridSetColumnVisible(w, field, vis) dvxDbGridApi()->setColumnVisible(w, field, vis)
#define wgtDbGridSetColumnHeader(w, field, hdr) dvxDbGridApi()->setColumnHeader(w, field, hdr)
#define wgtDbGridSetColumnWidth(w, field, width) dvxDbGridApi()->setColumnWidth(w, field, width)
#define wgtDbGridGetSelectedRow(w) dvxDbGridApi()->getSelectedRow(w)
#endif // WIDGET_DBGRID_H