Commit Graph

238 Commits

Author SHA1 Message Date
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
Pietro Gagliardi 61f7316d56 Moved the rewrite of the new Windows Table to its /own/ folder. 2014-12-05 10:27:45 -05:00
Pietro Gagliardi f7daa5580f Added the new Windows Table event handling framework. 2014-12-05 10:18:37 -05:00
Pietro Gagliardi 19358785f6 More new Windows Table stuff. 2014-12-04 21:12:24 -05:00
Pietro Gagliardi ad6249422b Don't use GetMessagePos(); it returns the same LPARAM format... (and the POINT in MSG is in screen coordinates, which means we need to call the potentially-erroring ScreenToClient(), and /even then/ we would need to hack up the message pump to get that point out, which is not guaranteed if someone takes our Table code and uses it in their own Windows program, or if I even export this Table for such use!). 2014-12-04 10:17:38 -05:00
Pietro Gagliardi 74f9630bcc Started restructuring the Windows Table code; this creates stubs for coordinate system management. 2014-12-04 07:55:01 -05:00
Pietro Gagliardi 5c22fceb9b More TODOs. 2014-12-03 19:55:00 -05:00
Pietro Gagliardi 5b904dfa94 More Windows Table work. 2014-12-03 19:38:08 -05:00
Pietro Gagliardi c550a1a958 Small precautionary change in Windows Table: use WM_USER + 20 instead of WM_USER just in case we ever get dialog manager messages (which are the first few WM_USER messages because technically they belong to WC_DIALOG). 2014-12-01 23:53:56 -05:00
Pietro Gagliardi 6b2c295fdc Isolated vertical scroll messages with the other vertical scroll code. 2014-12-01 15:34:26 -05:00
Pietro Gagliardi 16a88c548b Changed the handler functions array to be const, as that's the intent. 2014-12-01 15:18:12 -05:00