Pietro Gagliardi
|
329b4f29dd
|
Implemented tab navigation across tabs on Windows.
|
2015-05-06 18:37:21 -04:00 |
Pietro Gagliardi
|
c5e5fbd909
|
Laid the foundation for proper tab navigation in uiTabs.
|
2015-05-06 18:05:07 -04:00 |
Pietro Gagliardi
|
d247e76866
|
Implemented uiTabInsertPageBefore() on Windows.
|
2015-05-06 14:09:20 -04:00 |
Pietro Gagliardi
|
956b78718f
|
Migrated windows/tab.c to ptrarray and fixed the build.
|
2015-05-06 13:37:23 -04:00 |
Pietro Gagliardi
|
8c3ca7fcce
|
Fixed WM_PRINTCLIENT on uiContainers in windows/container.c. It works.
|
2015-05-06 12:39:06 -04:00 |
Pietro Gagliardi
|
047913d1a6
|
Made paintContainerBackground() in windows/container.c respect the clip rect.
|
2015-05-06 11:30:09 -04:00 |
Pietro Gagliardi
|
74fc1aea45
|
Split out the parent drawing in windows/container.c into its own function. This is necessary to allow for clipping.
|
2015-05-06 11:10:28 -04:00 |
Pietro Gagliardi
|
7e0d79713b
|
Changed the uiContainer code on Windows to use WM_PRINTCLIENT directly instead of creating the brush each time. Thanks to Barmak Shemirani (http://stackoverflow.com/questions/30066108/brush-origin-patblt-and-mapwindowrect-confusion) for inspiring me with this solution that I should have thought of myself =P
|
2015-05-06 02:20:08 -04:00 |
Pietro Gagliardi
|
526e9b81ea
|
Fixed bin destruction handling on the Windows backend.
|
2015-05-06 00:52:24 -04:00 |
Pietro Gagliardi
|
bc2e6d134b
|
Started working on a pointer array implementation. This also means we'll need the C standard library for memcpy()/memmove(), so drop the DisableThreadLibraryCalls() TODO.
|
2015-05-05 22:55:02 -04:00 |
Pietro Gagliardi
|
657cbe2013
|
Updated a TODO.
|
2015-05-05 20:57:30 -04:00 |
Pietro Gagliardi
|
58540b2b2b
|
Changed from GetWindowRect() in windows/contianer.c to get the parent's client size to GetClientRect(); we're only interested in the size, and WM_PRINTCLIENT is strictly for the client :/ It's still correct as far as I know (the old code used it).
|
2015-05-05 20:56:07 -04:00 |
Pietro Gagliardi
|
9f8d16b26a
|
Revert "Switch to using DeferWindowPos() in Windows resizes. It doesn't optimize anything just yet (because it's still recursively invoked), but it can be optimized later (by not responding to container resizes and only using container updates); and more important, it puts (most of) the resizing invocations in one place."
Decided not to make the code that much more complicated.
This reverts commit f6fdf932e1 .
|
2015-05-05 15:19:55 -04:00 |
Pietro Gagliardi
|
f6fdf932e1
|
Switch to using DeferWindowPos() in Windows resizes. It doesn't optimize anything just yet (because it's still recursively invoked), but it can be optimized later (by not responding to container resizes and only using container updates); and more important, it puts (most of) the resizing invocations in one place.
|
2015-05-05 15:10:37 -04:00 |
Pietro Gagliardi
|
f35d68907b
|
More flicker work and TODOs.
|
2015-05-05 14:44:10 -04:00 |
Pietro Gagliardi
|
7f56079257
|
Disabled WM_PRINTCLIENT in uiContainer on Windows for now.
|
2015-05-05 14:37:25 -04:00 |
Pietro Gagliardi
|
4ba82c6eeb
|
Started refactoring uiContainer painting on Windows to be more efficient and handle WM_PRINTCLIENT.
|
2015-05-05 14:00:55 -04:00 |
Pietro Gagliardi
|
93ead4043e
|
Added a wrapper around MapWindowRect() to simplify error handling. This will be needed for future changes to windows/container.c.
|
2015-05-05 13:12:48 -04:00 |
Pietro Gagliardi
|
047d5aaa4d
|
Added error checking to the container painting code. More TODOs.
|
2015-05-05 13:01:20 -04:00 |
Pietro Gagliardi
|
40993b33ab
|
One person reports flicker, one person doesn't... I'll have to investigate myself.
|
2015-05-05 11:02:32 -04:00 |
Pietro Gagliardi
|
84b263ade6
|
Removed windows/OLDcontainer.c; we finally implemented everything from it.
|
2015-05-05 09:40:34 -04:00 |
Pietro Gagliardi
|
913025c3de
|
More TODOs.
|
2015-05-05 09:34:43 -04:00 |
Pietro Gagliardi
|
c0cc7f2df4
|
Implemented uiContainer transparent background drawing.
|
2015-05-05 09:10:58 -04:00 |
Pietro Gagliardi
|
2d49baa2f1
|
Seemingly fixed redraw issues with uiContainer on Windows control background painting. Now to paint uiContainer's background itself.
|
2015-05-05 00:16:25 -04:00 |
Pietro Gagliardi
|
2968d48d9e
|
Figured out something workable for control backgrounds on Windows!
|
2015-05-04 23:06:16 -04:00 |
Pietro Gagliardi
|
4e56f2d2b5
|
Disabled the WM_CTLCOLORxxx handler for now.
|
2015-05-04 22:04:24 -04:00 |
Pietro Gagliardi
|
d4245a448d
|
Moved the WM_CTLCOLORxxx handler back into the Windows uiContainer.
|
2015-05-04 20:36:33 -04:00 |
Pietro Gagliardi
|
e808b155cc
|
Moved a TODO to the long-term TODO list.
|
2015-05-04 20:11:58 -04:00 |
Pietro Gagliardi
|
0ad6cbb4b5
|
Removed a now-stale TODO thanks to some past commits.
|
2015-05-04 20:11:05 -04:00 |
Pietro Gagliardi
|
8b8be286ff
|
Made private functions in the various bin source files static.
|
2015-05-04 17:42:20 -04:00 |
Pietro Gagliardi
|
b2e9b646a4
|
Got rid of typedefs in the various newcontrol files for consistency.
|
2015-05-04 15:51:23 -04:00 |
Pietro Gagliardi
|
854d1f49af
|
Made preferredSize function names consistent on Windows. Stale TODO cleanup.
|
2015-05-04 14:56:26 -04:00 |
Pietro Gagliardi
|
7f41a3982f
|
Finished implementing uiTab enable/disable on Windows.
|
2015-05-04 14:45:18 -04:00 |
Pietro Gagliardi
|
5c9751f4d4
|
Set up a framework on Windows for implementing tab enable/disable.
|
2015-05-04 14:42:23 -04:00 |
Pietro Gagliardi
|
23e3230156
|
Fixed control enabling on Windows uiWindows.
|
2015-05-04 14:32:55 -04:00 |
Pietro Gagliardi
|
4716781e78
|
Finished container enable/disable on Windows for now.
|
2015-05-04 14:05:36 -04:00 |
Pietro Gagliardi
|
d98a2291cb
|
More enable/disable container stuff.
|
2015-05-04 11:09:28 -04:00 |
Pietro Gagliardi
|
b15f5ff1c7
|
Started implementing container enable/disable on Windows. More TODOs.
|
2015-05-04 09:53:53 -04:00 |
Pietro Gagliardi
|
862f84292f
|
Fixed an error in windows/container.c.
|
2015-05-03 19:58:37 -04:00 |
Pietro Gagliardi
|
fd4c559e86
|
Removed the typename argument from uiAlloc() and uiRealloc().
|
2015-05-03 19:52:24 -04:00 |
Pietro Gagliardi
|
997db39bb7
|
Decided not to optimize Windows menu item lookup.
|
2015-05-03 17:37:36 -04:00 |
Pietro Gagliardi
|
23cfcc8c6d
|
Confirmed that tabs are taken into account with TCM_ADJUSTRECT on Windows.
|
2015-05-03 17:21:48 -04:00 |
Pietro Gagliardi
|
aa568e51cf
|
Implemented uiControlPreferredSize() on Windows uiTabs.
|
2015-05-03 17:13:40 -04:00 |
Pietro Gagliardi
|
fc1044aab9
|
Quick TODOTODOTODO... resolution.
|
2015-05-03 16:56:58 -04:00 |
Pietro Gagliardi
|
2186192502
|
Changed c-> to uiControl(c)-> in the various newcontrol files for consistency.
|
2015-05-03 14:44:46 -04:00 |
Pietro Gagliardi
|
51cdb1817e
|
Added WS_EX_CONTROLPARENT to uiContainer on Windows.
|
2015-05-03 14:12:45 -04:00 |
Pietro Gagliardi
|
e8600450aa
|
TODO elaboration.
|
2015-05-03 12:36:35 -04:00 |
Pietro Gagliardi
|
61bcfa1a7e
|
Cleaned up and resolved DllMain() TODOs and issues.
|
2015-05-03 12:34:10 -04:00 |
Pietro Gagliardi
|
80c79d31a3
|
Changed the Windows window-creation code to handle menu wrapping.
|
2015-05-03 12:15:24 -04:00 |
Pietro Gagliardi
|
643ed46b00
|
Cleaned up windows/container.c resize(). More TODOs.
|
2015-05-03 11:55:34 -04:00 |
Pietro Gagliardi
|
dc5b7f4c59
|
Some TODO resolution in windows/tab.c. Wine bug filed (https://bugs.winehq.org/show_bug.cgi?id=38527); first tab behavior verified with program in wine bug.
|
2015-05-03 11:47:06 -04:00 |
Pietro Gagliardi
|
d50701b3a7
|
TODO consolidation.
|
2015-05-03 10:21:36 -04:00 |
Pietro Gagliardi
|
454b3ecb03
|
Changed the various OS-side control creation functions to use Make like uiMakeContainer() does instead of New.
|
2015-05-02 20:51:00 -04:00 |
Pietro Gagliardi
|
57bc11d67c
|
TODO consolidation.
|
2015-05-02 14:58:29 -04:00 |
Pietro Gagliardi
|
3260de37b3
|
BOOL -> int in initAlloc() on Windows.
|
2015-05-02 12:29:55 -04:00 |
Pietro Gagliardi
|
a70d56d77c
|
Switched to the Windows API heap functions in windows/alloc.c.
|
2015-05-02 12:27:53 -04:00 |
Pietro Gagliardi
|
effb919176
|
Added DllMain() to the Windows code.
|
2015-05-01 10:19:44 -04:00 |
Pietro Gagliardi
|
5094f08994
|
Fixed build errors from the previous commit.
|
2015-05-01 10:16:02 -04:00 |
Pietro Gagliardi
|
5ad2bfd6f0
|
Cleaned up uipriv*.h.
|
2015-05-01 10:14:11 -04:00 |
Pietro Gagliardi
|
122b1b0d2c
|
Some TODO consolidation.
|
2015-05-01 10:11:22 -04:00 |
Pietro Gagliardi
|
7dc7c5a5cd
|
Resolved a minor TODO in windows/menu.c.
|
2015-04-30 23:34:56 -04:00 |
Pietro Gagliardi
|
83f936a637
|
Fixed menus on Windows to avoid pointers moving underfoot.
|
2015-04-30 18:30:25 -04:00 |
Pietro Gagliardi
|
60a5931207
|
Added duplicate special menu item protection to the Windows backend.
|
2015-04-30 18:18:20 -04:00 |
Pietro Gagliardi
|
40dee5a693
|
Added bin destruction OS parent checks.
|
2015-04-30 17:49:38 -04:00 |
Pietro Gagliardi
|
dad19a6318
|
Switched from GetParent() to GetAncestor() on Windows since GetAncestor() has no documented error state.
|
2015-04-30 17:39:20 -04:00 |
Pietro Gagliardi
|
6400a6ea8c
|
TODO consolidation.
|
2015-04-30 17:34:15 -04:00 |
Pietro Gagliardi
|
75b4d28569
|
Implemented menu destruction on Windows.
|
2015-04-30 17:05:41 -04:00 |
Pietro Gagliardi
|
b52aa4cfcb
|
Started Windows menu destruction code and fixed a bug in GTK+ menu destruction.
|
2015-04-30 16:44:06 -04:00 |
Pietro Gagliardi
|
14de9f3cad
|
Fixed bug in Windows uiWindowOnClosing() handler.
|
2015-04-30 16:41:41 -04:00 |
Pietro Gagliardi
|
10345a2c7d
|
Implemented the new uiTab methods on Windows.
|
2015-04-30 15:50:03 -04:00 |
Pietro Gagliardi
|
c8695e4ca2
|
Decided to remove allocation logging. Leak checking can be done with dedicated tools.
|
2015-04-30 13:37:13 -04:00 |
Pietro Gagliardi
|
127f025eee
|
Decided not to bother with destruction blocking for now.
|
2015-04-30 13:30:00 -04:00 |
Pietro Gagliardi
|
63f1f7576e
|
Fixed a dumb typo in windows/tab.c that prevented tab switching from working correctly on Windows.
|
2015-04-29 23:05:15 -04:00 |
Pietro Gagliardi
|
a036632795
|
Re-connected Windows events. More TODOs.
|
2015-04-29 19:17:26 -04:00 |
Pietro Gagliardi
|
8f79f0596f
|
Set hidden flag variables BEFORE updating parent containers. Otherwise, parents won't reposition children correctly on systems where updates happen immediately (like OS X).
|
2015-04-29 14:25:34 -04:00 |
Pietro Gagliardi
|
6c6bce3702
|
Moved everything back to the top level.
|
2015-04-29 11:02:38 -04:00 |
Pietro Gagliardi
|
0ca0dcaf2d
|
Migrated the Windows basic controls. Rewrite in the new/ folder done!
|
2015-04-29 10:46:09 -04:00 |
Pietro Gagliardi
|
4c280ca42c
|
Removed or moved a bunch of stale files from the old source. All that's left now is to re-add the main controls and recreate the test program.
|
2015-04-29 10:20:25 -04:00 |
Pietro Gagliardi
|
90bb60a435
|
Moved windows/newcontrol.c and windows/tab.c back. Totally not migrated yet.
|
2015-04-29 01:34:03 -04:00 |
Pietro Gagliardi
|
7c91616af1
|
More old code file removal.
|
2015-04-28 13:53:45 -04:00 |
Pietro Gagliardi
|
bf401201f9
|
Removed a whole bunch of files from the old source tree.
|
2015-04-28 13:51:13 -04:00 |
Pietro Gagliardi
|
ac8e59c004
|
Hooked up the Windows menu event system and fixed some bugs in it. Still need to define menu events in general...
|
2015-04-21 18:52:57 -04:00 |
Pietro Gagliardi
|
dc386a599e
|
Added a framework for handling menu events on Windows.
|
2015-04-21 18:44:31 -04:00 |
Pietro Gagliardi
|
b6a2233d0b
|
Adjusted the Windows menu code for the recent changes (see past few commits).
|
2015-04-20 23:46:02 -04:00 |
Pietro Gagliardi
|
f303f066e2
|
Started implementing menus on Windows.
|
2015-04-20 20:26:21 -04:00 |
Pietro Gagliardi
|
21a29a5468
|
More destruction rules following code.
|
2015-04-19 22:59:06 -04:00 |
Pietro Gagliardi
|
24469a6e7b
|
Added code to check that a control is not destroyed while it has a parent. This isn't enough for uiStack, though...
|
2015-04-19 22:53:09 -04:00 |
Pietro Gagliardi
|
57329ea332
|
Implemented the desire background behavior for controls in windows/parent.c. Only one thing remains: clipping.
|
2015-04-18 20:31:32 -04:00 |
Pietro Gagliardi
|
9492e0b1c1
|
Settled WM_PRINTCLIENT for uiParent on Windows.
|
2015-04-18 20:27:12 -04:00 |
Pietro Gagliardi
|
92474f94af
|
Implemented WM_PAINT for uiParent on Windows. It seems to work...
|
2015-04-18 20:20:47 -04:00 |
Pietro Gagliardi
|
a2311c4c19
|
More TODOs.
|
2015-04-18 18:33:41 -04:00 |
Pietro Gagliardi
|
cf8871c524
|
Cleaned up the new control lifetime logic on Windows.
|
2015-04-18 18:07:57 -04:00 |
Pietro Gagliardi
|
55fe50463f
|
Changed Windows onWM_DESTROY to a generic onDestroy handler with a data parameter. This will make decoupling widget destruction from WM_DESTROY (like we did on GTK+ by decoupling from ::destroy) easier.
|
2015-04-18 18:02:16 -04:00 |
Pietro Gagliardi
|
63ccceed4f
|
Implemented uiTabDeletePage() on Windows. I'm really getting unhappy with the way we're implemented right now...
|
2015-04-18 14:41:28 -04:00 |
Pietro Gagliardi
|
492099f85a
|
Implemented lifetime stuff on Windows Tab. Starting to wonder why I'm bothering, or if this is even working. Anyway now I can write uiTabDeletePage()...
|
2015-04-18 14:19:42 -04:00 |
Pietro Gagliardi
|
efd94b2528
|
Continued implementing Windows lifetime code. Now for uiTab.
|
2015-04-18 14:16:06 -04:00 |
Pietro Gagliardi
|
8dcdbd0878
|
Started the work to settle lifetime issues on the Windows backend.
|
2015-04-18 14:06:12 -04:00 |
Pietro Gagliardi
|
1a76abef21
|
Implemented uiParentDestroy() on the Windows and Unix backends. These don't actually *use* it yet; that'll come later. (Ultimately, there should only be one path into window destruction, which leads to one path in uiParent destruction and one path in child destruction.) More TODOs.
|
2015-04-17 15:52:28 -04:00 |
Pietro Gagliardi
|
841b5c0c73
|
Migrated windows/parent.c to the previous commits's changes.
|
2015-04-17 14:53:56 -04:00 |
Pietro Gagliardi
|
9f0729de1c
|
Changed uiParentSetChild() to uiParentSetMainControl(). Backend changes incoming.
|
2015-04-17 13:43:01 -04:00 |