c140b7e7c9
by Brian Palmer git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25943 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
127 lines
4.9 KiB
HTML
127 lines
4.9 KiB
HTML
|
|
<HTML>
|
|
|
|
<HEAD>
|
|
<TITLE>wxWidgets 2 for GTK FAQ</TITLE>
|
|
</HEAD>
|
|
|
|
<BODY BGCOLOR=#FFFFFF TEXT=#000000 VLINK="#00376A" LINK="#00529C" ALINK="#313063">
|
|
|
|
<font face="Arial, Lucida Sans, Helvetica">
|
|
|
|
<table width=100% border=0 cellpadding=3 cellspacing=0>
|
|
<tr>
|
|
<td bgcolor="#004080" align=left height=24 background="images/bluetitlegradient.gif">
|
|
<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#FFFFFF">
|
|
<b>wxWidgets 2 for GTK FAQ</b>
|
|
</font>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<P>
|
|
|
|
See also <a href="faq.htm">top-level FAQ page</a>
|
|
and <a href="faqunx.htm">Unix FAQ page</a>.
|
|
<hr>
|
|
<h3>List of questions in this category</h3>
|
|
|
|
<ul>
|
|
<li><a href="#wxgtk">What is wxWidgets 2 for GTK+?</a></li>
|
|
<li><a href="#locale">Why doesn't reading floating point numbers work when using wxWidgets?</a></li>
|
|
<li><a href="#gnome">Does wxGTK have GNOME support?</a></li>
|
|
<li><a href="#redhat">Warning about GTK libraries supplied with RedHat</a></li>
|
|
<li><a href="#bincompat">What range of Intel Linux platforms will a given application binary be usable on?</a></li>
|
|
<li><a href="#static">Can I statically link the GTK+ library?</a></li>
|
|
<li><a href="#charinframe">Why does my simple program using <tt>EVT_CHAR</tt> not work?</a></li>
|
|
<li><a href="#debugging">How do I trace the cause of an X11 error such as BadMatch?</a></li>
|
|
</ul>
|
|
|
|
<hr>
|
|
|
|
<h3><a name="wxgtk">What is wxWidgets 2 for GTK?</a></h3>
|
|
|
|
wxWidgets 2 for GTK is a port of wxWidgets to the <a href="http://www.gimp.org/gtk" target=_top>GTK+ toolkit</a>,
|
|
which is freely available for most flavours of Unix with X. wxWidgets 2 for GTK is
|
|
often abbreviated to wxGTK. wxGTK has a separate home page <a href="http://www.freiburg.linux.de/~wxxt" target=_top>here</a>.
|
|
<P>
|
|
|
|
<h3><a name="locale">Why doesn't reading floating point numbers work when using wxWidgets?</a></h3>
|
|
|
|
If your program reads the floating point numbers in the format <tt>123.45</tt>
|
|
from a file, it may suddently start returning just <tt>123</tt> instead of the
|
|
correct value on some systems -- which is all the more mysterious as the same
|
|
code in a standalone program works just fine.
|
|
|
|
<p>
|
|
The explanation is that GTK+ changes the current locale on program startup. If
|
|
the decimal point character in the current locale is not the period (for
|
|
example, it is comma in the French locale), all the standard C functions won't
|
|
recognize the numbers such as above as floating point ones any more.
|
|
|
|
<p>
|
|
The solution is to either use your own function for reading the floating point
|
|
numbers (probably the best one) or to call <tt>setlocale(LC_NUMERIC, "C")</tt>
|
|
before reading from file and restore the old locale back afterwards if needed.
|
|
|
|
<h3><a name="gnome">Does wxGTK have GNOME support?</a></h3>
|
|
|
|
Currently wxGTK does not have any features that would involve dependence on any desktop
|
|
environment's libraries, so it can work on GNOME, KDE and with other window managers
|
|
without installation hassles. Some GNOME and KDE integration features are file based, and
|
|
so may be added without dependence on libraries. Other features may be supported in the
|
|
future, probably as a separate library.
|
|
<P>
|
|
|
|
<h3><a name="redhat">Warning about GTK+ libraries supplied with RedHat</a></h3>
|
|
|
|
It seems that some versions of RedHat include a badly patched version of GTK+ (not wxGTK)
|
|
which causes some trouble with wxWidgets' socket code. Common symptoms are that when
|
|
a client tries to establish a connection to an existing server which refuses the request,
|
|
the client will get notified twice, first getting a LOST event and then a CONNECT event.
|
|
This problem can be solved by updating GTK with an official distribution of the library.
|
|
<P>
|
|
|
|
<h3><a name="bincompat">What range of Intel Linux platforms will a given application binary be usable on?</h3>
|
|
|
|
Robert Roebling replies:<P>
|
|
|
|
"The important thing is the libc version that your app
|
|
is linked against. The most recent version is 2.2.5
|
|
and programs linked against it will not run with version
|
|
2.1.X so that you will fare best if you compile your app
|
|
on a 2.1.X system. It will then run on practically all
|
|
Linux distros (if you link you app statically against
|
|
the image libraries and std C++ lib)."
|
|
<P>
|
|
|
|
<h3><a name="#static">Can I statically link the GTK+ library?</a></h3>
|
|
|
|
No, this is not possible. It leads to crashes in GTK+.
|
|
<P>
|
|
|
|
<h3><a name="#charinframe">Why does my simple program using
|
|
<tt>EVT_CHAR</tt> not work?</a></h3>
|
|
|
|
In wxGTK, the frames never get focus and so can never receive <tt>CHAR</tt>
|
|
nor <tt>KEY</tt> events so an <tt>EVT_CHAR</tt> handler for a frame will be
|
|
never called. To receive these events, you should create a <tt>wxPanel</tt>
|
|
inside the frame and register the key event handlers for the panel, not the
|
|
frame.
|
|
|
|
<p>
|
|
|
|
<h3><a name="#debugging">How do I trace the cause of an X11 error such as BadMatch?</h3>
|
|
|
|
When a fatal X11 error occurs, the application quits with no stack trace.
|
|
To find out where the problem is, put a breakpoint on g_log (<tt>b g_log</tt>
|
|
in gdb).
|
|
|
|
<p>
|
|
|
|
</font>
|
|
|
|
</BODY>
|
|
|
|
</HTML>
|