summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--wintable/includethis.h53
-rw-r--r--wintable/main.h49
2 files changed, 54 insertions, 48 deletions
diff --git a/wintable/includethis.h b/wintable/includethis.h
new file mode 100644
index 0000000..5f1bf93
--- /dev/null
+++ b/wintable/includethis.h
@@ -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));
diff --git a/wintable/main.h b/wintable/main.h
index 02134d7..f5fc4c4 100644
--- a/wintable/main.h
+++ b/wintable/main.h
@@ -17,54 +17,7 @@
// - send standard notification codes
// - seriously figure out how we're going to update everything about the table in one place
-#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;
-};
+#include "includethis.h"
static void (*tablePanic)(const char *, DWORD) = NULL;
#define panic(...) (*tablePanic)(__VA_ARGS__, GetLastError())