Commit Graph

258 Commits

Author SHA1 Message Date
Pietro Gagliardi 7bb6714cc0 Fixed typo in objc_darwin.h. 2014-03-01 04:43:22 -05:00
Pietro Gagliardi 23ddcde052 Changed package main to package ui in darwintest/ imports. 2014-03-01 04:42:13 -05:00
Pietro Gagliardi d611722ac7 Added _setDelegate to the common Objective-C selectors list and added a clarity wrapper function objc_setDelegate(). 2014-03-01 04:28:47 -05:00
Pietro Gagliardi 5abea5cc61 Added objc_msgSend_ptr(), needed by uitask_darwin.go. 2014-03-01 04:23:49 -05:00
Pietro Gagliardi 3def6f6dac Added objc_msgSend_stret_size_noargs(), needed by the Mac OS X sysData.preferredSize(). 2014-03-01 04:21:47 -05:00
Pietro Gagliardi a3b01892fd Moved the Objective-C wrappers and helpers out of darwintest. 2014-03-01 04:17:32 -05:00
Pietro Gagliardi 6b8a8d2d15 Added preferred size code for Mac OS X. 2014-03-01 04:16:42 -05:00
Pietro Gagliardi c2bf04c7cd Added the final version of the Mac OS X delegate type code. 2014-02-28 23:05:13 -05:00
Pietro Gagliardi 3975c921c2 Added the ui() for OS X. 2014-02-28 23:01:48 -05:00
Pietro Gagliardi ae8ccdca19 Removed the NSNotificationCenter stuff since we're not using that to run UI operations on the main thread anymore. 2014-02-28 21:38:06 -05:00
Pietro Gagliardi 1c6d4e9151 Split the actual delegate into a separate file; this simplifies even more things. I think we're as clean as we can go... should probably start writing the real backend now :D 2014-02-28 21:30:32 -05:00
Pietro Gagliardi 4e1b0b1272 Removed a leftover declaration in objc_darwin.h. 2014-02-28 20:55:31 -05:00
Pietro Gagliardi e5a4f32182 Cleaned up newtypes.go. 2014-02-28 20:53:14 -05:00
Pietro Gagliardi ea24130fc8 Moved some Objective-C stuff to objc_darwin.go, added some helper functions there too, and cleaned up runtimetest.go. 2014-02-28 20:37:11 -05:00
Pietro Gagliardi 3ad482297c Renamed bleh_darwin.go to objc_darwin.go so I can clean up Objective-C stuff into it. 2014-02-28 20:16:45 -05:00
Pietro Gagliardi 048e867e9f Quick wording fix in the bleh_darwin.m comments. 2014-02-28 19:53:28 -05:00
Pietro Gagliardi fabddf9e0e Added a .m file to handle the edge cases in objc_msgSend() wrappers that cannot be easily expressed otherwise. 2014-02-28 19:34:18 -05:00
Pietro Gagliardi 8af591388f Split most of the objc_msgSend() wrappers into a C header file for convenience. The NSRect functions require special handling because of Apple stupidities that will be discussed when I get to that. 2014-02-28 18:30:06 -05:00
Pietro Gagliardi e4339d3c49 Set up a NSAutoreleasePool for notify() to suppress memory leak warnings. 2014-02-28 17:32:55 -05:00
Pietro Gagliardi 56a436bc80 Changed the main thread signaling to use NSObject's performSelectorOnMainThread: functionality, which settles that. NSString requires an autorelease pool; in testing, so does NSValue, which we are eventually going to use. NSAutoreleasePool's docs suggest we should create a temporary pool for things running in other threads, but then we have to release it... but I guess we're waiting for the function to complete on other platforms already, so no big deal here. 2014-02-28 17:25:04 -05:00
Pietro Gagliardi 6982912a58 Added a notification system, hopefully allowing us to merge AppKit requests onto a single thread. In practice, this generates autorelease pool leak messages; it appears notifications are not for this... 2014-02-28 15:37:59 -05:00
Pietro Gagliardi 3b9e26ab38 Added a button bezel style to the darwintest button. 2014-02-28 12:09:15 -05:00
Pietro Gagliardi 428d3529a8 Added a button to the darwin test and had it respond to clicks. Committing as is because without a bezelStyle ther esult is just... wow. 1990s Windows look and feel for the win? 2014-02-28 11:55:35 -05:00
Pietro Gagliardi 0fdfc4c7a6 Built a window delegate and ran the event loop. It works! 2014-02-28 11:06:20 -05:00
Pietro Gagliardi e0c351a2d7 Added code to create new Objective-C types at runtime, which will be important both for handling custom messages and for handling events. 2014-02-27 23:07:45 -05:00
Pietro Gagliardi 134afc60a6 And we now have a window in the darwin test! You can't really do much with it since the Cocoa event loop isn't running, but it can be moved around! 2014-02-27 21:53:44 -05:00
Pietro Gagliardi 3347d7fa48 Wrote helper functions for objc_getClass() and sel_getUid(). 2014-02-27 20:56:08 -05:00
Pietro Gagliardi 133a3102f1 Added a helper script for building 32-bit darwin binaries. 2014-02-27 20:49:49 -05:00
Pietro Gagliardi f949b7f8d2 Ported the runtime test to Go. It works in both 32-bit and 64-bit! 2014-02-27 20:48:32 -05:00
Pietro Gagliardi fa7ef40c42 Now that I have a working Mac OS X setup, added the initial groundwork for the OS X port. This C file works correctly on both amd64 and i386 with clang [-m32] runtimetest.c -lobjc -framework Foundation; it will be converted to Go now. 2014-02-27 20:07:56 -05:00
Pietro Gagliardi 417ed1f727 Added Grid.SetStretchy to allow one control in a Grid to fill the parent Control's space, even when resizing. 2014-02-26 07:01:02 -05:00
Pietro Gagliardi e1677a8941 Added a way to let Controls in a Grid be sized to fill their cells. 2014-02-25 21:54:13 -05:00
Pietro Gagliardi 5eed0db0cd Updated a TODO in the control candidates document related to Windows Common Controls. 2014-02-25 21:43:50 -05:00
Pietro Gagliardi fda976a172 Rewrote the unstable warning at the top of README.md. 2014-02-25 19:19:17 -05:00
Pietro Gagliardi 69bff124a6 Lock Stack's mutex lock like with all other Controls. 2014-02-25 19:16:26 -05:00
Pietro Gagliardi a23a0f1088 No longer preliminary (I was going to wait until I started the OS X backend, but). 2014-02-25 19:10:43 -05:00
Pietro Gagliardi a95e63003d More documentation fixups. 2014-02-25 19:10:09 -05:00
Pietro Gagliardi d55b2a9d18 Fixed up Grid and Space() documentation. 2014-02-25 19:05:01 -05:00
Pietro Gagliardi c6cafdd402 Wrote the Grid test and found/fixed one error in Grid's position calculations. (If you compare the previous Windows build with this one, you may not notice a difference; this is because of the default preferred size of Labels being too wide). 2014-02-25 18:57:19 -05:00
Pietro Gagliardi 7ba3c5ac17 Added untested initial Grid. Now to write a test. 2014-02-25 18:21:58 -05:00
Pietro Gagliardi 7bbd50467c Added more control candidate information. 2014-02-25 17:55:12 -05:00
Pietro Gagliardi 700cbbec7e More documentation fixups. 2014-02-25 15:44:57 -05:00
Pietro Gagliardi cd73e42850 Documentation fixups. 2014-02-25 15:43:12 -05:00
Pietro Gagliardi 8440c7a078 Added Space() for padding layouts. 2014-02-25 15:38:04 -05:00
Pietro Gagliardi dbe983037a Removed the example from the README while the API is still volatile. 2014-02-25 15:14:33 -05:00
Pietro Gagliardi 7aa84e26f0 Split NewCombobox() into separate functions NewCombobox() and NewEditableCombobox(). 2014-02-25 15:13:37 -05:00
Pietro Gagliardi 06fa3a5174 Added password entry fields; they are the alternate mode of LineEdit. 2014-02-25 15:06:51 -05:00
Pietro Gagliardi 04ae299ef0 Some more control notes. 2014-02-25 14:50:59 -05:00
Pietro Gagliardi f41687d8e7 Updated platform control comparison table. 2014-02-25 14:43:08 -05:00
Pietro Gagliardi a18997b190 Still not formatted correctly (should have used gist for this, durr) 2014-02-25 14:29:22 -05:00