Commit Graph

2481 Commits

Author SHA1 Message Date
Pietro Gagliardi 0430ca9102 Implemented making invisible children of uiStacks not count when drawing or calculating preferred size. Need to implement the new methods on uiStack itself before we can test. 2015-04-11 14:30:07 -04:00
Pietro Gagliardi b57c885505 Implemented showing, hiding, enabling, and disabling for GTK+ controls. 2015-04-11 14:21:58 -04:00
Pietro Gagliardi da0acba992 Laid the foundation for control showing, hiding, enabling, and disabling. 2015-04-11 14:12:12 -04:00
Pietro Gagliardi d14716c4d3 Renamed some variables in stack.c and added some exposition to make the code make slightly more sense. 2015-04-11 13:51:37 -04:00
Pietro Gagliardi 22e11ca8f3 Cleaned up uiStack's data structures to use the stackControl structure instead of four memory blocks for the control-specific parameters. 2015-04-11 13:45:59 -04:00
Pietro Gagliardi 2602330223 Resolved snwprintf() issues once and for all. Thanks to cousteau, dorp, and kate in irc.freenode.net/##c. 2015-04-11 13:32:25 -04:00
Pietro Gagliardi a34fe03eef Decided to disable the initial parent window on Windows. If this causes problems, I can re-enable it later. More TODOs. 2015-04-11 12:40:09 -04:00
Pietro Gagliardi 812b70f6f0 More exposition. 2015-04-11 10:34:26 -04:00
Pietro Gagliardi 2b6e6c20a3 Decided to keep the current Windows API padding rules. We can change it later if needed. 2015-04-11 10:32:01 -04:00
Pietro Gagliardi 42b8e40816 More TODO resolution. 2015-04-11 09:39:04 -04:00
Pietro Gagliardi 1ab2a81903 Finished the Mac OS X destruction work. 2015-04-11 02:56:16 -04:00
Pietro Gagliardi 4afca8f2c2 More of the previous commit. More TODOs. 2015-04-10 23:24:21 -04:00
Pietro Gagliardi c610c60ea6 Started to implement proper destruction logic for Mac OS X controls. 2015-04-10 23:22:46 -04:00
Pietro Gagliardi 47c89f6aef More TODO resolution and some GTK+ uiWindow inconsistency (and future repeated-event bug waiting to happen) cleanup. 2015-04-10 21:48:50 -04:00
Pietro Gagliardi da3009bfbb More commentary and TODOs. 2015-04-10 21:37:08 -04:00
Pietro Gagliardi a25ffeb334 More TODO resolution. 2015-04-10 21:29:05 -04:00
Pietro Gagliardi 94b621855c Added REAL code for the initial parent of a control on Windows. 2015-04-10 19:56:23 -04:00
Pietro Gagliardi bd05948219 Moved the control IDs TODO to TODO.md as that's a long-term TODO; it depends on how container controls play out. 2015-04-10 18:32:04 -04:00
Pietro Gagliardi d5da551c8c More TODO resolution. 2015-04-10 18:06:01 -04:00
Pietro Gagliardi a788c1b212 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 f650237614 Cleaned up Windows initialization error handling and migrated it to return the error message directly instead of through uiInitError. 2015-04-10 17:41:09 -04:00
Pietro Gagliardi 3069f38a9c Removed autocorrect from Mac OS X uiEntries. Also moved uiFreeText() to text_darwin.m. 2015-04-10 17:06:59 -04:00
Pietro Gagliardi d326407f05 Decided to kill uiInitError and return the message as a const char * instead. Will need to implement on Windows. 2015-04-10 16:54:06 -04:00
Pietro Gagliardi e49f6f7da8 More TODOs. 2015-04-10 14:31:16 -04:00
Pietro Gagliardi f37b94e73f More TODOs. 2015-04-10 14:29:45 -04:00
Pietro Gagliardi 47fb015afb More TODO resolution and cross-OS behavioral parity fixes. 2015-04-10 14:24:23 -04:00
Pietro Gagliardi a272619581 More TODO resolution and debugging stuff. 2015-04-10 13:39:45 -04:00
Pietro Gagliardi a38024c781 Eliminated direct use of strdup(); introduced uiDarwinNSStringToText() to do that work for us (and abort on failure). 2015-04-10 13:25:09 -04:00
Pietro Gagliardi 5bbaaeefe8 Chose not to use NSCAssert() in alloc_darwin.m. 2015-04-10 13:06:29 -04:00
Pietro Gagliardi 1d29a65a19 Fixed previous commit. 2015-04-10 12:47:02 -04:00
Pietro Gagliardi 5461b50081 Resolved TODOs in debug_windows.c. 2015-04-10 12:44:42 -04:00
Pietro Gagliardi 5f534068f1 More TODO resolutions. Thanks to David Hefferman for help. 2015-04-10 05:11:52 -04:00
Pietro Gagliardi b95335e87e Some TODO resolution; more TODOs. 2015-04-10 03:44:41 -04:00
Pietro Gagliardi 948416d04d Resolved some TODOs (including one resolved a while ago on IRC but not removed until now; thanks various people in irc.freenode.net/#macdev). 2015-04-10 03:11:44 -04:00
Pietro Gagliardi 64b746c9a1 Decided that uiCheckboxSetChecked() should NOT trigger an event. This required changing the GTK+ backend to make it so; the Windows and Mac OS X backends are fine (setting their checkbox state programmatically will not send a signal; thanks to ThunderSnow in irc.freenode.net/#macdev for confirming this for Mac OS X). 2015-04-09 23:48:04 -04:00
Pietro Gagliardi a9115b352c More TODO resolution. 2015-04-09 23:24:18 -04:00
Pietro Gagliardi 50a227058a Changed the allocation logging from a compile-time setting to the first initialization option. 2015-04-09 22:38:11 -04:00
Pietro Gagliardi d9315e6d8f Added uiWindowMargined() and implemented it on all platforms. 2015-04-09 21:11:56 -04:00
Pietro Gagliardi a7281f9034 Added uiStackPadded(). 2015-04-09 20:04:18 -04:00
Pietro Gagliardi 10ea719dc8 Removed direct vtable calls from uiControl. 2015-04-09 19:17:23 -04:00
Pietro Gagliardi e78b625172 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 7400cda3da 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 18a58e56fa DlgUnit -> DlgUnits 2015-04-09 18:45:58 -04:00
Pietro Gagliardi e752356037 Migrated the Mac OS X code to the new uiControl/uiSizing system. 2015-04-09 18:39:21 -04:00
Pietro Gagliardi 22db738dd1 Migrated the GTK+ backend to the new uiControl/uiSizing system. 2015-04-09 18:17:04 -04:00
Pietro Gagliardi 1a525dea31 Finished Windows conversion. Works perfectly! 2015-04-09 17:57:08 -04:00
Pietro Gagliardi cba301abbc More Windows conversion. Not done yet. 2015-04-09 17:46:26 -04:00
Pietro Gagliardi 5c06fc512b Migrated the new control logic on Windows to the new uiControl/uiSizing system. 2015-04-09 17:24:26 -04:00
Pietro Gagliardi 46afda5dce Migrated stack.c to the new uiControl. 2015-04-09 16:57:55 -04:00
Pietro Gagliardi 471b3a57e7 Big change time: decided to stop playing around with hiding and made both uiControl and uiSizing public. Also restructured uiSizing to make system-dependent data in another structure. 2015-04-09 16:37:04 -04:00