Commit Graph

4016 Commits

Author SHA1 Message Date
Pietro Gagliardi 7b6a11d36a Cleaned up window_darwin.m's data structure juggling. 2015-04-08 16:04:27 -04:00
Pietro Gagliardi 93ead17eef Built up a better system for handling data cleanup on Mac OS X; thanks to http://stackoverflow.com/questions/29522715/is-there-a-reliable-way-to-destroy-private-data-structures-when-a-standard-nsvie. 2015-04-08 15:53:50 -04:00
Pietro Gagliardi 5a4ce7bd91 More TODOs. 2015-04-08 05:13:38 -04:00
Pietro Gagliardi 894950fb1b Fixed compilation errors. Hm, nothing is still freed... 2015-04-08 04:48:03 -04:00
Pietro Gagliardi 12ff16e994 Cleaned up the uiWindow Darwin implementation. Let's try this again... 2015-04-08 04:38:34 -04:00
Pietro Gagliardi 2214f27cb4 Cleaned out some of that gunk. I can't avoid subclassing the standard controls, but making it so that the uiControl returned by uiDarwinNewControl() can be freed by the caller will help. 2015-04-08 04:35:50 -04:00
Pietro Gagliardi 44d8833a64 Wrote up cleanup gunk on Mac OS X. Really gunk; I don't like what all this does but I don't think there's another way. 2015-04-08 03:38:08 -04:00
Pietro Gagliardi 9e4e11da8c Better monitoring of Objective-C objects (including main GUI objects). 2015-04-08 02:28:42 -04:00
Pietro Gagliardi fc8f9c6719 Cleaned up memory leaks in the GTK+ backend. 2015-04-08 01:16:22 -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 df4c5f270c Started work on ensuring things get cleaned up. Added a destroy() method to uiControl and implemented most of the work for Windows. 2015-04-08 00:43:35 -04:00
Pietro Gagliardi d6bf5d6d48 Added allocation logging to Objective-C objects. Fixed some Mac OS X build issues. 2015-04-08 00:27:03 -04:00
Pietro Gagliardi 33c67baa99 Added an awk script to check for leaks in the memory logging output we just added. 2015-04-07 23:53:10 -04:00
Pietro Gagliardi cdd37793c0 Implemented the memory logging. 2015-04-07 23:40:18 -04:00
Pietro Gagliardi f3e7227739 Decided to remove the logging for now. Will inject it right into the allocation system later. 2015-04-07 22:58:06 -04:00
Pietro Gagliardi a039e12d8a More allocation logging. I wonder if I can just log directly in the allocators themselves... 2015-04-07 22:54:21 -04:00
Pietro Gagliardi 1375b3f21f More TODO cleanup. 2015-04-07 22:48:02 -04:00
Pietro Gagliardi bb10227642 Started working on code to monitor creation and deletion of UI objects correctly. 2015-04-07 22:46:15 -04:00
Pietro Gagliardi a272242052 Added WS_TABSTOP to uiButton on Windows. 2015-04-07 22:23:25 -04:00
Pietro Gagliardi d0fa7b2cb1 Resolved a bunch of TODOs. Added one. 2015-04-07 22:19:24 -04:00
Pietro Gagliardi 30eb8fa142 Added loading of the standard user32.dll class replacements to comctl32_windows.c. 2015-04-07 22:01:42 -04:00
Pietro Gagliardi 5be4572302 Decided to remove containerShow() and containerHide() for now. 2015-04-07 21:05:47 -04:00
Pietro Gagliardi 05a1cc535a Implemented new control preferredSize() on Mac OS X. Now that Stack works everywhere, I can resolve TODOs. 2015-04-07 20:28:28 -04:00
Pietro Gagliardi a6f175767e Changed the GTK+ new control system from using g_object_newv() to using g_object_new_valist() due to weird crashes. 2015-04-07 19:47:44 -04:00
Pietro Gagliardi 84c55e185d Fixed compiler warnings. Stack works! 2015-04-07 19:36:46 -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 f1fe0b70e7 Wrote in the Stack test. The only thing left is to implement uiButton.preferredSize()... 2015-04-07 19:11:21 -04:00
Pietro Gagliardi a63ed525c9 Fixed compilation errors. 2015-04-07 19:08:39 -04:00
Pietro Gagliardi 3b1e5148d9 Unified the allocators across all platforms so that everyone uses uiAlloc() and friends. 2015-04-07 19:04:09 -04:00
Pietro Gagliardi 6370c7d063 Added uiStack. Not yet tested; need to do a few things first. 2015-04-07 18:53:09 -04:00
Pietro Gagliardi e4d30e3860 More TODOs. 2015-04-07 16:59:23 -04:00
Pietro Gagliardi 28adb7fee5 Fixed compiler errors and bugs. uiButton on Mac OS X works! 2015-04-07 16:38:51 -04:00
Pietro Gagliardi 2b40ad90ad Implemented uiButton on Mac OS X. Now to fix build issues and test... 2015-04-07 16:12:28 -04:00
Pietro Gagliardi e53ec76fb5 Added the Mac OS X uiContainer. Added it to uiWindow. Added the Mac OS X coordinate system mirroring to the new control logic. Renamed *_darwin.c to *_darwin.m. 2015-04-07 15:45:56 -04:00
Pietro Gagliardi 35342e44e7 Added the uiDarwinControl logic. 2015-04-07 14:42:52 -04:00
Pietro Gagliardi 596ab2e413 Fixed button showing on GTK+. GTK+ uiButton done! 2015-04-07 14:13:42 -04:00
Pietro Gagliardi d88a727799 Implemented uiButton on GTK+. All we need to do is get it to show up... 2015-04-07 13:58:50 -04:00
Pietro Gagliardi 880f052282 Fixed compilation issues. Now to implement uiButton on GTK+. 2015-04-07 13:37:03 -04:00
Pietro Gagliardi ce232fdc7e Tied everything together. Now to fix build issues. 2015-04-07 13:22:46 -04:00
Pietro Gagliardi 79d1877202 Added uiContainer, the GtkFixed equivalent for use by the GTK+ backend. Fixed up formatting of the uipriv_*.h files. 2015-04-07 12:59:01 -04:00
Pietro Gagliardi 4b13f93dbe Added the new native control code to the GTK+ backend. Fixed some missing statics in the Windows one too. 2015-04-07 12:17:05 -04:00
Pietro Gagliardi 5db89a524b Moved Windows container functions from util_windows.c to container_windows.c. 2015-04-07 11:39:15 -04:00
Pietro Gagliardi 85e711e54c _snprintf_s() is not supported on Windows XP... 2015-04-07 04:22:30 -04:00
Pietro Gagliardi 978e9b5e94 Added uiControlHandle() and fixed other uiButton issues. 2015-04-07 04:12:03 -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 a09430113f Fixed build issues. Now I just need to hook resizing into uiWindow and implement a control and we'll be set... 2015-04-07 03:12:34 -04:00
Pietro Gagliardi 54259ed98b Hooked everything else together (initialParent, ui_windows.h in uipriv_windows.h). Now to fix build issues... (like a missing const in const char * fixed here too). 2015-04-07 03:02:07 -04:00
Pietro Gagliardi 300c86b590 Hooked up the WM_COMMAND and WM_NOTIFY bouncers. 2015-04-07 02:55:33 -04:00
Pietro Gagliardi 9e26519338 Added subclassing, which finishes off newcontrol_windows.c. 2015-04-07 02:46:27 -04:00