Thread: [java-gnome-hackers] GtkApplication to replace LibUnique
Brought to you by:
afcowie
From: Guillaume M. <res...@gm...> - 2012-07-23 11:30:16
|
Hi, Since several weeks (months) we have started to think about deprecating libunique and replace it with the new (well, not so new) GtkApplication class. It is actually a thing that we *have to* do [1]. I have started a branch about it and you can find it at `hackers/guillaume/gtk-application' [2]. I have to chosen to not expose the open-files and command-line signals. I think that we can live without for now but we still need to think about all of this in a near future. Well you can take a look at the current branch and give me some feedback so it can be improved to be pushed in mainline. [1] https://bugzilla.gnome.org/show_bug.cgi?id=658400 [2] http://research.operationaldynamics.com/bzr/java-gnome/hackers/guillaume/gtk-application/ -- Guillaume Mazoyer - http://respawner.fr/ |
From: Andrew C. <an...@op...> - 2012-08-12 23:30:09
|
On Mon, 2012-07-23 at 13:29 +0200, Guillaume Mazoyer wrote: > Well you can take a look at the current branch and give me some > feedback so it can be improved to be pushed in mainline. I want to review this branch, but I can't get java-gnome to pass its test suite at the moment; a green bar is really kinda prerequisite to merging new development :( If anyone has suggestions, your help would be really appreciated. AfC Sydney |
From: Andrew C. <an...@op...> - 2012-08-14 05:35:40
|
On Mon, 2012-07-23 at 13:29 +0200, Guillaume Mazoyer wrote: > deprecating libunique and replace it with the new (well, not so new) > GtkApplication class. It is actually a thing that we *have to* do [1]. > I have started a branch about it and you can find it at > `hackers/guillaume/gtk-application' [2]. Ok, we have a working test suite again, so at last I've been able to start reviewing your branch. Fantastic of you to have undertaken getting this code going. Namespaces ---------- This is a bit unfortunate: a.connect(new Application.Activate() { public void onActivate(org.gnome.glib.Application source) { System.out.println("Activated"); } }); Can we make another one that shadows the one in [org.gnome.glib] Application? My inclination is actually to go a bit further, and make the methods in [org.gnome.glib] Application protected, and publicly exposed on [org.gnome.gtk] Application. Sure you can use GApplication by itself, but would you ever really? Maybe someone can say, but my sense of it is that you're only supposed to use GtkApplication in practice. The documentation for GApplication says "In general, you should not use this class outside of a higher level framework." so I think I'm on the right track. Initialization -------------- So this is an interesting question. The documentation for gtk_application_new() says it calls gtk_init() for you. Hm. Translated, that implies that {java-gnome-}developers should not be calling Gtk.init() anymore, which of course is **absolutely obligatory** at the moment because it causes all the C side JNI setup to be done. I imagine we'll need to adjust that somewhat, but to what? Maybe we change the manual call to "gtk_init()" [which has all kinds of gumpf in it] to (effectively) bindings_java_init(). Then we can even have that called by a static block somewhere. Presumably Gtk.init() still has to work for people not using GtkApplication. Branch ------ I've done some minor documentation changes and cleanup; if you could merge from 'hackers/andrew/application' that would be good. AfC Sydney |
From: Andrew C. <an...@op...> - 2012-08-16 01:30:19
|
On Tue, 2012-08-14 at 15:35 +1000, Andrew Cowie wrote: > Can we make another one that shadows the one in [org.gnome.glib] > Application? Done. > Initialization > -------------- > > So this is an interesting question. The documentation for > gtk_application_new() says it calls gtk_init() for you. Hm. Translated, > that implies that {java-gnome-}developers should not be calling > Gtk.init() anymore, which of course is **absolutely obligatory** at the > moment because it causes all the C side JNI setup to be done. > The docs for gtk_application_new() allow that it's ok that gtk_init() would have been called already. We'll need to refine this, but we can get away with it for now. > I've done some minor documentation changes and cleanup; if you could > merge from 'hackers/andrew/application' that would be good. Pushed to bzr://research.operationaldynamics.com/bzr/java-gnome/hackers/andrew/application/ Further, I've taken a stab at porting Slashtime to use this GtkApplication coverage. If you want to test it, see bzr://research.operationaldynamics.com/bzr/slashtime/application Comments? AfC Sydney |