summaryrefslogtreecommitdiff
path: root/wintable/new/header.h
diff options
context:
space:
mode:
authorPietro Gagliardi <[email protected]>2014-12-10 10:07:08 -0500
committerPietro Gagliardi <[email protected]>2014-12-10 10:07:08 -0500
commit395521b832acb7f5133f1b2b1920cd31734ed585 (patch)
tree2da4412344315ed34abf7c0b48ff85738a897d2c /wintable/new/header.h
parentb2b04c6de406ee58810994c8b74399e93216bb9f (diff)
Moved Table width calculation out of recomputeHScroll() and into updateTableWidth(); also stored width in the Table itself.
Diffstat (limited to 'wintable/new/header.h')
-rw-r--r--wintable/new/header.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/wintable/new/header.h b/wintable/new/header.h
index 47c13b2..c89b506 100644
--- a/wintable/new/header.h
+++ b/wintable/new/header.h
@@ -55,6 +55,19 @@ static void headerAddColumn(struct table *t, WCHAR *name)
static void updateTableWidth(struct table *t)
{
+ HDITEMW item;
+ intptr_t i;
+
+ t->width = 0;
+ // TODO count dividers?
+ for (i = 0; i < t->nColumns; i++) {
+ ZeroMemory(&item, sizeof (HDITEMW));
+ item.mask = HDI_WIDTH;
+ if (SendMessageW(t->header, HDM_GETITEM, (WPARAM) i, (LPARAM) (&item)) == FALSE)
+ panic("error getting Table column width for updateTableWidth()");
+ t->width += item.cxy;
+ }
+ // TODO replace this with a call to hscrollby(t, 0)
recomputeHScroll(t);
}