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 |
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 |