Commit Graph

248 Commits

Author SHA1 Message Date
Pietro Gagliardi 2cf1168830 Started writing the code for handling mouse moves and checkbox hovers. 2014-12-21 18:45:37 -05:00
Pietro Gagliardi 9e66dc006e Added mouse tracking code. Not used yet. 2014-12-21 10:38:52 -05:00
Pietro Gagliardi 0c21608853 Made toCheckboxRect() take the xoff parameter too. 2014-12-21 02:09:09 -05:00
Pietro Gagliardi 89fb2e8c6c toItemContentRect() -> toCellContentRect() (consistency) 2014-12-20 21:10:44 -05:00
Pietro Gagliardi 3cb96de162 Wrote up toItemContentRect() and used that in drawCell(). More TODOs. 2014-12-20 21:09:01 -05:00
Pietro Gagliardi 7713c91387 Started writing the checkbox drawing code. Just a red box again for now. 2014-12-20 20:12:54 -05:00
Pietro Gagliardi 34d3771f77 Added code for distinguishing column types to drawCell(). 2014-12-19 20:48:02 -05:00
Pietro Gagliardi ee9b958171 Removed unnecessary HTHEME parameter in getFrameControlCheckboxSize(). 2014-12-19 00:49:27 -05:00
Pietro Gagliardi 866793995d Still more TODOs. 2014-12-18 19:49:42 -05:00
Pietro Gagliardi f2dc77e9a1 More TODOs. 2014-12-18 19:48:48 -05:00
Pietro Gagliardi 422b2f183a Added images and checkboxes to rowHeight(). Split out the text part into textHeight(); we'll be needing it later (when implementing vertical centering). 2014-12-18 19:46:56 -05:00
Pietro Gagliardi 22d82f6bd0 More TODOs. 2014-12-18 19:28:12 -05:00
Pietro Gagliardi 28b20d1039 Moved around checkboxes.h pendig plans for that code. 2014-12-18 19:27:03 -05:00
Pietro Gagliardi d7cf4fa7c5 New checkbox plan: because DrawThemeBackground() /might/ do AlphaBlend(), we'll just draw checkboxes on the fly. 2014-12-18 19:26:13 -05:00
Pietro Gagliardi 07c599ad1b More critical TODOs. 2014-12-18 13:05:20 -05:00
Pietro Gagliardi f22812ff0e Brought back the code to build checkbox images. 2014-12-17 21:56:37 -05:00
Pietro Gagliardi b6340bd349 Fixed Page Down behavior. More TODOs. 2014-12-17 14:58:39 -05:00
Pietro Gagliardi 041c99df07 Fixed deselection redraw. 2014-12-16 20:19:06 -05:00
Pietro Gagliardi 060b062045 More TODOs. 2014-12-16 18:48:14 -05:00
Pietro Gagliardi e31fd24a99 Actually return no selection in clientCoordToRowColumn() correctly. Part 2 of previous commit. 2014-12-16 18:46:19 -05:00
Pietro Gagliardi b9c46d4cdf Don't try to scroll if we're deselecting. First part of mouse deselect fix. 2014-12-16 18:40:58 -05:00
Pietro Gagliardi 54a359d260 Changed abort() in deftablePanic() to DebugBreak() for convenience (especially in wine where abort() is NOT caught by winedbg --gdb and for whatever reason I can't set a breakpoint with the same). 2014-12-16 15:07:55 -05:00
Pietro Gagliardi a0a6c2b112 Fixed some punctuation errors. 2014-12-16 11:50:53 -05:00
Pietro Gagliardi 03fce2feab Added debugging checks for doselect() to spot illegal selections. Rewrote some expressions for consistency. 2014-12-16 11:47:52 -05:00
Pietro Gagliardi 152f446ce8 Revert "Attempted to fix broken coordinate calculations for out-of-cell clicks..."
That didn't do it; will need to use a debugger.

This reverts commit 25e5100360.
2014-12-16 11:38:04 -05:00
Pietro Gagliardi 25e5100360 Attempted to fix broken coordinate calculations for out-of-cell clicks... 2014-12-16 11:34:26 -05:00
Pietro Gagliardi 3f42acb475 Implemented keyboard selection. Now I need to fix /mouse/ selections that select nothing, because apparently /that/ was broken... 2014-12-16 11:28:08 -05:00
Pietro Gagliardi 5db1b0f1c4 Added some links. 2014-12-16 03:10:52 -05:00
Pietro Gagliardi 175f94fe3f Punctuation fix. 2014-12-16 02:58:31 -05:00
Pietro Gagliardi d082d0ebab Finished keyboard selection notes. Will implement later. 2014-12-16 02:57:31 -05:00
Pietro Gagliardi 5389e3c2d6 More keyboard selection notes. 2014-12-15 23:48:09 -05:00
Pietro Gagliardi e08988a887 More keyboard selection notes. 2014-12-15 20:03:46 -05:00
Pietro Gagliardi ec725e3f1b Wrote up some notes on how to do keyboard selection. 2014-12-15 15:06:07 -05:00
Pietro Gagliardi f458700579 Fixed selection scrolling. 2014-12-14 18:06:08 -05:00
Pietro Gagliardi e246a9bd5f More TODOs. 2014-12-14 17:29:32 -05:00
Pietro Gagliardi 8fba540a1c Mostly fixed up the horizontal scrolling implementation in doselect(). 2014-12-14 17:24:30 -05:00
Pietro Gagliardi c58920dadd Implemented horizontal scroll on the left in doselect(). Horizontal scroll on the right is mostly written, but nonworking. 2014-12-14 17:10:08 -05:00
Pietro Gagliardi 33f7ac1142 Unified all column width accesses to a columnWidth() function. 2014-12-14 16:23:32 -05:00
Pietro Gagliardi f56ae488f0 Implemented vertical scrolling on selection changes. 2014-12-14 11:09:59 -05:00
Pietro Gagliardi cb7404cf8b Optimized the redrawing of selected rows in doselect(). 2014-12-14 10:22:15 -05:00
Pietro Gagliardi ad12b8b1af Implemented rowColumnToClientRect() (was rowColumnToClientCoord() but decided that the full RECT would be more useful); not sure if I'm going to actually use it now though since full-on redrawing the old and new rows would probably be more correct in doselect()... 2014-12-14 02:52:31 -05:00
Pietro Gagliardi fa89a497ed More TODOs. 2014-12-13 16:23:48 -05:00
Pietro Gagliardi cecfa82994 Implemented mouse click selection. 2014-12-13 13:56:31 -05:00
Pietro Gagliardi 516173916e Implemented clientCoordToRowColumn(). 2014-12-13 12:17:18 -05:00
Pietro Gagliardi e966a9b725 Resolved some TODOs. 2014-12-13 11:53:03 -05:00
Pietro Gagliardi df4fbb12ed Fixed up some TODOs 2014-12-13 11:51:12 -05:00
Pietro Gagliardi 7b9b41d6cc Started to lay down the groundwork for handling selection. 2014-12-13 11:49:36 -05:00
Pietro Gagliardi 980868ef0d Cleared some TODOs. 2014-12-12 22:48:19 -05:00
Pietro Gagliardi 5080e84398 Added wheel scrolling. 2014-12-12 22:17:20 -05:00
Pietro Gagliardi d5b4d06cb4 More reminders/TODOs. 2014-12-12 16:45:14 -05:00
Pietro Gagliardi d1bd082b2e ok fixed that bug 2014-12-12 16:43:17 -05:00
Pietro Gagliardi 7f7ea0044e Added vscroll to the drawing code. Now to figure out why it stops early... 2014-12-12 16:37:48 -05:00
Pietro Gagliardi 2da55f35a6 Added vertical scroll. The drawing code will now need updating... 2014-12-12 15:20:34 -05:00
Pietro Gagliardi 2013a3a753 Isolated the scrolling code to avoid code duplication in something so sensitive. 2014-12-12 14:53:58 -05:00
Pietro Gagliardi a565469260 Got rid of a bogus assignment to t->hpagesize. 2014-12-12 14:16:55 -05:00
Pietro Gagliardi 35519ab61c More TODOs. 2014-12-12 10:57:37 -05:00
Pietro Gagliardi ddb4533aff Defined tableFree(NULL). 2014-12-12 10:55:57 -05:00
Pietro Gagliardi 9e11c36f63 Started tying all the threads together in the drawing loop for real. 2014-12-12 10:47:23 -05:00
Pietro Gagliardi 6173857ee7 Fixed twitchy text. 2014-12-11 20:41:35 -05:00
Pietro Gagliardi 6690876c07 More TODOs. 2014-12-11 20:37:38 -05:00
Pietro Gagliardi 38b7126449 Fixed up the whole horizontal scroll glitching mess. Now to tackle the twitchy text... 2014-12-11 20:35:46 -05:00
Pietro Gagliardi b73b5b2ed0 Removed a call to repositionHeader() in the resize handler; we already do this in hscrollto(), which is called by updateTableWidth(). 2014-12-11 20:27:29 -05:00
Pietro Gagliardi 6286a3319f More TODOs... 2014-12-11 20:10:11 -05:00
Pietro Gagliardi ccb68b6fc8 Started the work for reimplementing rows. 2014-12-11 18:58:37 -05:00
Pietro Gagliardi 8ea320220a Mostly finisshed up horizontal scrolling by hooking it up to everything else. The sample text draw doesn't seem to be working correctly, but I'm not sure /when/ it breaks right now... 2014-12-11 16:43:56 -05:00
Pietro Gagliardi 9edf273ba7 Removed error check in ScrollWindowEx() call for now pending a wine bug (https://bugs.winehq.org/show_bug.cgi?id=37706). 2014-12-11 16:29:43 -05:00
Pietro Gagliardi 3788cb730c Added a cast to a tableRealloc() call. 2014-12-10 20:43:28 -05:00
Pietro Gagliardi a7cbacb522 More TODOs. 2014-12-10 18:32:28 -05:00
Pietro Gagliardi 62a1db4756 Wrote up the hscroll code. Not sure why it doesn't work yet. Not yet applied to headers or drawing. 2014-12-10 15:37:52 -05:00
Pietro Gagliardi 4e21ee8b11 Added headerHeight to the new Table. 2014-12-10 14:07:14 -05:00
Pietro Gagliardi 395521b832 Moved Table width calculation out of recomputeHScroll() and into updateTableWidth(); also stored width in the Table itself. 2014-12-10 10:07:08 -05:00
Pietro Gagliardi a8fed6c28d Changed from recomputeHScroll() to updateTableWidth() as we will store the table width separately and just use one call to SetScrollInfo() for everything to avoid weirdness. 2014-12-10 10:01:16 -05:00
Pietro Gagliardi cb199cca77 Started readding hscroll code; just recomputeHScroll() for now. 2014-12-09 20:47:03 -05:00
Pietro Gagliardi dd37255fa1 Reimplemented tableAddColumn for real. 2014-12-09 20:32:49 -05:00
Pietro Gagliardi d6ff23dacb More TODOs. 2014-12-09 19:31:05 -05:00
Pietro Gagliardi bad29faf1a Added a list of scrollbar series articles for convenience. 2014-12-09 15:57:09 -05:00
Pietro Gagliardi 0e6c48a45c More TODOs. 2014-12-08 21:43:07 -05:00
Pietro Gagliardi f0c4589403 Began the implementation of the new Windows Table's drawCell(). 2014-12-08 21:42:00 -05:00
Pietro Gagliardi 59054c8932 Readded rowHeight(). Also tested font helper functions. 2014-12-08 16:23:55 -05:00
Pietro Gagliardi 588d932f6c Fixed up WM_PRINTCLIENT stuff. 2014-12-08 15:54:55 -05:00
Pietro Gagliardi 3bc6fed2c1 Some TODO resolution. 2014-12-08 15:11:42 -05:00
Pietro Gagliardi 9b3555f257 Readded api.h, for WM_GETFONT/WM_SETFONT. We'll need this to re-add rowHeight(). 2014-12-08 15:04:43 -05:00
Pietro Gagliardi 01efbd750f Added tracking of header column sizes. 2014-12-08 12:57:54 -05:00
Pietro Gagliardi 7cfda3ad61 Filled in the draw() function for testing header resizes (when that is implemented). 2014-12-08 10:40:51 -05:00
Pietro Gagliardi 2f95837155 Added drawing scaffolds to the new Windows Table. 2014-12-08 10:01:41 -05:00
Pietro Gagliardi 47a83a311d Added new Windows Table header columns (and this time we'll split out the dummy data). 2014-12-08 08:50:42 -05:00
Pietro Gagliardi 26f7fc6a6b More TODOs. 2014-12-07 20:48:32 -05:00
Pietro Gagliardi e86f0c7dc4 More TODOs. 2014-12-07 20:48:09 -05:00
Pietro Gagliardi 6efc67d7e2 More header control stuff: resize handling/header control repositioning. 2014-12-07 20:16:58 -05:00
Pietro Gagliardi 399b4639fe More header support code, including header notification scaffolding. 2014-12-07 18:43:05 -05:00
Pietro Gagliardi 04787b169a Altered some comments. 2014-12-07 18:32:13 -05:00
Pietro Gagliardi e373900cf0 Started re-adding the header stuff for real this time. 2014-12-07 18:27:35 -05:00
Pietro Gagliardi e224950cf4 Some allocator cleanup in the new Table. 2014-12-07 16:22:51 -05:00
Pietro Gagliardi 75c9f73870 Altered some TODOs because <HeapAlloc> what's a last error 2014-12-07 14:05:38 -05:00
Pietro Gagliardi fcd213088f More TODOs. 2014-12-07 13:46:35 -05:00
Pietro Gagliardi d5c7d133ad Make tablePanic static; it should not be exported. 2014-12-07 13:24:12 -05:00
Pietro Gagliardi fe78114ec1 Let's get error handling right first time now. 2014-12-07 13:23:39 -05:00
Pietro Gagliardi 545743090e "Started" re-adding the header code. 2014-12-06 22:01:04 -05:00
Pietro Gagliardi 3232b47b43 Readded main code (but stripped to its essentials for now, as everything will be slowly readded, but in a different order) and fixed compilation errors (and some warnings). 2014-12-05 22:23:39 -05:00
Pietro Gagliardi 51e6028951 Made the various event handler arrays const. 2014-12-05 21:58:16 -05:00