]>
Commit | Line | Data |
---|---|---|
c140b7e7 | 1 | |
ce3ed50d JS |
2 | <HTML> |
3 | ||
4 | <HEAD> | |
c140b7e7 | 5 | <TITLE>wxWidgets 2 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"> | |
c140b7e7 | 16 | <b>wxWidgets 2 for GTK FAQ</b> |
ce3ed50d JS |
17 | </font> |
18 | </td> | |
19 | </tr> | |
20 | </table> | |
21 | ||
22 | <P> | |
23 | ||
c140b7e7 | 24 | See also <a href="faq.htm">top-level FAQ page</a> |
d61c1a6f | 25 | and <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> | |
c140b7e7 JS |
30 | <li><a href="#wxgtk">What is wxWidgets 2 for GTK+?</a></li> |
31 | <li><a href="#locale">Why doesn'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 | |
c140b7e7 | 42 | <h3><a name="wxgtk">What is wxWidgets 2 for GTK?</a></h3> |
4f3b37fd | 43 | |
c140b7e7 JS |
44 | wxWidgets 2 for GTK is a port of wxWidgets to the <a href="http://www.gimp.org/gtk" target=_top>GTK+ toolkit</a>, |
45 | which is freely available for most flavours of Unix with X. wxWidgets 2 for GTK is | |
ce3ed50d JS |
46 | often 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't reading floating point numbers work when using wxWidgets?</a></h3> |
4f3b37fd JS |
50 | |
51 | If your program reads the floating point numbers in the format <tt>123.45</tt> | |
966a4a52 | 52 | from a file, it may suddenly start returning just <tt>123</tt> instead of the |
4f3b37fd JS |
53 | correct value on some systems -- which is all the more mysterious as the same |
54 | code in a standalone program works just fine. | |
55 | ||
56 | <p> | |
57 | The explanation is that GTK+ changes the current locale on program startup. If | |
58 | the decimal point character in the current locale is not the period (for | |
59 | example, it is comma in the French locale), all the standard C functions won't | |
60 | recognize the numbers such as above as floating point ones any more. | |
61 | ||
62 | <p> | |
63 | The solution is to either use your own function for reading the floating point | |
64 | numbers (probably the best one) or to call <tt>setlocale(LC_NUMERIC, "C")</tt> | |
65 | before 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 | |
69 | Currently wxGTK does not have any features that would involve dependence on any desktop | |
8b283bb8 | 70 | environment's libraries, so it can work on GNOME, KDE and with other window managers |
ce3ed50d JS |
71 | without installation hassles. Some GNOME and KDE integration features are file based, and |
72 | so may be added without dependence on libraries. Other features may be supported in the | |
73 | future, 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 | 78 | It seems that some versions of RedHat include a badly patched version of GTK+ (not wxGTK) |
c140b7e7 | 79 | which causes some trouble with wxWidgets' socket code. Common symptoms are that when |
8b283bb8 JS |
80 | a client tries to establish a connection to an existing server which refuses the request, |
81 | the client will get notified twice, first getting a LOST event and then a CONNECT event. | |
82 | This 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 | ||
87 | Robert Roebling replies:<P> | |
88 | ||
89 | "The important thing is the libc version that your app | |
90 | is linked against. The most recent version is 2.2.5 | |
91 | and programs linked against it will not run with version | |
92 | 2.1.X so that you will fare best if you compile your app | |
93 | on a 2.1.X system. It will then run on practically all | |
94 | Linux distros (if you link you app statically against | |
95 | the image libraries and std C++ lib)." | |
2b5f62a0 VZ |
96 | <P> |
97 | ||
98 | <h3><a name="#static">Can I statically link the GTK+ library?</a></h3> | |
99 | ||
100 | No, 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 | |
106 | In wxGTK, the frames never get focus and so can never receive <tt>CHAR</tt> | |
107 | nor <tt>KEY</tt> events so an <tt>EVT_CHAR</tt> handler for a frame will be | |
108 | never called. To receive these events, you should create a <tt>wxPanel</tt> | |
109 | inside the frame and register the key event handlers for the panel, not the | |
110 | frame. | |
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 | ||
116 | When a fatal X11 error occurs, the application quits with no stack trace. | |
117 | To find out where the problem is, put a breakpoint on g_log (<tt>b g_log</tt> | |
118 | in gdb). | |
119 | ||
120 | <p> | |
121 | ||
ce3ed50d JS |
122 | </font> |
123 | ||
124 | </BODY> | |
125 | ||
126 | </HTML> |