Commit Graph

4266 Commits

Author SHA1 Message Date
Pietro Gagliardi e18e535476 Fixed the stupid 32-bit bug I did that fucking malloc pointer to struct instead of array of struct thing I always do again jesus fucking christ shit 2015-04-11 19:34:38 -04:00
Pietro Gagliardi a929a0416d More TODOs. 2015-04-11 18:24:53 -04:00
Pietro Gagliardi f7b001e400 Implemented show/hide/enable/disable on Mac OS X new controls. 2015-04-11 18:17:46 -04:00
Pietro Gagliardi 10045e25f4 Removed a leftover line from the Go version of uiStack that is actually wrong in the C version; I thought it would fix the previous commit but it doesn't... 2015-04-11 17:26:48 -04:00
Pietro Gagliardi 18cff13678 Okay I have no fucking idea what's going on 2015-04-11 17:23:36 -04:00
Pietro Gagliardi b880635e74 Added the enable/disable/show/hide code to the Windows new control. Something is clobbering stacks; need to debug this... 2015-04-11 15:34:16 -04:00
Pietro Gagliardi 5c567d920d Implemented show/hide/enable/disable on uiStack and fixed other bugs. It works! 2015-04-11 14:44:40 -04:00
Pietro Gagliardi 6d8a811e35 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 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