Commit Graph

658 Commits

Author SHA1 Message Date
Pietro Gagliardi 9c872df89f Implemented showing, hiding, enabling, and disabling for GTK+ controls. 2015-04-11 14:21:58 -04:00
Pietro Gagliardi 37975ae082 Laid the foundation for control showing, hiding, enabling, and disabling. 2015-04-11 14:12:12 -04:00
Pietro Gagliardi 901e1cffd6 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 1b815d9e4f 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 348998bdbe 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 4611ebf27c 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 88a46d7a44 More exposition. 2015-04-11 10:34:26 -04:00
Pietro Gagliardi e3c5dc1995 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 e1d14a08cb More TODO resolution. 2015-04-11 09:39:04 -04:00
Pietro Gagliardi 9ea77087b2 Finished the Mac OS X destruction work. 2015-04-11 02:56:16 -04:00
Pietro Gagliardi ebb77919f9 More of the previous commit. More TODOs. 2015-04-10 23:24:21 -04:00
Pietro Gagliardi 347a254d9f Started to implement proper destruction logic for Mac OS X controls. 2015-04-10 23:22:46 -04:00
Pietro Gagliardi b982e69fb7 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 a143f41f19 More commentary and TODOs. 2015-04-10 21:37:08 -04:00
Pietro Gagliardi 91907526a2 More TODO resolution. 2015-04-10 21:29:05 -04:00
Pietro Gagliardi 0f77841a73 Added REAL code for the initial parent of a control on Windows. 2015-04-10 19:56:23 -04:00
Pietro Gagliardi 0cfe64c2bb 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 9a5da6159b More TODO resolution. 2015-04-10 18:06:01 -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 c205427bfb 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 f2760aebde Removed autocorrect from Mac OS X uiEntries. Also moved uiFreeText() to text_darwin.m. 2015-04-10 17:06:59 -04:00
Pietro Gagliardi 6277c34337 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 e7adf623ae More TODOs. 2015-04-10 14:31:16 -04:00
Pietro Gagliardi 07187a4d18 More TODOs. 2015-04-10 14:29:45 -04:00
Pietro Gagliardi 2f85197be7 More TODO resolution and cross-OS behavioral parity fixes. 2015-04-10 14:24:23 -04:00
Pietro Gagliardi e88809179b More TODO resolution and debugging stuff. 2015-04-10 13:39:45 -04:00
Pietro Gagliardi 016a05aebf 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 512819def7 Chose not to use NSCAssert() in alloc_darwin.m. 2015-04-10 13:06:29 -04:00
Pietro Gagliardi 81ae03ffe2 Fixed previous commit. 2015-04-10 12:47:02 -04:00
Pietro Gagliardi 0b7a57917a Resolved TODOs in debug_windows.c. 2015-04-10 12:44:42 -04:00
Pietro Gagliardi 5dd6b46b30 More TODO resolutions. Thanks to David Hefferman for help. 2015-04-10 05:11:52 -04:00
Pietro Gagliardi dd08daa9db Some TODO resolution; more TODOs. 2015-04-10 03:44:41 -04:00
Pietro Gagliardi b4d527736c 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 6f5b5dc4e4 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 5aed7a5815 More TODO resolution. 2015-04-09 23:24:18 -04:00
Pietro Gagliardi 4e03a117da Changed the allocation logging from a compile-time setting to the first initialization option. 2015-04-09 22:38:11 -04:00
Pietro Gagliardi 759feeb7a1 Added uiWindowMargined() and implemented it on all platforms. 2015-04-09 21:11:56 -04:00
Pietro Gagliardi 5c2ead2fea Added uiStackPadded(). 2015-04-09 20:04:18 -04:00
Pietro Gagliardi 85eb453416 Removed direct vtable calls from uiControl. 2015-04-09 19:17:23 -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 e5e0f115f7 Migrated the Mac OS X code to the new uiControl/uiSizing system. 2015-04-09 18:39:21 -04:00
Pietro Gagliardi 022a3ae20e Migrated the GTK+ backend to the new uiControl/uiSizing system. 2015-04-09 18:17:04 -04:00
Pietro Gagliardi d84df8f38f Finished Windows conversion. Works perfectly! 2015-04-09 17:57:08 -04:00
Pietro Gagliardi 924d6d6a7c More Windows conversion. Not done yet. 2015-04-09 17:46:26 -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 8c469b7b22 Migrated stack.c to the new uiControl. 2015-04-09 16:57:55 -04:00
Pietro Gagliardi 6d600f08cd 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
Pietro Gagliardi b60ff74a9e Decided to split control removal from parent into its own method removeParent() rather than automatically doing it in setParent(). 2015-04-09 16:21:09 -04:00