2 <head><title>wxGTK Homepage
</title>
4 <body bgcolor=#FFFFFF text=#
000000 link=#
0020FF vlink=#
800000 alink=#
007777>
5 <h1>"wxWindows for the GTK" Homepage
</h1>
8 <h3>Current version
</h3>
9 15th May '
98: wxGTK v0.12 (alpha-)
11 This release is hardly more stable than the one before, but it
12 has many new features. It's main purpose is actually to prepare
13 the final merge of the Windows port and the GTK port source
14 trees into a common tree, developed using CVS. The growing
15 number of demos which compile and run with wxGTK "although"
16 being written for wxMSW shows that we seem to be on the right
17 track. One nice new feature for many potential users is that
18 wxGTK no longer needs any extra libraries to be installed,
21 If you have a compiler
22 better than gcc
2.7.2.2 then you can uncomment a line in src/common/prntbase.cpp
23 which defines __GOOD_COMPILER__. This should make the printing demo work.
24 I haven't got such a compiler, so I actually don't know. Somebody reported
25 problems with version
2.7.2.3 as well.
28 <h3>Acknowledgements
</h3>
30 <a href=
"http://www.freiburg.linux.de">Freiburg Linux User Group
</a>
32 this site and Christian Wetzel in particular for helping me with
33 this site's administration.
37 <h3>What is wxWindows?
</h3>
38 wxWindows is a C++ cross-platform GUI toolkit written mainly by Julian Smart.
39 More information about wxWindows can be found at the
40 <a href=
"http://web.ukonline.co.uk/julian.smart/wxwin">wxWindows Homepage
</a>.
43 The current version of wxWindows (v1.68) supports Windows ('
95 and NT), Motif and
44 XView (aka OpenLook). There is another port (wxXt) available, which uses the
45 free-ware widget set from the Free Widget Foundation (FSF). Ports have been
46 started for the Mac, OS/
2 and NextStep.
48 For different reasons, it was decided to start a complete rewrite of wxWindows,
49 which will then be called wxWindows
2.0. For a list of new features and changes
50 from the current version, you may read the wxWindows Homepage (see above).
52 Currently, work is being done on four ports of wxWindows
2.0:
54 <li> Windows (wxMSW, main author Julian Smart)
55 <li> Unix, Motif (wxMotif, main author Markus Holzhem)
56 <li> Unix, GIMP Toolkit (wxGTK, main author Robert Roebling)
57 <li> Macintosh (wxMac, main author Greg Whitehead)
60 wxWindows provides a rich set of classes which help to make cross-platform
61 GUI programming easy. In many aspect, it is modelled after MFC, making transition
62 from MFC to wxWindows relatively painless. The main technical
63 difference between most other free or commercial cross platform libraries is
64 that wxWindows is a wrapper around existing widget sets, whereas the other
65 toolkits (Qt, Tk, Java, Amulet, OPaC, JX, Fresko) draw their widgets themselves,
66 which results in applications having a different look than native applications
67 for that specific platform.
69 There are classes for the following categories
71 <li> Window classes: wxWindow, wxFrame, wxDialogBox, wxPanel, wxCanvas etc.
72 <li> Widget classes: wxButton, wxCheckbox, wxChoice, wxListBox, wxListCtrl, wxText, wxGauge etc.
73 <li> Data structures: wxList, wxString, wxHashTable, wxDate etc.
74 <li> Layout/constraint system
75 <li> GDI classes: wxPen, wxBrush, wxFont, wxBitmap etc.
76 <li> Events: wxCommandEvent, wxMouseEvent, wxKeyEvent etc.
77 <li> Devices contexts: wxCanvasDC, wxPostScriptDC, wxMemoryDC, wxPrinterDC
78 <li> Base classes for runtime-type information: wxObject
79 <li> Interprocess communication: wxClient, wxConnection, wxSocket, wxServer etc.
80 <li> Document-view architecture: wxDocument, wxView, wxDocManager etc.
81 <li> Printing framework: wxPreviewFrame, wxPrintDialog, wxPrinter etc.
82 <li> Many helper classes, wxApplication, wxTypeTree, wxPathList etc.
83 <li> Classes for internationalization
84 <li> Built-in memory leak checking, log-files
85 <li> A multitude of functions and macros
90 The choice of a suitable copyright has been subject to endless discussions. It
91 has always been the aim, to put wxWindows under a copyright, which protects
92 the work of its authors while at the same time encouraging the use of wxWindows
93 in as many projects as possible.
95 The (so far) last decision has been to put the whole of wxWindows
96 under a modified (less restrictive) version of the GNU library general
99 The only exception is that wxGTK now contains code (gdk_imlib) which is
100 under the GNU library general public license. When you make changes to
101 this part of wxGTK, you'll have to make these changes public (in contrast
102 to changes to the rest).
104 It is obviously encouraged that anybody who uses wxWindows and who
105 makes any improvements to it will make these changes available to
109 <h3>What can I do with wxWindows
2.0?
</h3>
110 wxWindows is still in alpha stage, which means that there are still bugs
111 waiting for you and several features are not yet (fully) implemented, but
112 you can expect the interface to be more or less stable, so no major
113 modifications will have to be made to your source code. wxGTK is already
114 used in a number of medium sized projects and is it being developped
115 in close cooperation with the authors of these applications.
118 <h3>Can I write a GNOME application with wxGTK
2.0?
</h3>
119 Good question. The idea to use wxGTK for the GNOME desktop environment is
120 quite obvious. When this topic came up on the GNOME mailing list, the GNOME
121 people have shown an amazingly negative opinion about wxWindows. One reason
122 might be that several of the main authors of the GNOME-project consider
123 C++ a "broken language". I don't share that view and I am sure many people
124 find C++ easier to handle and better suited for GUI programming than C.
126 Just recently, the topic of C++ in general and wxGTK in particular appeared
127 again on the GNOME list. It has shown that - at least - the opinion on C++
128 on the GNOME list is split.
130 There is already a C++ wrapper for the GTK called GTK-- written by Tero Pulkkinen.
131 It is very small and adds very little overhead to the GTK. If platform
132 independence is no issue for you and you want to write a small tool
133 for Linux, you should probably use GTK--. Of course you can use wxGTK
138 What would a home page of a GUI be without a screenshot? Well, as wxWindows
139 is a wrapper around existing widget/item sets, a wxWindows application will
140 look like any other native Windows, Motif, GTK or Mac application.
142 But for those of you, who wouldn't download wxGTK only because there
144 <a href=
"ftp://ftp.freiburg.linux.de/pub/linux/wxxt/sshot.jpg">here it comes
</a>.
147 <h3>Download
1.68</h3>
149 <a href=
"ftp://ftp.freiburg.linux.de/pub/linux/wxxt">FTP
</a>
152 There is documentation for version
1.68 in html available.
153 <a href=
"ftp://ftp.freiburg.linux.de/pub/linux/wxxt">here
</a>. Not yet.
155 You can download current wxWindows version
1.68 for Windows, Motif and
157 <a href=
"ftp://ftp.freiburg.linux.de/pub/linux/wxxt">here
</a>. Not yet.
159 You can download wxXt
1.66d from
160 <a href=
"ftp://ftp.freiburg.linux.de/pub/linux/wxxt/wxxt166d.tgz">here
</a>.
163 <h3>Download
2.0 alpha
</h3>
164 There is documentation for version
2.0 in html available.
165 <a href=
"ftp://ftp.freiburg.linux.de/pub/linux/wxxt/wxGTK_doc.tgz">here
</a>.
167 You can download the first alpha for wxWindows
2.0 for Windows from
168 <a href=
"ftp://ftp.freiburg.linux.de/pub/linux/wxxt/">here
</a>. Not yet.
170 You can download the current alpha for wxWindows
2.0 for GTK from
171 <a href=
"ftp://ftp.freiburg.linux.de/pub/linux/wxxt/wxGTK-0.12.tgz">here
</a>.
175 <h3>News from wxGTK
0.12</h3>
177 PNG, zlib and gdk_imlib code included.
179 MDI implementation. More a basis for further testing
182 Split "--with-debug" option into two options: "--with-debug_info"
183 and "--with-debug_flag". The first one sets the "-g" flag when
184 compiling, the second defines "DEBUG" in setup.h (which is included
187 Merged DocView framework. The sample doesn't compile yet, because
188 it uses features from wxTextCtrl, which I haven't implemented yet.
190 Merged TabCtrl. Doesn't look perfect, but it seems to work.
192 Merged remaining classes from the newest wxMSW alpha. (wxDynArray,
195 Further updates, bug fixes or additions:
198 <li> wxYield() (again)
199 <li> postscript support for bitmaps
200 <li> spline code merged
201 <li> several bug fixes
207 <h3>Known problems
</h3>
209 Missing implementation of:
211 <li>Impossible to set new font in GTK's widgets
212 <li>Items containing bitmaps
213 <li>Masks, bitmap handlers (partially done)
216 <li>Palettes (colormaps)
217 <li>Keyboard accelerators for menus
219 <li>Clipboard functions
220 <li>Resources (for use with wxIDE-to-be)
222 <li>Threads, Interprocess communication
229 <h3>Installation of wxGTK under Linux
</h3>
231 GTK requires an up-to-date version of the
233 <li> GTK (GIMP ToolKit)
235 to be installed as a shared lib on your system. wxGTK is being developped with
236 version
1.0.1 and it is known not to work with earlier versions.
237 The GTK library is available from
238 <a href=
"ftp://ftp.gtk.org/pub/">somewhere here (gtk.org).
</a>
239 After having typed "make install" the GTK header files should be
240 in "/usr/local/include". Correct me, if I am wrong.
242 Compilation itself works as usual with autoconf:
244 <li> Unpack it to a suitable subdirectory, let's say ~/wxGTK
246 <li> Type "configure"
249 Some demos use files stored in the source directory of those demos
250 (e.g. internat uses files in samples/internat) whereas the binaries
251 will end up in samples/internat/linux. You'll have to copy the binaries
252 down or call them like "linux/test" from samples/internat. This is
253 also the case for wxTest (which should display a horse).
255 You can create a shared library by adding the option "--with-shared" to
256 the "configure" command. Afterwards, you'll have to copy the library
257 ~/wxGTK/lib/linux (if you have Linux) to a directory in your LDPATH (e.g. /usr/X11R6/lib)
262 <h3>Mailing list for wxGTK
</h3>
263 The mailing list (as well as this page) is called wxxt for more
264 or less historical reasons.
266 You can subsribe to the mailing list by sending a mail to
267 <a href=
"mailto:majordomo@wesley.informatik.uni-freiburg.de">majordomo@wesley.informatik.uni-freiburg.de
</a>.
268 This mail must contain the text "subscribe wxxt" in the body (not the subject) of the
269 mail. You will then get a confirmation that somebody asked majordomo to put you
270 on the list and you will have to confirm this once again by sending back
271 the authentisation, which comes in the confirmation mail. The last step
272 is also described in the actual confirmation mail (I think).
274 You can send a mail to the mailing list to the address
275 <a href=
"mailto:wxxt@www.freiburg.linux.de">wxxt@www.freiburg.linux.de
</a>.
278 Unsubscribe by sending "unsubscribe wxxt" to majordomo (see above). Not to
279 the actual mailing list.
283 <br>This page is maintained by
<a href=
"mailto:roebling@sun2.ruf.uni-freiburg.de">Robert Roebling
</a>.
284 Comments, in contrast to junk and flames, welcome.
286 Last changed
15th Mai '
98.