30 lines
1.3 KiB
C
30 lines
1.3 KiB
C
// dbGrid.h -- Database grid widget API
|
|
|
|
#ifndef DBGRID_H
|
|
#define DBGRID_H
|
|
|
|
#include "dvxWgt.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 // DBGRID_H
|