Commit Graph

67 Commits

Author SHA1 Message Date
Pietro Gagliardi f3820ac4b0 Okay new plan: we're going to start with the Windows implementation instead, since that's the one that's going to have to be more complicated. I'll then decide if we should copy this strategy on the other platforms or not. 2022-07-27 21:43:15 -04:00
Pietro Gagliardi 7cdd6ee38c Finished all the necessary bits to implement what little of uiWindow we have now on Windows. Now to fill in the tests. 2020-06-07 14:10:16 -04:00
Pietro Gagliardi c17f854d04 And added uiControlOSVtable on Windows. We're now back to building everywhere! :D 2019-06-18 20:31:28 -04:00
Pietro Gagliardi c9643ea5a6 Gutted the existing header files, started trimming things that remain in the backups, and renamed _UI_EXTERN and _UI_ENUM and the include guards and libui_EXPORTS to start with uipriv instead. 2019-04-08 20:55:06 -04:00
Pietro Gagliardi 997c8aac35 Implemented visibility change detection on Windows. Now to refine the actual implementation of hidden controls. 2016-06-14 15:55:24 -04:00
Pietro Gagliardi 2affdab837 Removed intmax_t from the rest of the public API. 2016-06-13 21:23:05 -04:00
Pietro Gagliardi 1d8ea79e45 Removed uiControlVerifyDestroy(); we could have just had it in uiFreeControl(). 2016-05-22 01:07:25 -04:00
Pietro Gagliardi 1a77e9f301 Fixed all compiiler errors. Now for runtime errors! 2016-04-29 17:08:31 -04:00
Pietro Gagliardi 447aa75dc6 Reworked container.cpp a bit to suit the new propagation system. 2016-04-28 17:19:06 -04:00
Pietro Gagliardi 3baa94476d Adjusted uiWindow to use the new system for propagating minimum size changes. 2016-04-28 17:11:32 -04:00
Pietro Gagliardi c457d9bf00 Started a newer, better system for propagating layout changes. This relies on WM_GETMINMAXINFO, at least... 2016-04-28 16:59:26 -04:00
Pietro Gagliardi 56853c5d86 Cleaned up some control ID stuff. 2016-04-27 17:51:33 -04:00
Pietro Gagliardi 19b5ebd14d Some fixups. 2016-04-27 14:45:45 -04:00
Pietro Gagliardi e2f03de5ca More TODOs. 2016-04-26 22:07:14 -04:00
Pietro Gagliardi 227c3b3ec1 Split the public functions out of winutil.cpp to organize things. Renamed uiWindowsEnsureSetParent() to uiWindowsEnsureSetParentHWND() to denote its intended use. 2016-04-26 22:06:12 -04:00
Pietro Gagliardi 37e83d133b Started the migration. Got rid of a bunch of cruft, including the old delayed resize logic (except for timers; will have to get that back out). 2016-04-26 19:57:13 -04:00
Pietro Gagliardi dab10d13d2 Finished ui_windows.h. Now we have to actually write all this. Yay... 2016-04-26 19:07:56 -04:00
Pietro Gagliardi 25b9231ff8 Whoops, forgot the important bit! Minimum sizes! 2016-04-26 17:37:16 -04:00
Pietro Gagliardi d4d81a41a8 Started ~ the big Windows rewrite ~. You'll see a bunch of obviously new things. And as you can guess, we're dropping the scheduled sizing for now. 2016-04-26 17:35:10 -04:00
Pietro Gagliardi bc0a1d43c9 Applied the new type system to the Windows backend and fixed some more C++ stupidity related to it. 2016-04-24 17:38:48 -04:00
Pietro Gagliardi 46391367fe Removed the typefn stuff from ui_*.h*. 2016-04-24 14:15:56 -04:00
Pietro Gagliardi 050cc3aa16 Fixed some things so far. It looks like I can't have __FILE__, etc. turned into wide strings because the way to do so works *ahead of time* :| Have to restructure debug.cpp. 2016-04-23 17:31:59 -04:00
Pietro Gagliardi 0307e11bf2 Migrated ui_windows.h. Now to fix up the makefiles and test. 2016-04-23 16:47:44 -04:00
Pietro Gagliardi 09c1a62a8e Moved most of the headers to C++. 2016-04-20 19:39:20 -04:00
Pietro Gagliardi a9316a04b0 Added C++ extern guards. 2015-11-16 10:55:44 -05:00
Pietro Gagliardi 54332b90fb Finally merged out the redo folder. 2015-09-02 13:48:06 -04:00
Pietro Gagliardi a00bc3cb9d Started migrating ui_windows.h. This is going to be a pain... Also fixed an error in ui_unix.h. 2015-08-28 21:42:21 -04:00
Pietro Gagliardi 8213eac2d7 Moved everything up a directory level. 2015-08-27 12:05:11 -04:00
Pietro Gagliardi d98ca5dfd4 Removed more files from the top level. 2015-08-27 11:59:59 -04:00
Pietro Gagliardi 1d309e2f7c Exported ui_windows.h functions. 2015-05-07 18:13:47 -04:00
Pietro Gagliardi f74394fbac "Exported" uiSizingSys fields. 2015-05-07 14:22:31 -04:00
Pietro Gagliardi 6e4845f11f Fixed tab order on Windows. 2015-05-07 14:20:31 -04:00
Pietro Gagliardi 38a5341603 Fixed public/private namespace clobbering in the Windows backend and a wrong name in ui_darwin.h. 2015-05-07 12:58:33 -04:00
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 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 b15f5ff1c7 Started implementing container enable/disable on Windows. More TODOs. 2015-05-04 09:53:53 -04:00
Pietro Gagliardi 62424fbd79 Decided not to hide NMHDR.idFrom in Windows WM_NOTIFY handlers; it's not worth it (we can get the ID anyway with GWLP_ID) and breaks the contract on WM_NOTIFY; who knows what user code will do? 2015-05-03 20:02:44 -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 6c6bce3702 Moved everything back to the top level. 2015-04-29 11:02:38 -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 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 562072780e Started writing the Windows new control documentation. 2015-04-17 13:18:26 -04:00
Pietro Gagliardi 5e5df97642 Migrated windows/button.c. This might be better; I don't know yet... 2015-04-17 10:40:52 -04:00
Pietro Gagliardi 6674944c0a Migrated newcontrol.c and button.c on the Windows backend. 2015-04-16 01:52:31 -04:00
Pietro Gagliardi da23756a6a Fix helper: get rid of direct casts to HWND to make errors more obvious. 2015-04-12 23:14:56 -04:00
Pietro Gagliardi e03d9ae2bd Changed the Windows new control system to automatically assign the standard control font if a flag is set in the creation parameters structure. 2015-04-10 17:53:59 -04:00
Pietro Gagliardi 9016935d5e Changed onWM_NOTIFY() to only pass the NMHDR * in. The LPARAM is more useful as a NMHDR *, and the WPARAM contains duplicate data (http://blogs.msdn.com/b/oldnewthing/archive/2013/12/04/10473637.aspx). Ideally we wouldn't even have the NMHDR.idFrom (see previous commit message), but oh well :/ 2015-04-09 19:07:41 -04:00
Pietro Gagliardi a538412df2 Changed onWM_COMMAND() to give our controls only the notification code. We don't want to give the control the ID part of wParam because that's (or that'll be) dynamically assigned based on control parenting and prior controls; we don't want to give the control the LPARAM since that contains the window handle and uiControl already has that. 2015-04-09 18:54:14 -04:00