Commit Graph

202 Commits

Author SHA1 Message Date
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
Pietro Gagliardi 84d66b6b50 Started splitting message handlers for the new Windows Table into their respective files. 2014-11-30 21:27:32 -05:00
Pietro Gagliardi c41b9b16ff Moved the api.h include to the bottom of the include list so that when I move the public-facing API code (namely the WM_SETFONT handler) there we can use functions defined later. 2014-11-30 21:11:12 -05:00
Pietro Gagliardi c67be58377 More Windows Table separation. 2014-11-30 17:05:42 -05:00
Pietro Gagliardi d23cdd7682 Started splitting the new Windows Table code into more manageable chunks. 2014-11-29 18:29:50 -05:00
Pietro Gagliardi 6cce68074a More TODOs. 2014-11-28 22:38:41 -05:00
Pietro Gagliardi dafb337b32 More TODOs. 2014-11-27 10:36:04 -05:00
Pietro Gagliardi af7830cc5c Removed all the checkbox stuff for now. I need to do it a better way. 2014-11-24 10:49:36 -05:00
Pietro Gagliardi 1083ceefde Added a "flag" (actually just specify at least one argument; doesn't matter what) to the Windows Table main() to specify using the lfMessageFont, for vertical centering testing purposes. 2014-11-23 20:28:52 -05:00
Pietro Gagliardi 9d10a7f90c More TODOs. 2014-11-23 12:43:11 -05:00
Pietro Gagliardi 906b365aa5 More TODOs. 2014-11-22 20:32:30 -05:00
Pietro Gagliardi e63cd21f96 Added checkbox heights to rowHeight() in the new Windows Table. 2014-11-21 16:25:44 -05:00
Pietro Gagliardi b5bc1077b8 More TODOs. 2014-11-20 18:28:01 -05:00
Pietro Gagliardi 83d36265f1 More TODOs. 2014-11-20 18:27:03 -05:00
Pietro Gagliardi 3d87f8c5ce Implemented mouse hot-tracking for checkboxes. Clicking and dragging is still an issue, but :S 2014-11-20 18:25:14 -05:00
Pietro Gagliardi 2ddafc8230 Wrote up a lParamInCheckbox() that we will use for properly hit-testing checkboxes in the new Windows Table. 2014-11-20 18:21:52 -05:00
Pietro Gagliardi 396d73a634 More mouse tracking. This is getting complicated the way I'm doing it... 2014-11-19 22:46:25 -05:00
Pietro Gagliardi 031c67e38d Split the code to turn x/y LPARAM into a row/column number to its own function. The mouse tracking code will need it. 2014-11-19 22:33:18 -05:00
Pietro Gagliardi d75795f968 More checkbox mouse code. This implements tracking. 2014-11-19 10:38:20 -05:00
Pietro Gagliardi 20b6a3cf2a More TODOs. 2014-11-19 10:17:29 -05:00
Pietro Gagliardi 896239371e Began the work for actually doing checkbox events in the new Windows Table. Currently it mostly responds correctly to mouse presses and releases; it just needs to be hit-tested properly. 2014-11-18 20:30:52 -05:00
Pietro Gagliardi cb2642765a Started the work to handle checkboxes. For now, we draw just a red rectangle; when we do events this will change color dynamically. When I hook up the control to its parent, I will move from these rectangles to the actual checkbox images. In the meantime, fix some pointer bugs in imagelist_windows.c as well. 2014-11-18 13:53:53 -05:00
Pietro Gagliardi 8175bd411a Fixed keyboard navigation in the new Windows Table. 2014-11-18 13:22:38 -05:00
Pietro Gagliardi 2103a14c16 Elaborated some comments. 2014-11-18 12:51:00 -05:00
Pietro Gagliardi a77969754f More critical TODOs. 2014-11-18 12:36:12 -05:00
Pietro Gagliardi 8a5d4f8b0e Mostly implemented vertical scrolling on selection change. The bottom row still needs fixing. 2014-11-18 12:29:14 -05:00
Pietro Gagliardi 0e13193310 Optimized new Windows Table selection redraw and did most of the work for scroliing on selection change. Also more TODOs. 2014-11-18 08:17:42 -05:00
Pietro Gagliardi 46056e54e4 Added a prev parameter to finishSelect() on the new Windows Table. This will allow proper scrolling to the selection. 2014-11-17 22:52:15 -05:00
Pietro Gagliardi d893ba6c03 Added redrawRow() to the Windows Table and changed WM_SETFOCUS/WM_KILLFOCUS handling to use it. It will be used for selections later. 2014-11-17 10:21:43 -05:00
Pietro Gagliardi 93046dc868 Split the code to compute the last visible item in the new Windows Table into its own function. This is needed for keyboard vertical scrolling. 2014-11-15 20:36:56 -05:00
Pietro Gagliardi f11b1141fb Stored the checkbox width/height in the new Windows Table. This will be needed for hit-testing checkboxes. 2014-11-14 22:41:25 -05:00
Pietro Gagliardi ee13093136 More TODOs. 2014-11-13 12:15:16 -05:00
Pietro Gagliardi bdcb4516b7 More TODOs. 2014-11-13 12:14:29 -05:00
Pietro Gagliardi 4697976fa7 More TODOs. 2014-11-12 22:54:48 -05:00
Pietro Gagliardi 922097985b Added keyboard navigation for columns in the new Windows Table. 2014-11-12 22:48:04 -05:00
Pietro Gagliardi 2b8f0635a0 More TODOs. 2014-11-12 22:37:56 -05:00
Pietro Gagliardi 8f0f1ad3b5 Added cell focusing to the new Windows Table. Checkbox columns need keyboard accessibility too. For now, focus is only applied with a mouse click. 2014-11-12 21:59:03 -05:00