Commit Graph

771 Commits

Author SHA1 Message Date
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
Pietro Gagliardi 957018728f More Area planning document changes. 2014-03-14 07:29:42 -04:00
Pietro Gagliardi 347681f225 Quick Area planning fixes. 2014-03-14 07:21:59 -04:00
Pietro Gagliardi 646a001129 More Area planning and TODOs. 2014-03-14 07:18:16 -04:00
Pietro Gagliardi de82632bc6 More Area planning. 2014-03-13 22:06:14 -04:00
Pietro Gagliardi d75187c82a Updated Area planning to indicate to Cocoa that alpha values are not premultiplied. 2014-03-13 12:56:44 -04:00
Pietro Gagliardi 40fae49521 More Area planning. 2014-03-13 12:51:08 -04:00
Pietro Gagliardi 875d4f333b Added initial planning document for the Area Control. 2014-03-13 11:51:07 -04:00
Pietro Gagliardi 34ce16d586 Separated file creation dates from the package comment. 2014-03-12 21:55:45 -04:00
Pietro Gagliardi 17688190bb More TODOs. 2014-03-12 21:48:50 -04:00
Pietro Gagliardi 26c6b97ce1 Removed ui.Event(); all event channels are initialized with their objects now. 2014-03-12 21:47:39 -04:00
Pietro Gagliardi eb48ed09c3 Added a note in ui.Go() about it needing to be run from main(). 2014-03-12 21:42:25 -04:00
Pietro Gagliardi 9beeeb6371 More TODOs. 2014-03-12 21:41:46 -04:00
Pietro Gagliardi 9bcf706b2f Added package documentation. 2014-03-12 21:41:16 -04:00