Commit Graph

47 Commits

Author SHA1 Message Date
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
Pietro Gagliardi d4271c8ceb DlgUnit -> DlgUnits 2015-04-09 18:45:58 -04:00
Pietro Gagliardi cefa6d0bd2 Migrated the new control logic on Windows to the new uiControl/uiSizing system. 2015-04-09 17:24:26 -04:00
Pietro Gagliardi 880008b716 Implemented the text functions on Windows. 2015-04-09 11:12:01 -04:00
Pietro Gagliardi f2537aadd3 More TODO resolution. 2015-04-08 20:01:33 -04:00
Pietro Gagliardi 00e31d0a2b Finished Windows cleanup management. Everything (almost, only parentWindow is still around, but that shouldn't be a uiWindow to begin with) now cleaned! 2015-04-08 00:51:50 -04:00
Pietro Gagliardi 78aa64f7ca Implemented uiButton.preferredSize() on Windows. This includes adding a function to get the width of text in a control. 2015-04-07 19:32:16 -04:00
Pietro Gagliardi 5b36956ecb Wrote up the initial uiButton implementation. It (mostly; just needs text and for that I need to add a uiControlHandle()) works! 2015-04-07 04:02:21 -04:00
Pietro Gagliardi fecb7caa14 Hooked up resizing. Now to make a control that uses this. 2015-04-07 03:39:47 -04:00
Pietro Gagliardi 9e26519338 Added subclassing, which finishes off newcontrol_windows.c. 2015-04-07 02:46:27 -04:00
Pietro Gagliardi 9579a57501 More Windows control work. 2015-04-07 01:51:17 -04:00
Pietro Gagliardi 249cc1f2f0 More work on the Windows control hooking. 2015-04-07 01:33:26 -04:00
Pietro Gagliardi 9742cc02df Added a public API for creating raw Windows controls. Removed include guards from uipriv_*.h. 2015-04-07 00:56:06 -04:00
Pietro Gagliardi 9298bc9e37 Changed ui_*.h to uipriv_*.h pending a public non-portable API. 2015-04-07 00:26:27 -04:00
Pietro Gagliardi 20061b8e78 Decided to start with the parenting stuff now. 2015-04-07 00:23:01 -04:00
Pietro Gagliardi 2c680dfa75 Started writing code for handling single-HWND controls on Windows. Similar code will exist for single-GtkWidget controls on GTK+ and single-NSView controls on Cocoa. 2015-04-06 22:26:53 -04:00
Pietro Gagliardi 58da9ce2bd Started working on uiControl. 2015-04-06 21:53:31 -04:00
Pietro Gagliardi 4d89e6ae71 Implemented what we have so far, but on Windows. 2015-04-06 17:41:33 -04:00