| 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> |