Commit Graph

51 Commits

Author SHA1 Message Date
Pietro Gagliardi 0dd4bec2af Added uiDarwinControlHandle(), and added it to uiWindow, and added uiWindow handle tests (including underlying string tests) to the test suite. Oof. Also I just remembered we're missing tests of these new functions in noinitwrongthread.c. 2020-05-25 22:13:48 -04:00
Pietro Gagliardi 97e37e5831 Started defining uiControlOSVtable on macOS. I'll need to write the documentation alongside this. 2019-06-09 21:16:13 -04:00
Pietro Gagliardi c9643ea5a6 Gutted the existing header files, started trimming things that remain in the backups, and renamed _UI_EXTERN and _UI_ENUM and the include guards and libui_EXPORTS to start with uipriv instead. 2019-04-08 20:55:06 -04:00
Pietro Gagliardi d54f7dd682 Added a facility to the OS X port to be notified when a child's visibility has changed; this is necessary for implementing hiding and showing properly. 2016-06-14 10:37:19 -04:00
Pietro Gagliardi b082f69e3f More TODOs. 2016-05-26 21:27:13 -04:00
Pietro Gagliardi 834cc12299 Named the margins and padding. Made them functions that can take parameters in the future to allow more complex spacing options in the future. 2016-05-26 21:25:32 -04:00
Pietro Gagliardi 1d8ea79e45 Removed uiControlVerifyDestroy(); we could have just had it in uiFreeControl(). 2016-05-22 01:07:25 -04:00
Pietro Gagliardi 28c9efa972 Some more work, edging us ever-closer to the correct solution... 2016-05-12 12:26:43 -04:00
Pietro Gagliardi 73eed9289c Instituted a new system: the parent control is responsible for extra space at the edges of controls, not the controls themselves. Let's hope this works better. 2016-05-11 17:00:01 -04:00
Pietro Gagliardi 8fb8b0eeba Nuked ALL the existing Auto Layout stuff. Let's do this again, and this time, do it *right*. 2016-05-11 16:46:42 -04:00
Pietro Gagliardi 32ef7c3fd3 Revert "Started implementing the previous commit's changes in a more permanent way: set REAL hugging priorities and implemented them on uiBox."
This reverts commit 07930279c0.
2016-05-08 11:29:09 -04:00
Pietro Gagliardi 07930279c0 Started implementing the previous commit's changes in a more permanent way: set REAL hugging priorities and implemented them on uiBox. 2016-05-08 10:42:20 -04:00
Pietro Gagliardi abe502a046 Rewrote uiBox with everything in it. Let's test it so far. 2016-05-07 01:11:58 -04:00
Pietro Gagliardi c9998fcd05 Set up a system to do what we need. 2016-05-06 21:13:36 -04:00
Pietro Gagliardi d7d7d4fd76 Fixed the SyncEnableState() machinery not quite working properly. 2016-04-25 18:07:29 -04:00
Pietro Gagliardi 7b0780be2a Made SyncEnableState() a uiDarwinControl method instead of a uiControl method since it's not needed on GTK+. 2016-04-25 17:52:16 -04:00
Pietro Gagliardi 5cfcf81a67 Fixed runtime errors. It seems to work! An autolayout step will need to be added... 2016-04-25 13:44:13 -04:00
Pietro Gagliardi d0d0efce1a Fixed build errors. Now to test! 2016-04-25 13:38:17 -04:00
Pietro Gagliardi 23c2998040 Migrated darwin/control.m. Forgot the SetParent/SetSuperview rule! One more commit before we can build... 2016-04-25 12:55:51 -04:00
Pietro Gagliardi e69010139d Fixed one last error. 2016-04-25 10:26:00 -04:00
Pietro Gagliardi 639a010a56 Tested everything by migrating darwin/combobox.m; fixed errors along the way. Also more TODOs. 2016-04-25 10:23:16 -04:00
Pietro Gagliardi a97171ed86 Quick fixes to previous commit. 2016-04-25 10:00:31 -04:00
Pietro Gagliardi a6b324a33c Finished the new ui_darwin.h. 2016-04-25 09:57:05 -04:00
Pietro Gagliardi 31dee85b5e More work with changing things for OS X. Still not fully sure about things... 2016-04-24 21:51:08 -04:00
Pietro Gagliardi e643dc3693 More new control structure work. This is turning into a disaster already. 2016-04-24 19:56:14 -04:00
Pietro Gagliardi bc0a1d43c9 Applied the new type system to the Windows backend and fixed some more C++ stupidity related to it. 2016-04-24 17:38:48 -04:00
Pietro Gagliardi b2c9577cb9 Set up all the control signatures and the framework for signature-based control types on OS X. 2016-04-24 15:46:29 -04:00
Pietro Gagliardi 46391367fe Removed the typefn stuff from ui_*.h*. 2016-04-24 14:15:56 -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 ed9e70c058 Started redoing the OS X port. 2015-07-02 16:09:57 -04:00
Pietro Gagliardi 817e13ae61 Set up visibility on OS X. This seems to work... 2015-05-07 18:38:47 -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 d23fae34be Implemented uiControlEnable() and uiControlDisable() for containers and uiWIndow on Mac OS X. 2015-05-04 01:14:18 -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 6436737720 Removed the now-obsolete old method of freeing OS X controls. 2015-04-17 18:56:17 -04:00
Pietro Gagliardi 47368bdfe9 Fixed some errors in the OS X build. IT WORKS! AND IS MUCH CLEANER NOW TOO!!!! 2015-04-17 18:54:17 -04:00
Pietro Gagliardi 3f2a0f8dfa Laid the foundation for the rewritten Mac OS X controls. 2015-04-17 18:11:03 -04:00
Pietro Gagliardi b04ef6d93f Began Darwin backend migration. 2015-04-16 13:04:46 -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 e5e0f115f7 Migrated the Mac OS X code to the new uiControl/uiSizing system. 2015-04-09 18:39:21 -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 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 28adb7fee5 Fixed compiler errors and bugs. uiButton on Mac OS X works! 2015-04-07 16:38:51 -04:00
Pietro Gagliardi 35342e44e7 Added the uiDarwinControl logic. 2015-04-07 14:42:52 -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 58da9ce2bd Started working on uiControl. 2015-04-06 21:53:31 -04:00
Pietro Gagliardi e08a9c0492 Fixed initial Mac OS X code. 2015-04-06 20:01:14 -04:00