Commit Graph

3578 Commits

Author SHA1 Message Date
Pietro Gagliardi fb67c429d8 Made background color columns only settable at creation time; added a uiTableParams struct for the purpose. This should end edits to uitable.h for now (until we're ready to document it). Now to just clean up all the implementations. 2018-06-24 10:28:41 -04:00
Pietro Gagliardi 72c7c05f04 Fixed up AddColumn parameter and private fields names; made them consistent. 2018-06-24 09:52:01 -04:00
Pietro Gagliardi 4dbf1994a6 Deduplicated the default text column parameters across platforms. 2018-06-24 00:45:54 -04:00
Pietro Gagliardi 9b340ed40c Fixed checkboxes on Mac OS X. 2018-06-23 23:48:47 -04:00
Pietro Gagliardi 8f4598f641 Finally removed the extra uiImage declarations that were there for long-irrelevant compiler errors. 2018-06-23 23:45:58 -04:00
Pietro Gagliardi 74ec21f4c7 Turned the direct method calls on uiTableModel into functions to make the call sites look a bit cleaner. More stuff will go into common/tablemodel.c... 2018-06-23 23:35:42 -04:00
Pietro Gagliardi 9a79eed2ac Final cleanup, first part: renamed uiTableData to uiTableValue. 2018-06-23 20:19:30 -04:00
Pietro Gagliardi ac27e24add And even more still. I'm just gonna clean everything up for a merge at this point. 2018-06-23 11:27:02 -04:00
Pietro Gagliardi 888bb450b3 More TODOs. 2018-06-23 11:26:14 -04:00
Pietro Gagliardi 7d17df7121 HRESULT-chained the drawing functions together and fixed bugs in the focus drawing code. 2018-06-22 21:50:04 -04:00
Pietro Gagliardi d0f7cf81c5 And rewired the focus rect. 2018-06-21 23:47:24 -04:00
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