Commit Graph

41 Commits

Author SHA1 Message Date
Pietro Gagliardi b460466e4b Implemented Post() on Mac OS X. 2014-07-03 11:53:21 -04:00
Pietro Gagliardi f7dedc8cb0 Added the start() function and fixed compilation errors. Everything seems to work... 2014-07-03 10:27:46 -04:00
Pietro Gagliardi 9eb9aa82c0 Removed uitask and made the Window creation functions only callable from the main thread. This si the first part in the real major change, which bans all concurrent use of the API and provides a Post() function for communication. I don't like this, but it's the only way. Untested. 2014-07-03 10:02:27 -04:00
Pietro Gagliardi 8a81650b3d Moved it all back; the preemptive multitaksing during an event handler kills us on all platforms. Going to have to restrict ALL GUI accss to happening from one t hread, so going to need to drop uitask entirely and have just a start() callback for startup code and a post() function for posting requests to windows (like channel sends but into a perpetual buffer). 2014-07-02 22:53:03 -04:00
Pietro Gagliardi 5d339e656b Moved everything out of the way pending rewrite. 2014-07-02 17:13:40 -04:00
Pietro Gagliardi 37051f5c15 Migrated the Mac OS X backend to the new uitask system. 2014-07-01 17:11:08 -04:00
Pietro Gagliardi ffa1bbe0b9 Restored the previous new API. I'm going to change it so that events are callbacks rather than using a window handler, but other than that... yeah. 2014-06-30 22:48:12 -04:00
Pietro Gagliardi 990d50e9a1 Rolled back all those changes; I'm stupid. 2014-06-30 22:42:48 -04:00
Pietro Gagliardi e8a7dd0b87 Converted the Mac OS X backend to use uitask() instead of uitask chan func(). 2014-06-30 21:21:55 -04:00
Pietro Gagliardi 33155f7496 Reverted everything back to the old API. 2014-06-30 09:57:44 -04:00
Pietro Gagliardi 3ade409dde FIxed compilation errors in the Mac OS X build. It works, but I still need to fix dialogs before I can push anything. 2014-06-29 14:08:01 -04:00
Pietro Gagliardi ed989a9d9f Migrated sysdata_darwin.go and uitask_darwin.go to the new API. Now to just wait for the answer to my Stack Overflow question so I can migrate dialog_darwin.go... 2014-06-29 09:07:14 -04:00
Pietro Gagliardi d289fce35c Removed Mac OS X 10.6 support. Quite a hassle that version was... 2014-06-11 14:58:39 -04:00
Pietro Gagliardi 43b3f1c2a8 Partial go fmt. Will do the rest over the next few commits. While I'm not too happy about it, everyone else uses go fmt, and pull requests will be more convenient if I just do it. (Also do it now, because when I change the Windows backend things are going to change...) 2014-06-10 09:55:14 -04:00
Pietro Gagliardi 5f5f4f6c2a Set up the Mac OS X build to always target Mac OS X 10.6 regardless of the host system; this is what we want and by default building on 10.8 produces binaries which won't run on 10.6. This isn't working yet, though: one enum in NSApplication.h becomes empty on 10.6... 2014-05-19 23:53:10 -04:00
Pietro Gagliardi 8ce1555ca2 Decided not to move the initCocoa() function to a file init_darwin.go because it's small enough now that it doesn't matter. 2014-05-16 20:24:30 -04:00
Pietro Gagliardi ebcbaa129d Combined all the Objective-C headers into objc_darwin.h. 2014-05-16 06:49:29 -04:00
Pietro Gagliardi 8084ef53e1 Removed bleh_darwin.m and the initBleh() function that it contained as its only remaining code. 2014-05-16 02:00:21 -04:00
Pietro Gagliardi b7db0e15cd Removed all the objc_getClass() and sel_getUid() calls from the Go code on Mac OS X. Also got rid of a forgotten objc_msgSend(). Now comes the Objective-C half... 2014-05-15 20:14:44 -04:00
Pietro Gagliardi 62b3c26107 Removed the class creation at runtime stuff and its residue from the Go files. This also cleans up the initialization stuff on the Go side too. 2014-05-13 09:40:19 -04:00
Pietro Gagliardi 3e712db2e0 Moved uitask_darwin.go to be Objective-C-based. Both delegate_darwin.go and uitask_darwin.go will share the same .m file. 2014-05-13 08:14:28 -04:00
Pietro Gagliardi de97125c54 Started conversion of delegate_darwin.go to use Objective-C directly. 2014-05-13 07:56:37 -04:00
Pietro Gagliardi 24d40fa12d Fixed AppQuit on Mac OS X (forgot to set the NSApp delegate AND was using the wrong selector). 2014-04-07 12:46:09 -04:00
Pietro Gagliardi 98ae4cb3b8 Moved all selector and class initialization for bleh_darwin.m into its own function. 2014-04-05 13:30:56 -04:00
Pietro Gagliardi ef43865923 Removed objc_release(). 2014-04-04 18:08:23 -04:00
Pietro Gagliardi 3a130b756a Removed objc_new(). The idea is to remove all the objc_* functions that aren't prefixed with C. (except objc_getClass()). 2014-04-04 17:50:27 -04:00
Pietro Gagliardi 08dfb5da20 Attempted to add the Area bare bones and resizing code to the Mac OS X backend. It complains that initWithFrame: is not implemented... 2014-03-30 11:19:13 -04:00
Pietro Gagliardi 34ce16d586 Separated file creation dates from the package comment. 2014-03-12 21:55:45 -04:00
Pietro Gagliardi 6eea59c30a Made programs go to the front of the screen on Mac OS X like other programs do (and like on other platforms). 2014-03-12 10:02:59 -04:00
Pietro Gagliardi d29e1b8710 Have ui.Go() return on main() return on Mac OS X. 2014-03-05 20:09:15 -05:00
Pietro Gagliardi e20b468472 Added the Mac OS X implementation of messageboxes. 2014-03-02 18:37:25 -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 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 cd7c127fcc Oops, accidentally removed the code that actually makes the appdelegateclass. Almost working... 2014-03-01 15:33:17 -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 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 3975c921c2 Added the ui() for OS X. 2014-02-28 23:01:48 -05:00