summaryrefslogtreecommitdiff
path: root/callbacks_unix.go
AgeCommit message (Collapse)Author
2014-08-30Out with the old...Pietro Gagliardi
2014-07-02Moved it all back; the preemptive multitaksing during an event handler kills ↵Pietro Gagliardi
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-02Moved everything out of the way pending rewrite.Pietro Gagliardi
2014-07-01Removed the gtk_main_quit() kludge from uitask_unix.go; this also removes ↵Pietro Gagliardi
our_idle_callback() and its associated stuff.
2014-07-01Converted the GTK+ backend to use the new uitask. Indeterminate progressbars ↵Pietro Gagliardi
no longer work; this will be fixed soon.
2014-07-01Made the default action for Window.Closing reject the close request.Pietro Gagliardi
2014-06-30Made Window.Closing a callback closure.Pietro Gagliardi
2014-06-30Restored the previous new API. I'm going to change it so that events are ↵Pietro Gagliardi
callbacks rather than using a window handler, but other than that... yeah.
2014-06-30Reverted everything back to the old API.Pietro Gagliardi
2014-06-28Migrated the GTK+ backend to the new API.Pietro Gagliardi
2014-06-25Applied the new control sizing system to the GTK+ backend.Pietro Gagliardi
2014-06-10More go fmt.Pietro Gagliardi
2014-06-08Fixed modality issues on the GTK+ MsgBox() changes. The system introduced ↵Pietro Gagliardi
here has the advantage of scaling out to all other types of dialogs.
2014-06-02Resolved TODOs in callbacks_unix.go. (For the returning FALSE TODO, I ↵Pietro Gagliardi
decided it would be safest to let event handlers propagate, as I did with Areas earlier.)
2014-05-19Removed the extra #cgo directives from the Unix files. cgo collects ↵Pietro Gagliardi
directives from ALL files, rather than using each file's directive individually, so having them combined like this is pointless. Instead, the #cgo directives are (or is, since there's only one) in uitask_unix.go. Will do the same for Mac next; this will help since we're going to add a CFLAGS value afterward.
2014-05-17More TODOs (see previous commit).Pietro Gagliardi
2014-04-07Split out the common resizing code into its own function so that it's all in ↵Pietro Gagliardi
one place. This will also affect what happens if I switch to DeferWindowPos() on Windows.
2014-04-01Got rid of gtkWidget and changed to using *C.GtkWidget everywhere. This gets ↵Pietro Gagliardi
rid of some of the casting functions and invocations of said functions, and only adds sysdata_unix.go to the cgo list.
2014-04-01Moved <stdlib.h> includes in the GTK+ backend to gtk_unix.h; organized that ↵Pietro Gagliardi
file a bit.
2014-03-17Changed the new resizing code so that it uses the same allocated slice per ↵Pietro Gagliardi
window instead of making a new one to store all the resize requests each time.
2014-03-17Changed window resizes so that the actual Control.setRect() functions ↵Pietro Gagliardi
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-16Split out includes of <gtk/gtk.h> into a new header file so the GTK+ ↵Pietro Gagliardi
versioning macros can be included in all Go files, not just area_unix.go.
2014-03-14Major overhaul of the way GTK+ events are handled. Closures that perform ↵Pietro Gagliardi
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-12Separated file creation dates from the package comment.Pietro Gagliardi
2014-03-12Changed the way uitask is dispatched on GTK+ to make event handling not a ↵Pietro Gagliardi
CPU hog.
2014-02-19Moved to a proper package; main() is now a test and go test -c is used to ↵Pietro Gagliardi
build. Once I iron out a bug with Windows event handling, I'll add a README.
2014-02-16Added window (and thus control) resizing. Other bugs have been fixed along ↵Pietro Gagliardi
the way.
2014-02-16[GTK+] Added buttons. Things aren't quite being positioned properly yet ↵Pietro Gagliardi
though...
2014-02-16Cleaned up the idle callback code.Pietro Gagliardi
2014-02-16Added cgo-safe callback code for GTK+ signals. GTK+ signals work!Pietro Gagliardi