Commit Graph

721 Commits

Author SHA1 Message Date
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 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
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 ca2115ca57 Removed some old files from wintable that we won't use anymore. 2018-06-08 01:23:11 -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
Pietro Gagliardi 32a83241cb
Merge pull request #361 from bcampbell/table-comctl
Add minimal uiTable implementation for Windows.

🎉
2018-05-29 20:00:22 -04:00
Ben Campbell b3b21196a1 minor windows table tweaks 2018-05-29 18:17:10 +12:00
Pietro Gagliardi cb5b6bf924 Merge branch 'master' into table 2018-05-28 13:39:11 -04:00
Pietro Gagliardi c3be9f221c Fixed a typo that led to CRLF bugs in uiMultilineEntry on Windows. Thanks to @mimecorg for spotting it.
Update #359
2018-05-28 13:38:36 -04: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
Pietro Gagliardi 9dad806693 Merge branch 'master' into table 2018-05-13 12:05:43 -04:00
Pietro Gagliardi ca1079f344 Cleaned up from the previous merge and added it to the README. 2018-05-13 12:05:09 -04:00
cody271 edd4127f8e uiDateTimePicker Fix style consistency 2018-05-12 21:35:07 -07:00
cody271 0b436a8c74 uiDateTimePicker Use proper Windows backend conventions 2018-05-12 21:35:07 -07:00
cody271 0ac4ffdc87 Implement uiDateTimePickerTime() for Windows 2018-05-12 21:35:07 -07:00
cody271 0baf2d2eb6 uiDateTimePicker Keep libui constructors at the end of the file 2018-05-12 21:35:07 -07:00