]>
Commit | Line | Data |
---|---|---|
c801d85f KB |
1 | <html> |
2 | <head><title>wxGTK Homepage</title> | |
3 | </head> | |
4 | <body bgcolor=#FFFFFF text=#000000 link=#0020FF vlink=#800000 alink=#007777> | |
5 | <h1>"wxWindows for the GTK" Homepage</h1> | |
6 | ||
7 | <hr> | |
8 | <h3>Current version</h3> | |
9 | 15th May '98: wxGTK v0.12 (alpha-) | |
10 | <p> | |
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, | |
19 | other than the GTK. | |
20 | <p> | |
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. | |
26 | <p> | |
27 | <hr> | |
28 | <h3>Acknowledgements</h3> | |
29 | I'd like to thank the | |
30 | <a href="http://www.freiburg.linux.de">Freiburg Linux User Group</a> | |
31 | for kindly providing | |
32 | this site and Christian Wetzel in particular for helping me with | |
33 | this site's administration. | |
34 | <p> | |
35 | ||
36 | <hr> | |
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>. | |
41 | ||
42 | <p> | |
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. | |
47 | <p> | |
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). | |
51 | <p> | |
52 | Currently, work is being done on four ports of wxWindows 2.0: | |
53 | <dl> | |
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) | |
58 | </dl> | |
59 | <p> | |
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. | |
68 | <p> | |
69 | There are classes for the following categories | |
70 | <dl> | |
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 | |
86 | </dl> | |
87 | ||
88 | <hr> | |
89 | <h3>Copyright</h3> | |
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. | |
94 | <p> | |
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 | |
97 | public license. | |
98 | <p> | |
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). | |
103 | <p> | |
104 | It is obviously encouraged that anybody who uses wxWindows and who | |
105 | makes any improvements to it will make these changes available to | |
106 | wxWindows' authors. | |
107 | <p> | |
108 | <hr> | |
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. | |
116 | <p> | |
117 | <hr> | |
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. | |
125 | <p> | |
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. | |
129 | <p> | |
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 | |
134 | for that, too :-) | |
135 | <p> | |
136 | <hr> | |
137 | <h3>Screenshots</h3> | |
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. | |
141 | <p> | |
142 | But for those of you, who wouldn't download wxGTK only because there | |
143 | is no screenshot, | |
144 | <a href="ftp://ftp.freiburg.linux.de/pub/linux/wxxt/sshot.jpg">here it comes</a>. | |
145 | <p> | |
146 | <hr> | |
147 | <h3>Download 1.68</h3> | |
148 | Go to the | |
149 | <a href="ftp://ftp.freiburg.linux.de/pub/linux/wxxt">FTP</a> | |
150 | section directly. | |
151 | <p> | |
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. | |
154 | <p> | |
155 | You can download current wxWindows version 1.68 for Windows, Motif and | |
156 | XView from | |
157 | <a href="ftp://ftp.freiburg.linux.de/pub/linux/wxxt">here</a>. Not yet. | |
158 | <p> | |
159 | You can download wxXt 1.66d from | |
160 | <a href="ftp://ftp.freiburg.linux.de/pub/linux/wxxt/wxxt166d.tgz">here</a>. | |
161 | <p> | |
162 | <hr> | |
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>. | |
166 | <p> | |
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. | |
169 | <p> | |
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>. | |
172 | <p> | |
173 | ||
174 | <hr> | |
175 | <h3>News from wxGTK 0.12</h3> | |
176 | <p> | |
177 | PNG, zlib and gdk_imlib code included. | |
178 | <p> | |
179 | MDI implementation. More a basis for further testing | |
180 | than of real value. | |
181 | <p> | |
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 | |
185 | from defs.h). | |
186 | <p> | |
187 | Merged DocView framework. The sample doesn't compile yet, because | |
188 | it uses features from wxTextCtrl, which I haven't implemented yet. | |
189 | <p> | |
190 | Merged TabCtrl. Doesn't look perfect, but it seems to work. | |
191 | <p> | |
192 | Merged remaining classes from the newest wxMSW alpha. (wxDynArray, | |
193 | wxModule etc.). | |
194 | <p> | |
195 | Further updates, bug fixes or additions: | |
196 | <p> | |
197 | <dl> | |
198 | <li> wxYield() (again) | |
199 | <li> postscript support for bitmaps | |
200 | <li> spline code merged | |
201 | <li> several bug fixes | |
202 | <li> new samples | |
203 | </dl> | |
204 | ||
205 | <p> | |
206 | <hr> | |
207 | <h3>Known problems</h3> | |
208 | ||
209 | Missing implementation of: | |
210 | <dl> | |
211 | <li>Impossible to set new font in GTK's widgets | |
212 | <li>Items containing bitmaps | |
213 | <li>Masks, bitmap handlers (partially done) | |
214 | <li>Gauge | |
215 | <li>Combobox | |
216 | <li>Palettes (colormaps) | |
217 | <li>Keyboard accelerators for menus | |
218 | <li>Validation | |
219 | <li>Clipboard functions | |
220 | <li>Resources (for use with wxIDE-to-be) | |
221 | <li>Drag and Drop | |
222 | <li>Threads, Interprocess communication | |
223 | <li>Sockets | |
224 | <li>Database classes | |
225 | </dl> | |
226 | ||
227 | <p> | |
228 | <hr> | |
229 | <h3>Installation of wxGTK under Linux</h3> | |
230 | ||
231 | GTK requires an up-to-date version of the | |
232 | <dl> | |
233 | <li> GTK (GIMP ToolKit) | |
234 | </dl> | |
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. | |
241 | <p> | |
242 | Compilation itself works as usual with autoconf: | |
243 | <dl> | |
244 | <li> Unpack it to a suitable subdirectory, let's say ~/wxGTK | |
245 | <li> Type "cd wxGTK" | |
246 | <li> Type "configure" | |
247 | <li> Type "make" | |
248 | </dl> | |
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). | |
254 | <p> | |
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) | |
258 | and run "ldconfig". | |
259 | <p> | |
260 | ||
261 | <hr> | |
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. | |
265 | <p> | |
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). | |
273 | <p> | |
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>. | |
276 | ||
277 | <p> | |
278 | Unsubscribe by sending "unsubscribe wxxt" to majordomo (see above). Not to | |
279 | the actual mailing list. | |
280 | <p> | |
281 | <hr> | |
282 | <address> | |
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. | |
285 | <p> | |
286 | Last changed 15th Mai '98. | |
287 | </address> | |
288 | </body> | |
289 | </html> | |
290 | ||
291 | ||
292 |