Split the public API of wintable into a file includethis.h for package ui.
This commit is contained in:
parent
81f2d69394
commit
a21ad39a2c
|
@ -0,0 +1,53 @@
|
||||||
|
// 17 february 2015
|
||||||
|
|
||||||
|
#define tableWindowClass L"gouitable"
|
||||||
|
|
||||||
|
// start at WM_USER + 20 just in case for whatever reason we ever get the various dialog manager messages (see also http://blogs.msdn.com/b/oldnewthing/archive/2003/10/21/55384.aspx)
|
||||||
|
// each of these returns nothing unless otherwise indicated
|
||||||
|
enum {
|
||||||
|
// wParam - one of the type constants
|
||||||
|
// lParam - column name as a Unicode string
|
||||||
|
tableAddColumn = WM_USER + 20,
|
||||||
|
// wParam - 0
|
||||||
|
// lParam - pointer to intptr_t containing new count
|
||||||
|
tableSetRowCount,
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
tableColumnText,
|
||||||
|
tableColumnImage,
|
||||||
|
tableColumnCheckbox,
|
||||||
|
nTableColumnTypes,
|
||||||
|
};
|
||||||
|
|
||||||
|
// notification codes
|
||||||
|
// note that these are positive; see http://blogs.msdn.com/b/oldnewthing/archive/2009/08/21/9877791.aspx
|
||||||
|
// each of these is of type tableNM
|
||||||
|
// all fields except data will always be set
|
||||||
|
enum {
|
||||||
|
// data parameter is always 0
|
||||||
|
// for tableColumnText return should be WCHAR *
|
||||||
|
// for tableColumnImage return should be HBITMAP
|
||||||
|
// for tableColumnCheckbox return is nonzero for checked, zero for unchecked
|
||||||
|
tableNotificationGetCellData,
|
||||||
|
// data parameter is pointer, same as tableNotificationGetCellData
|
||||||
|
// not sent for checkboxes
|
||||||
|
// no return
|
||||||
|
tableNotificationFinishedWithCellData,
|
||||||
|
// data is zero
|
||||||
|
// no return
|
||||||
|
tableNotificationCellCheckboxToggled,
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef struct tableNM tableNM;
|
||||||
|
|
||||||
|
struct tableNM {
|
||||||
|
NMHDR nmhdr;
|
||||||
|
intptr_t row;
|
||||||
|
intptr_t column;
|
||||||
|
int columnType;
|
||||||
|
uintptr_t data;
|
||||||
|
};
|
||||||
|
|
||||||
|
// TODO have hInstance passed in
|
||||||
|
extern void initTable(void (*panicfunc)(const char *msg, DWORD lastError), BOOL (*WINAPI tme)(LPTRACKMOUSEEVENT));
|
|
@ -17,54 +17,7 @@
|
||||||
// - send standard notification codes
|
// - send standard notification codes
|
||||||
// - seriously figure out how we're going to update everything about the table in one place
|
// - seriously figure out how we're going to update everything about the table in one place
|
||||||
|
|
||||||
#define tableWindowClass L"gouitable"
|
#include "includethis.h"
|
||||||
|
|
||||||
// start at WM_USER + 20 just in case for whatever reason we ever get the various dialog manager messages (see also http://blogs.msdn.com/b/oldnewthing/archive/2003/10/21/55384.aspx)
|
|
||||||
// each of these returns nothing unless otherwise indicated
|
|
||||||
enum {
|
|
||||||
// wParam - one of the type constants
|
|
||||||
// lParam - column name as a Unicode string
|
|
||||||
tableAddColumn = WM_USER + 20,
|
|
||||||
// wParam - 0
|
|
||||||
// lParam - pointer to intptr_t containing new count
|
|
||||||
tableSetRowCount,
|
|
||||||
};
|
|
||||||
|
|
||||||
enum {
|
|
||||||
tableColumnText,
|
|
||||||
tableColumnImage,
|
|
||||||
tableColumnCheckbox,
|
|
||||||
nTableColumnTypes,
|
|
||||||
};
|
|
||||||
|
|
||||||
// notification codes
|
|
||||||
// note that these are positive; see http://blogs.msdn.com/b/oldnewthing/archive/2009/08/21/9877791.aspx
|
|
||||||
// each of these is of type tableNM
|
|
||||||
// all fields except data will always be set
|
|
||||||
enum {
|
|
||||||
// data parameter is always 0
|
|
||||||
// for tableColumnText return should be WCHAR *
|
|
||||||
// for tableColumnImage return should be HBITMAP
|
|
||||||
// for tableColumnCheckbox return is nonzero for checked, zero for unchecked
|
|
||||||
tableNotificationGetCellData,
|
|
||||||
// data parameter is pointer, same as tableNotificationGetCellData
|
|
||||||
// not sent for checkboxes
|
|
||||||
// no return
|
|
||||||
tableNotificationFinishedWithCellData,
|
|
||||||
// data is zero
|
|
||||||
// no return
|
|
||||||
tableNotificationCellCheckboxToggled,
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef struct tableNM tableNM;
|
|
||||||
|
|
||||||
struct tableNM {
|
|
||||||
NMHDR nmhdr;
|
|
||||||
intptr_t row;
|
|
||||||
intptr_t column;
|
|
||||||
int columnType;
|
|
||||||
uintptr_t data;
|
|
||||||
};
|
|
||||||
|
|
||||||
static void (*tablePanic)(const char *, DWORD) = NULL;
|
static void (*tablePanic)(const char *, DWORD) = NULL;
|
||||||
#define panic(...) (*tablePanic)(__VA_ARGS__, GetLastError())
|
#define panic(...) (*tablePanic)(__VA_ARGS__, GetLastError())
|
||||||
|
|
Loading…
Reference in New Issue