Commit Graph

45 Commits

Author SHA1 Message Date
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 f96c0f410e Started the implementation of progressbar columns. This handles LVN_GETDISPINFO. 2018-06-16 13:06:20 -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 43bb983f5b Wrote new (incomplete) image drawing code. Now to build and test. 2018-06-15 22:50:39 -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 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 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 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 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 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
Pietro Gagliardi a858300f25 Filled in image.cpp. Also switched on WIC since we'll need it for uiArea, though uiTable will still need classic GDI. Now let's integrate this into uiTable. 2018-06-09 19:24:36 -04:00
Pietro Gagliardi 3aee505f4e Weirdness workarounds. 2018-06-09 14:32:04 -04:00
Pietro Gagliardi ff64685655 More work. List View is starting to show its dumbness again. 2018-06-09 13:57:43 -04:00
Pietro Gagliardi 1c9f9627c0 Started image support for Windows tables. 2018-06-09 12:15:50 -04:00
Pietro Gagliardi c6c4dbd580 Started handling colors in the Windows table code. 2018-06-09 10:40:42 -04:00
Pietro Gagliardi 06a8044c2c Oops, forgot to keep the string queue full. It works! Now to switch to custom draw. 2018-06-08 22:11:46 -04:00
Pietro Gagliardi 69e91a9678 Fixed build errors and some logic errors. Let's hope it works! 2018-06-08 22:05:11 -04:00
Pietro Gagliardi 71a310909d Oops 2018-06-08 21:45:30 -04:00
Pietro Gagliardi 41d63bd0cf And finished rewriting table.cpp. That wasn't too bad for just text columns. Let's hope it works. 2018-06-08 21:44:55 -04:00
Pietro Gagliardi 516eb312fc Rearranged stuff in table.cpp on Windows and started rewriting it to handle owner-data in the new API. 2018-06-08 21:16:06 -04:00
Pietro Gagliardi 3aa16e844d Adjusted uiTableModel on Windows for owner-data list views. 2018-06-08 01:35:23 -04:00
Pietro Gagliardi 0adad7743a Drop mixing of C and C++ class allocations, including placement new. This is the easiest change I can make to the Windows table code for now... 2018-06-07 22:54:01 -04:00
Pietro Gagliardi 374eed7432 Removed the facilities for printing an int as text; this was causing the tester to crash in a weird way on OS X (through NSApplication _crashOnException: without telling me what that exception was) and I didn't intend on this part type to be used in this way anyway... 2018-05-29 20:27:31 -04:00
Pietro Gagliardi a7fe45b8a5 Removed carriage returns. 2018-05-29 20:26:48 -04:00
Ben Campbell b3b21196a1 minor windows table tweaks 2018-05-29 18:17:10 +12:00
Ben Campbell ba13227bed further style consistency tweaks 2018-05-28 20:26:07 +12:00
Ben Campbell 4246ae5549 assorted consistancy cleanup 2018-05-22 22:53:25 +12:00
Ben Campbell 7402dec266 remove superfluous #include <vector> 2018-05-22 20:41:49 +12:00
Ben Campbell fc2ea17bb8 Add minimal uiTable implementation for windows
This uses the win32 common controls listview to implement uiTable.
There are limitations:
 - It supports only a single TextPart per column.
 - ImagePart, CheckboxPart and ProgessBarPart are not implemented.
 - There is no support for cell coloring.
 - Cell editing is not implemented.
Some of these will be very hard to support using the standard
common control listview, and probably require an entire custom
listview.
2018-05-22 20:41:49 +12:00