Commit Graph

1332 Commits

Author SHA1 Message Date
Pietro Gagliardi ca81eb0ea8 Fixed the preferredSize() stall. Dumb Intel ABI optimizations. Good thing with 10.6 minimum I won't have to worry about PowerPC compatibility... but if ARM ever comes to the desktop all bets are off. 2014-03-01 21:44:10 -05:00
Pietro Gagliardi bbb37bb2a6 Added Mac OS X Buttons. Code hangs due to a preferredSize() issue... 2014-03-01 21:34:37 -05:00
Pietro Gagliardi 859c240a21 Some error message and TODO changes related to the previous commit. 2014-03-01 20:41:30 -05:00
Pietro Gagliardi 0709351fed Attempted to fix the lack of resizable window borders by setting the NSApplication activation policy. This fixed it, and also fixed a bunch of other things, such as the application being seen as part of Terminal, lack of dock icon, lack of application menu, etc. 2014-03-01 20:31:17 -05:00
Pietro Gagliardi 10e9f6b927 Fixed non-minimizeable windows in Mac OS X; it was a simple copy-paste fail. 2014-03-01 18:04:09 -05:00
Pietro Gagliardi d9cf76c1ab Added windowDidResize: to the Mac OS X delegate for resizing windows. Now to figure out why I can't resize windows myself... 2014-03-01 18:01:30 -05:00
Pietro Gagliardi 5caf0fe84a Cleaned up loose ends with the previous commit and got window close events working on Mac OS X. Woo! 2014-03-01 17:15:26 -05:00
Pietro Gagliardi 8b497b2188 Added the getSysData() hook. Now to clean up loose ends and apply the delegate to the window. 2014-03-01 17:06:06 -05:00
Pietro Gagliardi 56eb64429d Fixed most errors. Now I just need to add a sysData pool. 2014-03-01 17:01:28 -05:00
Pietro Gagliardi 9b4e30ccf9 Started to build a single global delegate object; now to fix issues. 2014-03-01 16:56:22 -05:00
Pietro Gagliardi 0b4e1ff246 Reworded a comment in bleh_darwin.m: the docs don't imply the wrong information, they outright say the wrong information. 2014-03-01 16:01:19 -05:00
Pietro Gagliardi 91379e5a9a Added a TODO marker to the last commit. 2014-03-01 16:00:05 -05:00
Pietro Gagliardi b45db58261 Fixed 32-bit Mac OS X builds (and also got rid of clang's current warnings): turns out the correct usage of objc_msgSend_stret() is not in the official docs... 2014-03-01 15:58:54 -05:00
Pietro Gagliardi 4f49935563 Added another important Mac OS X TODO about coordinates. 2014-03-01 15:36:54 -05:00
Pietro Gagliardi a988befc45 Whoops, misspelled -[NSWindow frame] as -[NSWindow _frame]. Fixed; test program works so far! 2014-03-01 15:35:42 -05:00
Pietro Gagliardi cd7c127fcc Oops, accidentally removed the code that actually makes the appdelegateclass. Almost working... 2014-03-01 15:33:17 -05:00
Pietro Gagliardi 2e869615d3 Documentation and TODO changes. 2014-03-01 15:23:49 -05:00
Pietro Gagliardi be5458c0a3 Major code restructure to allow Cocoa to work correctly. Cocoa requires that the application loop run on the very first OS thread created, not just an any ordinary thread. To support this, your code must now be run by the UI init code. Windows and Unix builds still work fine; Mac OS X fails for reasons I now have to debug. 2014-03-01 15:18:29 -05:00
Pietro Gagliardi c8c257f8c8 Fixed a minor startup failure on Mac OS X; now for a big one: apparently the thread that calls -[NSApplication run] is NOT the main thread... 2014-03-01 14:08:53 -05:00
Pietro Gagliardi b6b8ee6a82 Fixed the compiler errors on Mac OS X; now to get it running... 2014-03-01 14:05:14 -05:00
Pietro Gagliardi 00243442d2 Fixed Mac OS X sysData.setWindowSize() to get the window origin. Now to fix the rest of the errors... 2014-03-01 13:58:38 -05:00
Pietro Gagliardi 0770c2a697 Fixed various Mac OS X compilation errors. 2014-03-01 13:53:29 -05:00
Pietro Gagliardi a83dcb0282 Added initial Mac OS X sysData code. Almost ready for first test build, hopefully? 2014-03-01 13:29:24 -05:00
Pietro Gagliardi 21ec25dd1a More TODOs. 2014-03-01 04:46:42 -05:00
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