Pietro Gagliardi
|
3873d1990a
|
Added keyboard planning to the Area planning... oh boy.
|
2014-03-18 14:18:53 -04:00 |
Pietro Gagliardi
|
92dc282ffd
|
Added the framework code for handling keyboard events in GTK+ Areas. Oh boy... this is gonna hurt (as I will describe shortly).
|
2014-03-18 12:44:21 -04:00 |
Pietro Gagliardi
|
ac684b15a5
|
One last quick note in README.
|
2014-03-18 11:55:35 -04:00 |
Pietro Gagliardi
|
c628c86597
|
Updated README with this decision. Also other documents as well.
|
2014-03-18 11:55:01 -04:00 |
Pietro Gagliardi
|
24342eb05d
|
Restored the locks everywhere except on resizing calculations. I'll run under the assumption that uitask cannot process any requests while a resize occurs, which means preferredSize() and Stack/Grid.setRect() are inherently safe... let's hope I'm right...
|
2014-03-18 11:50:56 -04:00 |
Pietro Gagliardi
|
b95d581e86
|
Update on my locking problem in the README.
|
2014-03-18 11:30:35 -04:00 |
Pietro Gagliardi
|
64d5eb541e
|
Changed the new resizing code so that it uses the same allocated slice per window instead of making a new one to store all the resize requests each time.
|
2014-03-17 21:09:03 -04:00 |
Pietro Gagliardi
|
c180703373
|
Er oh the crash was because I was still using the lock-friendly code. Will still apply the change to memory allocation because memory reuse.
|
2014-03-17 21:02:11 -04:00 |
Pietro Gagliardi
|
19227080da
|
Changed window resizes so that the actual Control.setRect() functions appended to an array of requests that the resize() function set all at once instead of having each done individually. This will be necessary for what I think will be a solution to the deadlocks. It doesn't work right now; I'm assuming it's allocating too much memory. I know how to fix this, but I'm committing what I have so far to be safe.
|
2014-03-17 20:42:36 -04:00 |
Pietro Gagliardi
|
c078266c6d
|
Quick README fixup
|
2014-03-17 14:16:30 -04:00 |
Pietro Gagliardi
|
e5425036e0
|
Put the Label that changed each second in the main test.
|
2014-03-17 14:14:29 -04:00 |
Pietro Gagliardi
|
ad2208d370
|
Elaborated in the README.
|
2014-03-17 14:10:23 -04:00 |
Pietro Gagliardi
|
0e8680c04f
|
Dumped the mutex locks from the other controls and elaborated/asked for help in the README.
|
2014-03-17 14:09:09 -04:00 |
Pietro Gagliardi
|
bdb26046b6
|
Removed the areasnafu.md now that I have a solution... reverting back to the channel-based approach re-introduced the Paint deadlock, so it was still there all along.
|
2014-03-17 13:49:12 -04:00 |
Pietro Gagliardi
|
4adf1ae5cd
|
Removed the mutexes from Labels and Areas because I'm at my wits end about settling the deadlock between window resizing and setting a Label's text.
|
2014-03-17 13:37:51 -04:00 |
Pietro Gagliardi
|
7c3647712b
|
Updated the test program to the new AreaHandler interface. The deadlock still happens... just not so easily... so it's elsewhere...
|
2014-03-16 21:52:50 -04:00 |
Pietro Gagliardi
|
ae554f10c3
|
Changed Area to use a delegate handler object that implements the new AreaHandler interface for handling events. Also updated the GTK+ backend with this change, and made a few more tweaks to the documentation in area.go.
|
2014-03-16 21:40:33 -04:00 |
Pietro Gagliardi
|
ab4d286c78
|
Added a document explaining my Area woes.
|
2014-03-16 14:56:40 -04:00 |
Pietro Gagliardi
|
356ed25b52
|
Added a time display to the Area test for testing deadlocks that will happen when Area becomes more feature-filled... it appears one has now appeared when resizing the window...
|
2014-03-16 11:24:30 -04:00 |
Pietro Gagliardi
|
63f8033f49
|
Split out includes of <gtk/gtk.h> into a new header file so the GTK+ versioning macros can be included in all Go files, not just area_unix.go.
|
2014-03-16 10:34:12 -04:00 |
Pietro Gagliardi
|
7b95e735d6
|
More TODOs.
|
2014-03-16 09:54:37 -04:00 |
Pietro Gagliardi
|
fbef151bb2
|
Attempted to fix non-handling of the Alt key by having the GDK window's display's keymap used instead; it didn't work.
|
2014-03-16 01:39:30 -04:00 |
Pietro Gagliardi
|
961d8484bc
|
Clarified that MouseEvent.Held will not include Down/Up.
|
2014-03-15 22:39:16 -04:00 |
Pietro Gagliardi
|
6ef6dd8eba
|
Added a test of the mouse event handling.
|
2014-03-15 22:38:06 -04:00 |
Pietro Gagliardi
|
2c547cb5ec
|
Added note in MouseEvent documentation about both Down and Up being 0 representing mouse movement.
|
2014-03-15 22:30:49 -04:00 |
Pietro Gagliardi
|
829cf7b1c6
|
Added (untested) GTK+ implementation of Area's mouse events.
|
2014-03-15 22:29:47 -04:00 |
Pietro Gagliardi
|
a5a3287696
|
Added portable code for Area's MouseEvent.
|
2014-03-15 21:36:10 -04:00 |
Pietro Gagliardi
|
56c05a4e78
|
More mouse event planning. I now have enough figured out to implement on GTK+.
|
2014-03-15 21:07:57 -04:00 |
Pietro Gagliardi
|
a82a50c440
|
Documented the details of Area's coordinate system.
|
2014-03-15 17:27:42 -04:00 |
Pietro Gagliardi
|
0cf3a69ed7
|
More mouse event planning and TODOs.
|
2014-03-15 17:14:47 -04:00 |
Pietro Gagliardi
|
b8a3ba82b9
|
More mouse handling planning.
|
2014-03-15 16:40:20 -04:00 |
Pietro Gagliardi
|
77c72b7387
|
More mouse event handling planning.
|
2014-03-15 15:43:35 -04:00 |
Pietro Gagliardi
|
f259148200
|
Changed the Go 1.3 comment in README to point to go tip since it was confusing some people.
|
2014-03-15 14:32:05 -04:00 |
Pietro Gagliardi
|
e429b8d6b8
|
Allowed GTK+ windows to be resized smaller than the size request of the controls within.
|
2014-03-15 14:27:18 -04:00 |
Pietro Gagliardi
|
05905e3add
|
Began to plan out what I need for mouse events.
|
2014-03-15 14:04:27 -04:00 |
Pietro Gagliardi
|
5fca3a5a2b
|
More TODOs.
|
2014-03-15 00:57:28 -04:00 |
Pietro Gagliardi
|
e3770fa8de
|
Added a slightly more meaningful test: draw an Image in an area.
|
2014-03-15 00:55:30 -04:00 |
Pietro Gagliardi
|
4616fdfc5e
|
Actually committed the rectangle to the Area. Area drawing on GTK+ implemented!
|
2014-03-14 23:36:47 -04:00 |
Pietro Gagliardi
|
6cdda6ebec
|
Provided a way to connect child widget signals in the GTK+ sysData and connected Area to draw. I think I'm getting the wrong child widget, though...
|
2014-03-14 23:15:24 -04:00 |
Pietro Gagliardi
|
a61b43f50c
|
Hacked around the cairo issue for now; hooked everything together and fixed a few things. Added the Area test to the test program. Now to just hook up the draw event.
|
2014-03-14 23:06:51 -04:00 |
Pietro Gagliardi
|
a7f7ea1b8d
|
Major overhaul of the way GTK+ events are handled. Closures that perform events are no longer generated; instead all events are given to fixed, compile-time, cgo-exported callback functions that take the sysData as user data. This saves memory (we no longer need to generate closures and we no longer have to save them elsewhere to keep them from being garbage collected) and makes the top of sysdata_unix.go slightly cleaner, but it moves the code for handling UI events into callbacks_unix.go. This is needed for Area, in which we need to feed the sysData to an event connected to a subwidget instead of the main widget returned.
|
2014-03-14 20:03:02 -04:00 |
Pietro Gagliardi
|
af7a218b47
|
Added Area support in sysdata.go so the package can compile again. Now to do that big change mentioned in the previous commit: overhaul of the GTK+ signal system.
|
2014-03-14 18:47:18 -04:00 |
Pietro Gagliardi
|
7a5b635824
|
Added the GTK+ implementation of Area. It's not enabled yet due to cgo bugs, and there's some extra work needed (started here) to tie this in...
|
2014-03-14 18:44:59 -04:00 |
Pietro Gagliardi
|
c3c0edda3d
|
Added the portable code for Area.
|
2014-03-14 16:43:46 -04:00 |
Pietro Gagliardi
|
9b2b3187cb
|
More Area planning. I think I now have all the info I need...
|
2014-03-14 14:47:27 -04:00 |
Pietro Gagliardi
|
e2ae065579
|
More Area planning and TODOs.
|
2014-03-14 13:14:58 -04:00 |
Pietro Gagliardi
|
502522b0a6
|
More Area planning.
|
2014-03-14 12:40:47 -04:00 |
Pietro Gagliardi
|
21d3bf944b
|
More Area planning.
|
2014-03-14 09:09:42 -04:00 |
Pietro Gagliardi
|
43da1118be
|
More Area API planning.
|
2014-03-14 08:43:18 -04:00 |
Pietro Gagliardi
|
85f6b63c12
|
More Area planning doc fixups.
|
2014-03-14 07:32:43 -04:00 |