|
From: Mojca M. <moj...@gm...> - 2014-06-20 21:58:35
|
On Fri, Jun 20, 2014 at 6:52 PM, Allin Cottrell wrote:
> On Fri, 20 Jun 2014, Mojca Miklavec wrote:
>
>> Can you please write in pseudocode what exactly you mean / based on
>> what would you pick wxWidgets then and how?
>
>
> Well, I'm not sure if this answers all cases, but what I have in mind is as
> follows (where, e.g., "gtk2" means that gtk+-2.0 is available on the host as
> revealed by pkg-config):
>
> if user-says-prefer-gtk2
> if gtk2 && wx-gtk2
> use wx-gtk2
> elif gtk3 && wx-gtk3
> use wx-gtk3
> endif
> else
> if gtk3 && wx-gtk3
> use wx-gtk3
> elif gtk2 && wx-gtk2
> use wx-gtk2
> endif
> endif
Before we even start discussing any further ... I just realized that
the whole discussion is moot. Gnuplot doesn't currently support GTK 3
at all. I tried to compile it and gnuplot uses a bunch of functions
that no longer exist in GTK 3.
The compile errors come from the code that explicitly says:
/* FIXME : this code should be deleted, and the feature removed or
handled differently,
* because it is highly platform-dependant, is not reliable because
* of a lot of factors (WINDOWID not set, multiple tabs in
gnome-terminal, mechanisms
* to prevent focus stealing) and is inconsistent with global bindings
mechanism ) */
../../src/wxterminal/wxt_gui.cpp:1417:20: error: use of undeclared
identifier 'gdk_window_foreign_new'
gdk_window_raise(gdk_window_foreign_new(windowid));
^
It looks like function being used in there explicitly depend on
gdk/gdkx.h from GTK 2 (no longer present in GTK 3), so they explicitly
depend on X11(?) or something like that.
It's also not wxWidgets' fault if gnuplot source code uses GTK
functions that depend on X11.
(Disclaimer: I don't know much about GTK and X11. I might be wrong
about diagnoses, but it looks like someone should definitely clean up
the code saying "FIXME".)
Discussing configuration for GTK 3 makes no sense if the source code
isn't even compatible with GTK 3. I wasn't able to build gnuplot
against wxGTK on Mac yet because I need to recompile wxWidgets first
(to link against GTK 2).
Mojca
|