Commit Graph

4132 Commits

Author SHA1 Message Date
Pietro Gagliardi 6d0b276d6d Started handling table events. This covers checkboxes and buttons. 2018-06-17 11:48:39 -04:00
Pietro Gagliardi 2fb3676a8f More TODOs. 2018-06-17 10:50:24 -04:00
Pietro Gagliardi db2f3352c4 Added dummy code to evaluate LVM_SUBITEMHITTEST. The code will remain, but will be #if'd out. 2018-06-17 09:29:51 -04:00
Pietro Gagliardi 7bc121b1ec And drew buttons. Woo! Now for the harder part: editing. 2018-06-17 09:01:24 -04:00
Pietro Gagliardi 9fba903c4a Started button columns. LVN_GETDISPINFO handled. Also filled in the rest of the new column functions. 2018-06-16 22:12:54 -04:00
Pietro Gagliardi a00ca05136 Added themed progressbars. 2018-06-16 20:10:39 -04:00
Pietro Gagliardi 301376706f And made indeterminate progressbars work. Now to theme them. 2018-06-16 19:40:06 -04:00
Pietro Gagliardi c7555dcfd3 Started a more flexible indeterminate-state implementation. Now to build and test it. 2018-06-16 19:05:36 -04:00
Pietro Gagliardi c978f6fece Started indeterminate progress bars. This is gonna be interesting. 2018-06-16 18:06:44 -04:00
Pietro Gagliardi 8769bea3a0 Added code for unthemed definite progressbars. 2018-06-16 13:57:46 -04:00
Pietro Gagliardi f96c0f410e Started the implementation of progressbar columns. This handles LVN_GETDISPINFO. 2018-06-16 13:06:20 -04:00
Pietro Gagliardi d63af885ba Oops, that's why tooltips weren't working right: I had inverted a test in tabledispinfo.cpp. Fixed. 2018-06-16 12:52:16 -04:00
Pietro Gagliardi bcab521311 And consolidated the LVN_DISPINFO handlers. Everything's a lot cleaner now too, woo! 2018-06-16 12:33:16 -04:00
Pietro Gagliardi b9289c93a6 And drew checkboxes. We can FINALLY move on to other data types! ...almost. First we have to consolidate LVN_GETDISPINFO handlers. 2018-06-16 11:59:17 -04:00
Pietro Gagliardi 4bfd950caa Centered the table image. 2018-06-16 10:22:41 -04:00
Pietro Gagliardi f92c83992e Fixed image matching. 2018-06-16 08:52:55 -04:00
Pietro Gagliardi f1341a0485 Fixed image drawing. Still need to figure out why it's using the wrong size... 2018-06-16 04:26:36 -04:00
Pietro Gagliardi f852359acb Fixed build errors. The image list selection part works, at least!! Let's figure out why nothing else does. 2018-06-15 23:00:39 -04:00
Pietro Gagliardi 43bb983f5b Wrote new (incomplete) image drawing code. Now to build and test. 2018-06-15 22:50:39 -04:00
Pietro Gagliardi d6cebf4ca0 Added scaling to uiImage on Windows. We'll need this for what we're about to do. 2018-06-15 22:28:37 -04:00
Pietro Gagliardi 32ee36eb22 Fixed some of the technical glitches. 2018-06-15 19:29:01 -04:00
Pietro Gagliardi e6da33121e And integrated tabledraw.cpp. It works, barring some technical gltiches. It also makes me realize the alpha blending issue was my fault... 2018-06-15 10:04:32 -04:00
Pietro Gagliardi fda8f2fbae Started a separate file just for drawing tables; integrated text. 2018-06-14 21:31:45 -04:00
Pietro Gagliardi 75063ec266 Fixed text positioning in non-image columns. This separation probably isn't working... 2018-06-14 20:26:51 -04:00
Pietro Gagliardi c79f9b4ecd Added bitmap margins to the draw parameters. We'll need it later. 2018-06-13 21:46:28 -04:00
Pietro Gagliardi caa0688687 Started drawing uiTable text. We're drawing fully manually from here on out. Also fixed LVIF_INDENT settings and a few other things. 2018-06-13 21:07:58 -04:00
Pietro Gagliardi 15bc55dd5e Started work on backgrounds. This isn't ideal quite yet, but. 2018-06-13 10:09:13 -04:00
Pietro Gagliardi c01b010fd7 Fixed memory corruption issues. See code for details. 2018-06-13 08:30:00 -04:00
Pietro Gagliardi c4251894b5 Flipped the memory corruption back on so we can debug it. 2018-06-12 20:15:59 -04:00
Pietro Gagliardi f216af94e7 Made our new custom draw code only run on item prepaint. 2018-06-12 08:20:15 -04:00
Pietro Gagliardi f28c97d4d6 Switched checkboxes from postpaint to prepaint and turned off drawing everything while we slowly transition everything over. 2018-06-12 08:17:31 -04:00
Pietro Gagliardi e52373c59a Reintegrated wintablemetrics, properly this time (for the most part). It works. Now we can start switching to custom-drawing everything. 2018-06-12 07:58:27 -04:00
Pietro Gagliardi 59d8e81b85 There, found the reason that code doesn't work (LVIF_ICON was as tall as LVIF_BOUNDS) and fixed it (use the actual icon size for vertical centering) 2018-06-12 01:54:21 -04:00
Pietro Gagliardi 0f89418a95 Fixed a typo in tableimages.cpp. Okay, so the code I had before worked purely by accident, and this code doesn't. Wonderful... 2018-06-12 01:40:26 -04:00
Pietro Gagliardi 8f0019af10 Tried to combine all the Windows table metrics stuff. This broke things, so we'll have to go back to the drawing board here. 2018-06-11 22:22:54 -04:00
Pietro Gagliardi c843f1e62d More TODOs. 2018-06-11 08:01:18 -04:00
Pietro Gagliardi 0c6e7add01 Experimented with custom-drawing the text, this time in a nicer place thatn the default. Okay, this isn't too bad, especially now that it seems everything is vertically centered... 2018-06-10 23:03:54 -04:00
Pietro Gagliardi dfb3bd39f1 Some more TODO work. I might as well try custom drawing text now. 2018-06-10 20:18:07 -04:00
Pietro Gagliardi cd2a6f7c29 Fixed the checkbox y-offset issue. There are other issues, but this is more hopeful already... 2018-06-10 19:54:44 -04:00
Pietro Gagliardi 2a2990f19c I have no clue anymore. Tempted to undo checkbox stuff entirely for now. 2018-06-10 19:07:34 -04:00
Pietro Gagliardi 94a3397894 Tried to resolve checkboxes appearing selected. It doesn't work fully yet, so the actual drawing that makes it work is disabled for now. But the handler for NM_CUSTOMDRAW now has a hook to become cleaner in the future. 2018-06-10 17:38:51 -04:00
Pietro Gagliardi 5a5f9ba9ac And added themed checkboxes. 2018-06-10 13:15:21 -04:00
Pietro Gagliardi 8dd9f08ba4 Actually one more quick test fix to cycle through all the images before continuing. Okay, NOW for themed checkboxes. 2018-06-10 10:45:50 -04:00
Pietro Gagliardi c22f643df7 More image and checkbox fixups. Next: themed checkboxes. 2018-06-10 10:43:29 -04:00
Pietro Gagliardi a3feb425a1 Started splitting image and checkbox stuff into its own file. Also started adopting HRESULT returns everywhere, because why not make the conversion to it later slightly easier by starting now. 2018-06-10 00:51:50 -04:00
Pietro Gagliardi 8d43b55ff8 Removed some now-unused stuff. 2018-06-09 23:55:43 -04:00
Pietro Gagliardi 405a6defd2 Started using normal images for checkboxes in Windows uiTables. It doesn't quite work yet. 2018-06-09 23:25:16 -04:00
Pietro Gagliardi 4c5f0961fe Started an implementation of checkboxes in table.cpp. List View simply does not seem to support state images in subitems, so we'll have to improvise. Hopefully this won't screw accessibility. 2018-06-09 23:02:37 -04:00
Pietro Gagliardi 0f59bf7399 More TODOs. 2018-06-09 20:42:13 -04:00
Pietro Gagliardi b43fb4b247 And added images to uiTable. Right now it's loading the 32x32 images into the table instead of the 16x16 ones, but hey, it works! 2018-06-09 20:35:05 -04:00