diff options
| author | Pietro Gagliardi <[email protected]> | 2015-01-06 17:27:41 -0500 |
|---|---|---|
| committer | Pietro Gagliardi <[email protected]> | 2015-01-06 17:27:41 -0500 |
| commit | 22123fb676d26d309d428a892c453e35e684e367 (patch) | |
| tree | 9552f1a91a8b8995065e74573e8f59f448f2b08c /wintable/resize.h | |
| parent | 720049bfd3c6d205859f3150dee33dee78dc3dc3 (diff) | |
Merged wintable/new/ into wintable/.
Diffstat (limited to 'wintable/resize.h')
| -rw-r--r-- | wintable/resize.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/wintable/resize.h b/wintable/resize.h new file mode 100644 index 0000000..2ffaad7 --- /dev/null +++ b/wintable/resize.h @@ -0,0 +1,39 @@ +// 7 december 2014 + +// TODO why doesn't this trigger on first show? +// TODO see if there's anything not metaphor related in the last bits of the scrollbar series +// TODO rename this to boot + +HANDLER(resizeHandler) +{ + WINDOWPOS *wp; + RECT client; + intptr_t height; + + if (uMsg != WM_WINDOWPOSCHANGED) + return FALSE; + wp = (WINDOWPOS *) lParam; + if ((wp->flags & SWP_NOSIZE) != 0) + return FALSE; + + // TODO does wp store the window rect or the client rect? + if (GetClientRect(t->hwnd, &client) == 0) + panic("error getting Table client rect in resizeHandler()"); + // TODO do this after calling updateTableWidth() (which calls repositionHeader()?)? + client.top += t->headerHeight; + + // update the width... + // this will call repositionHeader(); there's a good reason... (see comments) + // TODO when I clean that mess up, remove this comment + updateTableWidth(t); + + // ...and the height + // TODO find out if order matters + height = client.bottom - client.top; + t->vpagesize = height / rowht(t); + // do a dummy scroll to reflect those changes + vscrollby(t, 0); + + *lResult = 0; + return TRUE; +} |
