]>
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> doesn't work?</a></li> | |
36 | </ul> | |
37 | ||
38 | <hr> | |
39 | ||
40 | <h3><a name="wxgtk">What is wxWindows 2 for GTK?</a></h3> | |
41 | ||
42 | wxWindows 2 for GTK is a port of wxWindows to the <a href="http://www.gimp.org/gtk" target=_top>GTK+ toolkit</a>, | |
43 | which is freely available for most flavours of Unix with X. wxWindows 2 for GTK is | |
44 | often abbreviated to wxGTK. wxGTK has a separate home page <a href="http://www.freiburg.linux.de/~wxxt" target=_top>here</a>. | |
45 | <P> | |
46 | ||
47 | <h3><a name="locale">Why doesn't reading floating point numbers work when using wxWindows?</a></h3> | |
48 | ||
49 | If your program reads the floating point numbers in the format <tt>123.45</tt> | |
50 | from a file, it may suddently start returning just <tt>123</tt> instead of the | |
51 | correct value on some systems -- which is all the more mysterious as the same | |
52 | code in a standalone program works just fine. | |
53 | ||
54 | <p> | |
55 | The explanation is that GTK+ changes the current locale on program startup. If | |
56 | the decimal point character in the current locale is not the period (for | |
57 | example, it is comma in the French locale), all the standard C functions won't | |
58 | recognize the numbers such as above as floating point ones any more. | |
59 | ||
60 | <p> | |
61 | The solution is to either use your own function for reading the floating point | |
62 | numbers (probably the best one) or to call <tt>setlocale(LC_NUMERIC, "C")</tt> | |
63 | before reading from file and restore the old locale back afterwards if needed. | |
64 | ||
65 | <h3><a name="gnome">Does wxGTK have GNOME support?</a></h3> | |
66 | ||
67 | Currently wxGTK does not have any features that would involve dependence on any desktop | |
68 | environment's libraries, so it can work on GNOME, KDE and with other window managers | |
69 | without installation hassles. Some GNOME and KDE integration features are file based, and | |
70 | so may be added without dependence on libraries. Other features may be supported in the | |
71 | future, probably as a separate library. | |
72 | <P> | |
73 | ||
74 | <h3><a name="redhat">Warning about GTK+ libraries supplied with RedHat</a></h3> | |
75 | ||
76 | It seems that some versions of RedHat include a badly patched version of GTK+ (not wxGTK) | |
77 | which causes some trouble with wxWindows' socket code. Common symptoms are that when | |
78 | a client tries to establish a connection to an existing server which refuses the request, | |
79 | the client will get notified twice, first getting a LOST event and then a CONNECT event. | |
80 | This problem can be solved by updating GTK with an official distribution of the library. | |
81 | <P> | |
82 | ||
83 | <h3><a name="bincompat">What range of Intel Linux platforms will a given application binary be usable on?</h3> | |
84 | ||
85 | Robert Roebling replies:<P> | |
86 | ||
87 | "The important thing is the libc version that your app | |
88 | is linked against. The most recent version is 2.2.5 | |
89 | and programs linked against it will not run with version | |
90 | 2.1.X so that you will fare best if you compile your app | |
91 | on a 2.1.X system. It will then run on practically all | |
92 | Linux distros (if you link you app statically against | |
93 | the image libraries and std C++ lib)." | |
94 | <P> | |
95 | ||
96 | <h3><a name="#static">Can I statically link the GTK+ library?</a></h3> | |
97 | ||
98 | No, this is not possible. It leads to crashes in GTK+. | |
99 | <P> | |
100 | ||
101 | <h3><a name="#charinframe">Why does my simple program using | |
102 | <tt>EVT_CHAR</tt> doesn't work?</a></h3> | |
103 | ||
104 | In wxGTK, the frames never get focus and so can never receive <tt>CHAR</tt> | |
105 | nor <tt>KEY</tt> events so an <tt>EVT_CHAR</tt> handler for a frame will be | |
106 | never called. To receive these events, you should create a <tt>wxPanel</tt> | |
107 | inside the frame and register the key event handlers for the panel, not the | |
108 | frame. | |
109 | ||
110 | <p> | |
111 | ||
112 | </font> | |
113 | ||
114 | </BODY> | |
115 | ||
116 | </HTML> |