From d23cdd76827728a4f7eb6b0afa9b6e572aab964c Mon Sep 17 00:00:00 2001 From: Pietro Gagliardi Date: Sat, 29 Nov 2014 18:29:50 -0500 Subject: Started splitting the new Windows Table code into more manageable chunks. --- wintable/api.h | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 wintable/api.h (limited to 'wintable/api.h') diff --git a/wintable/api.h b/wintable/api.h new file mode 100644 index 0000000..a933df7 --- /dev/null +++ b/wintable/api.h @@ -0,0 +1,25 @@ +// 29 november 2014 + +static void addColumn(struct table *t, WPARAM wParam, LPARAM lParam) +{ + HDITEMW item; + + if (((int) wParam) >= nTableColumnTypes) + abort(); + + t->nColumns++; + t->columnTypes = (int *) realloc(t->columnTypes, t->nColumns * sizeof (int)); + if (t->columnTypes == NULL) + abort(); + t->columnTypes[t->nColumns - 1] = (int) wParam; + + ZeroMemory(&item, sizeof (HDITEMW)); + item.mask = HDI_WIDTH | HDI_TEXT | HDI_FORMAT; + item.cxy = 200; // TODO + item.pszText = (WCHAR *) lParam; + item.fmt = HDF_LEFT | HDF_STRING; + if (SendMessage(t->header, HDM_INSERTITEM, (WPARAM) (t->nColumns - 1), (LPARAM) (&item)) == (LRESULT) (-1)) + abort(); + // TODO resize(t)? + redrawAll(t); +} -- cgit v1.2.3