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