Commit Graph

298 Commits

Author SHA1 Message Date
Pietro Gagliardi 980e36a0f0 Fixed all real warnings. I need to figure out how to remove -Wparentheses suggestions from qo. 2015-02-13 16:19:54 -05:00
Pietro Gagliardi 4b9e2fb8d1 Replaced all the accessibility functions with implementations that defer back up to the standard accessibility object for now. We'll replace them later. 2015-02-13 14:31:03 -05:00
Pietro Gagliardi 65f8a31d5c More of the previous commit; now builds. 2015-02-12 23:47:32 -05:00
Pietro Gagliardi e63729d866 Started actually writing the accessibility code. 2015-02-12 21:40:54 -05:00
Pietro Gagliardi d7c6fc0a7f Fixed error in updateAll(). 2015-02-05 01:03:04 -05:00
Pietro Gagliardi fe42db6ebd More update() reasoning and TODOs. 2015-01-08 02:05:06 -05:00
Pietro Gagliardi ce64650aad Added updateAll() and resolved WM_SETFONT to begin the final reasoning-through of update(). 2015-01-08 01:55:45 -05:00
Pietro Gagliardi 592ae7a987 Minor correctness, consistency, and predictability changes. 2015-01-08 01:48:22 -05:00
Pietro Gagliardi 1dcdcd522c Collected all of the metric updating stuff into a single update() function. Far from optimal, but much better. 2015-01-08 01:45:06 -05:00
Pietro Gagliardi 224bdb4087 Added tableSetRowCount. 2015-01-07 22:54:29 -05:00
Pietro Gagliardi 24790f0e7f Immediately give focus to the Table on startup in the test program. 2015-01-07 21:36:03 -05:00
Pietro Gagliardi 7eaadad25c Implemented checkbox notifications. 2015-01-07 21:34:12 -05:00
Pietro Gagliardi 10cee92223 More TODOs. 2015-01-07 19:43:04 -05:00
Pietro Gagliardi ad6caaf372 Image cells now use notifications to get their bitmaps. Also split (almost) each cell type into a separate drawing function called from the main drawCell(). 2015-01-07 19:42:00 -05:00
Pietro Gagliardi b3c0a7acaf Implemented tableNotificationGetCellData et al for text columns. 2015-01-07 19:00:56 -05:00
Pietro Gagliardi f263d9ced8 Renamed notification codes. 2015-01-07 17:16:39 -05:00
Pietro Gagliardi 4f557f484c Added facilities for notifications. 2015-01-07 17:05:38 -05:00
Pietro Gagliardi 3b81ebab98 Switched the test program to make the Table an actual child window now that I'm about to implement actually getting data in the real world. Implemented focus grabbing. More TODOs. 2015-01-07 16:24:17 -05:00
Pietro Gagliardi 7c473a9fdc Implemented image cells. 2015-01-07 14:41:35 -05:00
Pietro Gagliardi ff4212913a Split the actual test code from the main Table code. 2015-01-07 12:43:58 -05:00
Pietro Gagliardi 095c6dc79c Split out all Windows header file inclusion into a single wininclude_windows.h so all subdirectory files can be on the same page. 2015-01-06 22:02:04 -05:00
Pietro Gagliardi ba887cbf07 Removed stray TODO. 2015-01-06 17:53:40 -05:00
Pietro Gagliardi bba073fee4 Removed checkboxstuff; we did all that already. 2015-01-06 17:33:11 -05:00
Pietro Gagliardi 22123fb676 Merged wintable/new/ into wintable/. 2015-01-06 17:27:41 -05:00
Pietro Gagliardi 720049bfd3 Removed the initial implementation of the Windows Table. The new implementation has long since surpassed it. 2015-01-06 17:20:41 -05:00
Pietro Gagliardi be486d95a4 More TODOs. 2015-01-06 03:27:29 -05:00
Pietro Gagliardi 6477523a89 More TODOs. 2015-01-06 03:12:44 -05:00
Pietro Gagliardi 2bc7926aba Don't maintain the metaphor. The real listview doesn't, so we won't either. (Remember that we want to be as behavior-compatible with the real listview as possible.) 2015-01-06 03:11:46 -05:00
Pietro Gagliardi bf4b590b55 More TODOs. 2015-01-04 02:58:13 -05:00
Pietro Gagliardi 9a27b8a90e Fixed get_accName(). 2015-01-04 01:26:48 -05:00
Pietro Gagliardi 085fc00f81 Added the standard accessible object, added it to a few navigation-related places to make Inspect.exe's life easier, and added some more get_accName() debug stuff. 2015-01-04 01:13:35 -05:00
Pietro Gagliardi 3a9842e86c Removed refcount/WM_GETOBJECT debug spew. More TODOs. 2015-01-04 00:58:28 -05:00
Pietro Gagliardi 7453385923 Forgot to call AddRef() in QueryInterface(). Thanks to Jonathan Potter. 2015-01-04 00:54:38 -05:00
Pietro Gagliardi 7487dbb27c Even more accessibility debugging. 2014-12-25 15:56:06 -05:00
Pietro Gagliardi 3e2275af43 More accessibility debugging work. 2014-12-25 14:32:49 -05:00
Pietro Gagliardi 4d4f889f6f More TODOs. 2014-12-25 09:55:07 -05:00
Pietro Gagliardi 9551bbe4f0 Added a testing implementation of IAccessible::get_accName(). 2014-12-25 09:53:45 -05:00
Pietro Gagliardi 45a2b6b731 Fixed other accessibility errors (partially thanks to Raymond Chen) 2014-12-24 21:53:30 -05:00
Pietro Gagliardi f6f2fba34e More accessibility.h changes. 2014-12-24 21:27:39 -05:00
Pietro Gagliardi f00ba1deb9 More accessibility stubs. 2014-12-24 20:55:13 -05:00
Pietro Gagliardi 6720fa7bc2 Started actually writing the accessibility code. Does not work yet. 2014-12-24 20:15:45 -05:00
Pietro Gagliardi 9aff3fd792 More notes on accessibility. 2014-12-24 14:59:15 -05:00
Pietro Gagliardi 9e07f271aa Draw whole selected row properly this time (full background on row, focus rect on cell). More TODOs. 2014-12-23 14:43:33 -05:00
Pietro Gagliardi 3bd6ccb02b More TODOs. 2014-12-23 14:23:28 -05:00
Pietro Gagliardi 663e9e99a7 Optimized Table drawing by only drawing visible rows. 2014-12-23 14:21:27 -05:00
Pietro Gagliardi c016143d80 Changed the memory allocator used in util.h so that code will work on real Windowss because LocalAlloc() doesn't want to. 2014-12-22 21:51:01 -05:00
Pietro Gagliardi 733254586b Converted the checkbox code to actually use drawCheckbox(). 2014-12-22 21:28:17 -05:00
Pietro Gagliardi d28b05c5b7 Fixed up the rest of the checkbox event handlers. Now to convert to using the drawing functions. 2014-12-22 21:16:42 -05:00
Pietro Gagliardi 7ba7222976 Mostly done with the implementation of checkboxes! 2014-12-22 20:15:10 -05:00
Pietro Gagliardi cc165b48ff More checkbox mouse movement code. 2014-12-22 00:42:24 -05:00
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