Hi Costantino,

On 1/11/2010 1:15 AM Costantino Cerbo wrote:
I'd like now to integrate it with the real OpenJDK codebase, but I've
see that the GTK libraries aren't invoked through #include <gtk/gtk.h>
but through "gtk2_interface.h" (in
jdk7/mytl/jdk/src/solaris/native/sun/awt).
That means, I should extend this header file to accept also the
GtkFileChooser related functions that are in my
native/src/GtkFileDialogPeer.c.
Could you (or somebody else) please explain me, how to do that?

I guess that gtk2_interface.c at the same directory could help clarify that.


Besides I have the following questions/comments:
1) Maybe should we write a new class sun.awt.X11.GtkFileDialogPeer
instead of modify sun.awt.X11.XFileDialogPeer?
The old XFileDialogPeer will be continued to be used in system without
the GTK libraries. That means, we should modify
sun.awt.X11.XToolkit#createFileDialog(FileDialog) to return
GtkFileDialogPeer instead of XFileDialogPeer, if GTK is avalaible.
By the way, how can we check in the JDK the presence of GTK? (I think,
it's already done for the availability of the GTK L&F, but I could not
find how).

That would be awesome. We certainly don't want to introduce a hard dependency on the presence of the GTK libraries to run Java programs.


2) java.awt.FileDialog supports only the selection of files but not of
folders: Why don't we allow its method setMode(.) to accept also other
values than LOAD (0) or SAVE (1). For example we could pass the value
2 to allow only the selection of folders? It's a minimal change that
doesn't broke the existing API. On platforms where the new selection
mode for folders isn't yet implemented, the behaviour should be the
same as for the mode LOAD (0).

That better be addresses with a separate fix. Currently we don't have an implementation for that functionality on the MS Windows platform, so the fix would have to introduce both Windows and X11 versions.


3) I could compile the entire OpenJdk 7 without problem, but when I
try to compile only the awt part, it fails with the error message in
the attached file (error.log).

You can do incremental builds (i.e. running the make at make/sun/xawt or make/sun|java/awt) only after you have compiled the whole OpenJDK.

--
best regards,
Anthony

Reply via email to