Pietro Gagliardi
|
ad1641f9ab
|
Cleaned up timers in uiUninit() on Windows. Update #395.
|
2018-08-09 04:29:16 -04:00 |
Pietro Gagliardi
|
e0ca00e55b
|
Resolved confusion about the terminology of strides in uiImageAppend(). Also prevents overallocation on some platforms. Thanks to @mischnic and @msink for spotting this. Update #402.
|
2018-08-05 18:39:29 -04:00 |
Pietro Gagliardi
|
b60953ed1c
|
More TODOs.
|
2018-07-28 13:57:20 -04:00 |
Pietro Gagliardi
|
f3882d6124
|
Cleaned up color access across platforms.
|
2018-06-24 14:22:05 -04:00 |
Pietro Gagliardi
|
acb40964f3
|
Deduplicated editable logic across platforms.
|
2018-06-24 11:41:19 -04:00 |
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
|
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 |
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
|
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 |