Thread: [java-gnome-hackers] GtkBuilder branch
Brought to you by:
afcowie
From: Vreixo F. L. <met...@ya...> - 2011-06-18 13:58:20
|
Hi all! I have created a branch with my approach to expose GtkBuilder, available at: http://research.operationaldynamics.com/bzr/java-gnome/hackers/vreixo/gtkbuilder/ I plan to expose GtkBuilder as an annotation-based way of creating user interfaces, following the approach of Francho Bulgarelli to libglade, submitted several years ago. In fact, my work is mainly an adaptation of Franco's implementation, although I also plan to make some changes. I don't want to follow with my discussion without first thank Franco for his huge contribution. The work in my branch is still in a preliminary stage, but you can already figure out the idea by looking at my code. Please download the branch and focus on org.gnome.gtk.Builder I have added a tiny demo application in doc/examples/builder, NotesDemo.java, that shows the possibilities of an annotation-based approach. Further work will address the signal connection by means of annotation, and many other things. I'm aware of the problems of GtkBuilder and similar approaches (that build user interfaces with an external program and then load them from an XML file), mainly related with the lack of type-safety (and note, however, that the annotation-based approach reduces its impact by detecting the possible problems at load time, without needing to execute all possible code paths). Anyway, this method for creating UI is very common in the java world (they come to my mind web-related frameworks such as JSP/JSTL, Tapestry, GWT's UiBinder, or the mobile Android platform with his layouts). Many java developers use to work this way and, indeed, it has several advantages too. I thus think we should offer support for this way of working in java-gnome, and the annotation-based approach is, in my opinion, the best one. I hope you take a look at the code and tell me your opinions about it, and any idea that could improve it. I'll try to provide a good implementation of GtkBuilder, making it easy for developers by means of the powerful capabilities of the Java platform. But, at the same time, I'll try to reduce as much as possible the limitations of the approach. If any of you have experience with GtkBuilder (I have not), please tell me what are the things you want support for in java-gnome, but also the main problems you've found when working with it, so we can address them the best possible way. Thanks in advance, Best regards Vreixo Formoso |
From: Andrew C. <an...@op...> - 2011-07-18 22:13:07
|
On Sat, 2011-06-18 at 14:58 +0100, Vreixo Formoso Lopes wrote: > I have created a branch with my approach to expose GtkBuilder So I talked to Vreixo before 4.1.1 and he indicated it wasn't quite ready for being put up yet, but as soon as he's happy with it we will certainly merge. I'm hoping it will be a highlight of 4.1.2! AfC Sydney |
From: Serkan K. <se...@ge...> - 2011-07-19 03:04:53
|
2011/6/18 Vreixo Formoso Lopes <met...@ya...>: > Hi all! > > I have created a branch with my approach to expose GtkBuilder, available at: > > http://research.operationaldynamics.com/bzr/java-gnome/hackers/vreixo/gtkbuilder/ > > > > I plan to expose GtkBuilder as an annotation-based way of creating user > interfaces, following the approach of Francho Bulgarelli to libglade, submitted > several years ago. In fact, my work is mainly an adaptation of Franco's > implementation, although I also plan to make some changes. I don't want > to follow with my discussion without first thank Franco for his huge > contribution. > > The work in my branch is still in a preliminary stage, but you can already > figure > > out the idea by looking at my code. Please download the branch and focus on > > org.gnome.gtk.Builder > > I have added a tiny demo application in doc/examples/builder, NotesDemo.java, > that shows the possibilities of an annotation-based approach. Further work will > address the signal connection by means of annotation, and many other things. > > I'm aware of the problems of GtkBuilder and similar approaches (that build user > interfaces with an external program and then load them from an XML file), > mainly related with the lack of type-safety (and note, however, that the > annotation-based approach reduces its impact by detecting the possible > problems at load time, without needing to execute all possible code paths). > > Anyway, this method for creating UI is very common in the java world (they > come to my mind web-related frameworks such as JSP/JSTL, Tapestry, > GWT's UiBinder, or the mobile Android platform with his layouts). Many > java developers use to work this way and, indeed, it has several advantages > too. > > I thus think we should offer support for this way of working in java-gnome, and > the annotation-based approach is, in my opinion, the best one. > I hope you take a look at the code and tell me your opinions about it, and any > idea that could improve it. I'll try to provide a good implementation of > GtkBuilder, making it easy for developers by means of the powerful capabilities > of the Java platform. But, at the same time, I'll try to reduce as much as > possible the limitations of the approach. > > If any of you have experience with GtkBuilder (I have not), please tell me what > are the things you want support for in java-gnome, but also the main problems > you've found when working with it, so we can address them the best possible > way. > > Thanks in advance, > > Best regards > Vreixo Formoso > > ------------------------------------------------------------------------------ > EditLive Enterprise is the world's most technically advanced content > authoring tool. Experience the power of Track Changes, Inline Image > Editing and ensure content is compliant with Accessibility Checking. > http://p.sf.net/sfu/ephox-dev2dev > _______________________________________________ > java-gnome-hackers mailing list > jav...@li... > https://lists.sourceforge.net/lists/listinfo/java-gnome-hackers > I really like the idea of using dependency injection for ui object. well done. Regards, Serkan |
From: Serkan K. <se...@ge...> - 2011-07-19 03:07:46
|
2011/7/19 Serkan Kaba <se...@ge...>: > I really like the idea of using dependency injection for ui object. well done. > > Regards, > Serkan > Just one thing. Can we add a default constructor to Builder with path defaulting to cwd? |