Pietro Gagliardi
|
e39a5d928c
|
Fixed the unregistered window class error on 64-bit Windows: turns out it was a difference in Go's int vs. what Windows expected (thanks Microsoft for not using your special types here). Fixed all instances of this, even in unmigrated/. Still does not work in wine...
|
2014-02-21 02:27:59 -05:00 |
Pietro Gagliardi
|
fb82e651a4
|
Moved to a proper package; main() is now a test and go test -c is used to build. Once I iron out a bug with Windows event handling, I'll add a README.
|
2014-02-19 11:41:10 -05:00 |
Pietro Gagliardi
|
1f08c874e0
|
Made event dispatch asynchronous to avoid deadlocks; right now events that cannot be dispatched get dropped.
|
2014-02-18 09:57:19 -05:00 |
Pietro Gagliardi
|
0595135d9a
|
Fixed the GTK+ crashes (I think) by making resizes synchronous. Since all control resizes happen on the UI thread anyway, we don't need to dispatch back; just call the resizing functions directly. Windows gets this fix too for consistency (and also because it gets rid of the only asynchronous oddity in the system).
|
2014-02-17 01:40:53 -05:00 |
Pietro Gagliardi
|
a400ec6666
|
Fixed the resizing deadlock.
|
2014-02-13 11:42:21 -05:00 |
Pietro Gagliardi
|
5626b9e35c
|
Added sizing of windows and the main window control. It presently deadlocks; I'll need to redo my mutexes...
|
2014-02-13 05:28:26 -05:00 |
Pietro Gagliardi
|
3d2df2334e
|
Fixed compiler errors. New code structure success!
|
2014-02-12 21:33:24 -05:00 |
Pietro Gagliardi
|
403ca88316
|
Whoops, class registration now has to go through the UI task.
|
2014-02-12 21:11:21 -05:00 |
Pietro Gagliardi
|
98d56767a3
|
Each control may only need one event, so combine them all into a single channel whose use depends on the sysData itself. Also we won't need to save the parentWindow anymore, as the change to the make() function will take care of that for us.
|
2014-02-12 20:55:05 -05:00 |
Pietro Gagliardi
|
4b16716e61
|
Restructuring the codebase to make things neater. First off: each window now has its own class; the sysData knows about children. This updates the window class to become a generator and rewrites the WndProc as well.
|
2014-02-12 20:51:07 -05:00 |
Pietro Gagliardi
|
5f587fbf47
|
Added button events.
|
2014-02-12 11:32:17 -05:00 |
Pietro Gagliardi
|
0f373195de
|
Changed the sysData cache so that if we didn't fill it in yet, getSysData() returns nil instead of panicking, and the standard window procedure jumps directly to the default handler. Not what I originally wanted to do, but whatever, it finally works!
|
2014-02-11 22:41:55 -05:00 |
Pietro Gagliardi
|
88363e131c
|
Got rid of the reverse HWND->sysData lookup for now, to see if there's a mistake elsewhere. Now we're up to a panic... with Success...
|
2014-02-11 20:14:19 -05:00 |
Pietro Gagliardi
|
cee78198e4
|
It appears the result of syscall.StringToUTF16Ptr() is only temporary, so removed all that. Now the program just hangs...
|
2014-02-11 19:52:39 -05:00 |
Pietro Gagliardi
|
a4182c606b
|
Whoops, copy-paste fail somehow changed init error checks. Now it starts... and hangs before creating a window...
|
2014-02-11 19:27:58 -05:00 |
Pietro Gagliardi
|
73fa611b37
|
All build errors resolved. Now to test...
|
2014-02-11 19:18:03 -05:00 |
Pietro Gagliardi
|
09a42e0c34
|
Added the init and testing main functions and started fixing errors. Let's fix the rest and hope it works...
|
2014-02-11 18:57:03 -05:00 |
Pietro Gagliardi
|
b918496ae4
|
Filled in the standard window procedure.
|
2014-02-11 18:22:39 -05:00 |
Pietro Gagliardi
|
c6a8a4d2f7
|
(see previous commit; part 2)
|
2014-02-11 17:39:41 -05:00 |