]> git.saurik.com Git - wxWidgets.git/blame - docs/html/faqgtk.htm
use buffered DC again
[wxWidgets.git] / docs / html / faqgtk.htm
CommitLineData
57d9fc85 1
ce3ed50d
JS
2<HTML>
3
4<HEAD>
57d9fc85 5<TITLE>wxWidgets for GTK FAQ</TITLE>
ce3ed50d
JS
6</HEAD>
7
4e4dc03d 8<BODY BGCOLOR=#FFFFFF TEXT=#000000 VLINK="#00376A" LINK="#00529C" ALINK="#313063">
ce3ed50d
JS
9
10<font face="Arial, Lucida Sans, Helvetica">
11
4e4dc03d 12<table width=100% border=0 cellpadding=3 cellspacing=0>
ce3ed50d 13<tr>
4e4dc03d
JS
14<td bgcolor="#004080" align=left height=24 background="images/bluetitlegradient.gif">
15<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#FFFFFF">
57d9fc85 16<b>wxWidgets for GTK FAQ</b>
ce3ed50d
JS
17</font>
18</td>
19</tr>
20</table>
21
22<P>
23
57d9fc85 24See also <a href="faq.htm">top-level FAQ page</a>
d61c1a6f 25and <a href="faqunx.htm">Unix FAQ page</a>.
ce3ed50d 26<hr>
8b283bb8 27<h3>List of questions in this category</h3>
4f3b37fd
JS
28
29<ul>
57d9fc85 30<li><a href="#wxgtk">What is wxWidgets for GTK+?</a></li>
c140b7e7 31<li><a href="#locale">Why doesn&#39;t reading floating point numbers work when using wxWidgets?</a></li>
8b283bb8
JS
32<li><a href="#gnome">Does wxGTK have GNOME support?</a></li>
33<li><a href="#redhat">Warning about GTK libraries supplied with RedHat</a></li>
4f3b37fd 34<li><a href="#bincompat">What range of Intel Linux platforms will a given application binary be usable on?</a></li>
2b5f62a0 35<li><a href="#static">Can I statically link the GTK+ library?</a></li>
b1c1e25b
JS
36<li><a href="#charinframe">Why does my simple program using <tt>EVT_CHAR</tt> not work?</a></li>
37<li><a href="#debugging">How do I trace the cause of an X11 error such as BadMatch?</a></li>
4f3b37fd 38</ul>
53e112a0 39
8b283bb8 40<hr>
ce3ed50d 41
57d9fc85 42<h3><a name="wxgtk">What is wxWidgets for GTK?</a></h3>
4f3b37fd 43
57d9fc85
JS
44wxWidgets for GTK is a port of wxWidgets to the <a href="http://www.gimp.org/gtk" target=_top>GTK+ toolkit</a>,
45which is freely available for most flavours of Unix with X. wxWidgets for GTK is
ce3ed50d
JS
46often abbreviated to wxGTK. wxGTK has a separate home page <a href="http://www.freiburg.linux.de/~wxxt" target=_top>here</a>.
47<P>
48
c140b7e7 49<h3><a name="locale">Why doesn&#39;t reading floating point numbers work when using wxWidgets?</a></h3>
4f3b37fd
JS
50
51If your program reads the floating point numbers in the format <tt>123.45</tt>
966a4a52 52from a file, it may suddenly start returning just <tt>123</tt> instead of the
4f3b37fd
JS
53correct value on some systems -- which is all the more mysterious as the same
54code in a standalone program works just fine.
55
56<p>
57The explanation is that GTK+ changes the current locale on program startup. If
58the decimal point character in the current locale is not the period (for
59example, it is comma in the French locale), all the standard C functions won&#39;t
60recognize the numbers such as above as floating point ones any more.
61
62<p>
63The solution is to either use your own function for reading the floating point
64numbers (probably the best one) or to call <tt>setlocale(LC_NUMERIC, "C")</tt>
65before reading from file and restore the old locale back afterwards if needed.
66
8b283bb8 67<h3><a name="gnome">Does wxGTK have GNOME support?</a></h3>
ce3ed50d
JS
68
69Currently wxGTK does not have any features that would involve dependence on any desktop
8b283bb8 70environment&#39;s libraries, so it can work on GNOME, KDE and with other window managers
ce3ed50d
JS
71without installation hassles. Some GNOME and KDE integration features are file based, and
72so may be added without dependence on libraries. Other features may be supported in the
73future, probably as a separate library.
74<P>
75
2b5f62a0 76<h3><a name="redhat">Warning about GTK+ libraries supplied with RedHat</a></h3>
8b283bb8 77
2b5f62a0 78It seems that some versions of RedHat include a badly patched version of GTK+ (not wxGTK)
c140b7e7 79which causes some trouble with wxWidgets&#39; socket code. Common symptoms are that when
8b283bb8
JS
80a client tries to establish a connection to an existing server which refuses the request,
81the client will get notified twice, first getting a LOST event and then a CONNECT event.
82This problem can be solved by updating GTK with an official distribution of the library.
83<P>
84
53e112a0
JS
85<h3><a name="bincompat">What range of Intel Linux platforms will a given application binary be usable on?</h3>
86
87Robert Roebling replies:<P>
88
5147354c 89&#34;The important thing is the libc version that your app
53e112a0
JS
90is linked against. The most recent version is 2.2.5
91and programs linked against it will not run with version
922.1.X so that you will fare best if you compile your app
93on a 2.1.X system. It will then run on practically all
94Linux distros (if you link you app statically against
5147354c 95the image libraries and std C++ lib).&#34;
2b5f62a0
VZ
96<P>
97
98<h3><a name="#static">Can I statically link the GTK+ library?</a></h3>
99
100No, this is not possible. It leads to crashes in GTK+.
101<P>
102
103<h3><a name="#charinframe">Why does my simple program using
b1c1e25b 104<tt>EVT_CHAR</tt> not work?</a></h3>
2b5f62a0
VZ
105
106In wxGTK, the frames never get focus and so can never receive <tt>CHAR</tt>
107nor <tt>KEY</tt> events so an <tt>EVT_CHAR</tt> handler for a frame will be
108never called. To receive these events, you should create a <tt>wxPanel</tt>
109inside the frame and register the key event handlers for the panel, not the
110frame.
111
112<p>
ce3ed50d 113
b1c1e25b
JS
114<h3><a name="#debugging">How do I trace the cause of an X11 error such as BadMatch?</h3>
115
116When a fatal X11 error occurs, the application quits with no stack trace.
117To find out where the problem is, put a breakpoint on g_log (<tt>b g_log</tt>
118in gdb).
119
120<p>
121
ce3ed50d
JS
122</font>
123
124</BODY>
125
126</HTML>