Commit Graph

3948 Commits

Author SHA1 Message Date
Pietro Gagliardi c2000ea54d Gave up with CDDS_SUBITEM; it just refuses to play nice with focus rects. Will try drawing focus rects again next commit. 2018-06-21 21:56:24 -04:00
Pietro Gagliardi 4dc7f4c2de Wrote the initial code to draw the focus rect. 2018-06-20 21:11:15 -04:00
Pietro Gagliardi 5854b0f638 Loose ends for editing: drew the proper background for text and committing text works now. 2018-06-20 19:31:21 -04:00
Pietro Gagliardi ccb7005dc6 Properly clipped the edit within the listview. 2018-06-20 18:56:03 -04:00
Pietro Gagliardi f180423096 Integrated tablemetrics.cpp into tableediting.cpp and added resize-on-type. 2018-06-20 18:47:55 -04:00
Pietro Gagliardi 5ae45a1fcb Integrated tablemetrics.cpp with tabledraw.cpp. 2018-06-20 18:03:56 -04:00
Pietro Gagliardi ec07b12295 Split table cell metrics into its own file. We still need to actually integrate this with everything. 2018-06-20 11:05:34 -04:00
Pietro Gagliardi df59eee783 Renamed tableevents.cpp to the more accurate tableediting.cpp. 2018-06-20 10:45:14 -04:00
Pietro Gagliardi bff9d0e311 More work on table edit controls, including: subclassing the edit control to actually handle escape and enter, setting focus on the eidt control, selecting all text in the edit control, and splitting the sizing stuff into a separate function. We'll have to split the rect-gathering code into a separate file before we can add live resize to the edit control... which will probably be useful because then I could just write a function to enumerate focus rects later. 2018-06-20 10:39:27 -04:00
Pietro Gagliardi 25a443f4f2 Handled the finished-editing cases I can right now. It is... mostly good???????????? IListView is very tantalizing now... 2018-06-19 23:07:24 -04:00
Pietro Gagliardi ff4b424ab0 Added WS_CLIPCHILDREN to uiTable to prevent drawing over children. 2018-06-19 07:51:34 -04:00
Pietro Gagliardi 4c107997d2 Round two: fully custom edit sizing code. We're getting somewhere now. Now we'll need to actually manage this thing =P 2018-06-18 23:51:58 -04:00
Pietro Gagliardi 1edb406045 Let's start over with this edit control sizing stuff. 2018-06-18 09:39:14 -04:00
Pietro Gagliardi d81b365396 More edit control stuff. We've almost got it, but it's too wide and the text is still aligned wrong. 2018-06-17 21:22:57 -04:00
Pietro Gagliardi 51f98d1f7b Started implementing the edit control for our table view. 2018-06-17 17:56:45 -04:00
Pietro Gagliardi 799c613a6f Added code for detecting that text is to be edited. Now for actually implementing editing text. 2018-06-17 15:06:45 -04:00
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