2 25th October '99: My birthday, wxWindows 2.1.10 released
4 Enlightment has struck the majority of the developers and
5 they have chosen to use the Linux kernel numbering scheme
6 for wxWindows from now on. This means that the next stable
7 release will be called wxWindows 2.2.X, development snapshots
10 A lot of discussion has been wasted on how to maintain a
11 once released stable version will be maintained. It was
12 almost universally agreed that only a commercial entity
13 will have the motivation ($$$) to do that - so far there
16 Support for GTK 1.0 has been dropped. This version has
17 been tested with GTK 1.2.3 and GTK 1.2.6 - it is known
18 not work with some other versions.
20 Rewritten the support for multiple-format Drag'n'Drop and
21 clipboard under both GTK and MSW. There are probably some
22 problems here and there left.
24 wxListBox and wxChoice can now handle only either void
25 client data (which it will not delete on destruction) or
26 client data of the wxClientData type (which it will delete),
27 instead of both at the same time. The same will happen
28 to wxComboBox some time. Also, wxListBox can now sort its
31 Many build fixes for various platforms have been applied,
32 try again, poor AIX, HP-UX and *BSD users, but don't reckon
33 with immediate success. Actually, when using GNU compilers,
34 your chances are quite good.
36 My rewrite of the wxWindows underlying GTK widget
37 has turned scrolling including subwindows from barely
38 functional to pretty and fast. I also added scrolling
39 of foreign windows to wxScrolledWindow.
41 Setting size hints for the window manager might work now.
43 wxSocket and Co. have been improved up to the point of
44 calling it a rewrite. It works on wxMSW now too and
45 seems pretty stable, but testing is still welcome.
47 The ODBC classes contributed by Remstar Inc. have been
48 overhauled (incl the sample) and have been tested with
49 all relevant SQL databases (even DBase). For that reason
50 I have reawakened the iODBC code from wxGTK 2.0 so you
51 can now use wxODBC from wxMSW and wxGTK.
53 Several printing things fixed.
55 HTML widget and the wxWindows' help system based upon
56 it have been reorganized and improved for easier use
57 from Python and C++. Also HTML printing has been added.
59 wxSpinCtrl added. Like a wxSpinButton and a wxTextCtrl.
61 Changed the beaviour of the popular new wxFileDialog to
62 not forget the once typed file name when changing the
65 Implemented the wxSIMPLE_BORDER flag (simple black line
66 without shadow affect).
68 Michael is writing a complete rewrite of the antiquated
69 wxGrid. This is still work-in-progress and might not make
70 it into wxWindows 2.2, we'll see. Help would be welcome
73 Made wxMenu code lose less memory, also added wxMenu::Delete().
75 Added code to send wxActivateEvent to MDI windows.
77 Vadim added configure things to compile wxWindows without any
78 GUI library. This is probably work in progress. He'll also add
79 a wxFontEnumerator class and has enhanced wxFont to make use
82 wxSlider, wxWindow, wxScrollBar now emit the correct events
83 for scrolling (like page up, line up etc) instead of just
84 "thumb-track" as before.
86 Corrected Reparent() code.
88 Corrected key accelerator code for toplevel child windows.
90 Corrected cursor handling in a number of special cases.
92 wxGLCanvas now waits until all expose events have been sent
93 and then emits its own redraw event. Also removed flicker
94 for wxGLCanvas and in some other places.
96 A handler to read PCX file (in most variants) has been added.
98 A number of problems with compressed and socket streams have
101 28th August '99: Ninth wxGTK 2.1 snapshot released
103 As the old makefile system didn't work, I trashed it and wrote
104 a new one - mo more GNU. This, of course, caused a lot of people
105 to start sing their song of complaints - any change is a good
106 opportunity to complain, but the effect of the change is that
107 we now have shared library support on Linux and Solaris (and
108 probably others as well) and that the Linux shared library no
109 longer depends on libstdc++, so that we can finally create an
110 RPM that works on different Linux distributions. Also, the
111 Unix make system is now much simpler and directly mirrors its
112 Windows counterparts, making it easier to understand and maintain.
113 As it is independent of the various GNU tools, the requirements
114 for using CVS versions are also much less (any make, any compiler,
117 Split RPMs into two, one for run-time requirements and one
118 for developement (mostly headers).
120 Addition of new layout classes that work like Java's, GTK's
121 or Qt`s - basically, you pack item in a box and let it tell
122 you how much space it needs. These class are called wxSizer
123 and I consider them a great addition as they make true cross-
124 platform dialogs a child's play and are very quick to write
125 and easy to read. Do consider using them.
127 Rewritten all dialogs to make use of the new sizers. Also
128 added a new wxFileDialog like Win95 and replaced the generic
129 wxFontDialog with GTK's native font selection dialog - this
130 probably isn't perfect though.
132 A few more fixes to wxListCtrl and wxTreeCtrl, implemented
133 more options and modes like the wxMSW version.
135 New handler for PNM files. Added CanRead() function to image
136 handlers, updates to GIF handler for preparing the new wxAnimation
137 class. We'll also get a PCX and hopefully a TIFF handler so
138 that we support all common general-purpose file formats I know
139 about. PhotoShop and PhotoPaint images are not general purpose.
140 I also tried to correct a wxImage bug in connection with big-endian
141 vs. little-endian problems, but I have no Sparc to actually test
144 Inclusion of wxMultiMedia. Can play most sound formats on GTK
145 and MSW and (using xanim on Unix and Win95's MM functions)
146 display a video in a wxWindow. This will probably be moved to
149 Small updates to socket code. The MSW version is still missing.
151 Implemented wxBitmapDataObject class.
153 Added wxFFileStream using FILE* instead if file desrcriptor.
154 Useful for creating a "cerr" like class as in normal C++.
155 Also added "endl" for use with wxTextStream and fixed a few
156 minor problems with buffered streams etc.
158 Corrected Tabbing code in wxPanel and made it work with wxNotebook.
160 Small cursor fixes in connection with text control.
162 Added experimental wxWizard class. Work in progress.
164 A few more minor fixes.
166 6th August '99: Eight wxGTK 2.1 snapshot released
168 The new makefile system is not able to produce shared libraries
169 on Unix with the exception of Linux - libtool is really great.
170 Therefore, the build system defaults to static libraries on
171 anything but Linux for now.
173 Work in wxPen, wxBrush and wxDC to match wxMSW more exactly and
174 to implement missing feature etc.
176 Reimplemented radio buttons. The first of a group of such buttons
177 is now marked by having the wxRB_GROUP style.
179 Complete redesign of all stream classes, including tests for them
182 Controls now send the same messages (or more importantly none if
183 changed programmatically) as per wxMSW.
185 New implementation of wxSocket using an intermediate library called
186 GSocket. This willl hopefully change in the future.
188 Reworked in-place editing of wxListCtrl and wxTreeCtrl.
190 Fixed bug reporting two refreshes when scrolling.
192 Corrected bug in wxComboBox client data code.
194 Corrected reported but unverified bug in BMP loading code.
196 Added a few more methods to wxStaticBitmap.
198 Integration of wxHTML code in the main library, including wxZIPStream,
199 wxFilesystem, wxHTMLHelpController and others.
201 Added a wrapper for ffile() etc functions.
203 Updates to wxDynamicLibrary.
207 New version of wxPython, of course.
209 Fixed in unenclosed number of other bugs...
211 25th June '99: Seventh wxGTK 2.1 snapshot released
213 Many fixes to th new makefile system. The last version gave
214 immediate crashes on all Unices except Linux when linked
215 dynamically against an application. I reordered the object
216 files in the library as I guess that this was the cause.
218 Added icons to message box. This also slightly killed the
219 layout so this needs to be changed again.
221 wxGTK now chooses the best visual available on the display instead
224 Fixed wxProgressDialog again.
226 Some more corrections I forgot.
228 New wxPython (includes new layout system and printing).
230 15th June '99: Sixth wxGTK 2.1 snapshot released
233 The biggest change is the completely rewritten configure/makefile
234 system using automake. The main argument for switching to automake
235 is that the resulting makefiles should be more portable so that
236 people can use the native make utilities instead of GNU make. The
237 new makefile sytem also handles dependencies correctly, allows for
238 shared-only compilation, can be invoked from any directory for
239 concurrent builds wihtin one source tree, uses libtool for greater
240 shared-library platform support, has a functinonal "make uninstall",
241 works with GTK, Motif and WINE, conforms better to GNU standards
242 as far as configure option names are concerned and is easier to
245 Applied patches to compile wxGTK on OS/2.
247 Configure checks for byte-order and new defines for byte swapping
248 with respect to the byte-order. Added test for this to typetest sample.
249 Also made BMP handler bigendian safe so that it should work on
252 Small changes to basic drawing stuff: made wxColour actually compare
253 RGB values in the == operator, added new constructor to wxMask,
254 corrected initial background colour for DCs, it is now possible
255 to use a wxWindowDC etc before there is any window (this doesn't
256 make any sense, but it is what wxMSW does.)
258 Added support for the PRIMARY SELECTION to the wxClipboard
261 Fixed redraw bug when scrolling window-less widgets out
262 of the visible area (actually a work-around for a GTK bug).
264 Regrouped some samples, created new one for various versions
267 Added wxWindow::Reparent() and wxFrame::MakeModal().
269 Improved handling of column width in wxListCtrl and made
270 this more compatible with the wxMSW version. Also removed
271 a bug from the wxImageList returning an off-by-one id for
274 Fixed keyboard hotkeys and resizing for wxMDIChildFrame
277 Added flag to wxSplitterWindow to update its children's
278 sizes "live" instead of moving a XOR'ed bar around - this
279 is a resource-draining option. Also corrected cursors
282 New way to show "disabled" or greyed toolbar items.
284 Rewrote parts of the tree ctrl to allow multiple selections
285 and variable size items (Sylvain). These new function do not
286 exist in the native Win32 tree control.
288 Implemented global cursors and wxBusyCursor etc. Also removed
289 another cursor misbehaviour.
291 Updated many parts of the documentation to reflect changes
292 in wxWindows 2.1, wxPython and more exact description of
293 cross-platform issues as well as platform differences.
295 Many other fixes, mainly by others...
297 Further compile fixes for different architectures.
301 25th May '99: Fifth wxGTK 2.1 snapshot released
305 This is mostly a bug-fix release. We are having funny
306 times to make wxGTK work well with different micro
307 versions of GTK 1.2 - which is very close to impossible.
308 All versions give warnings, although their number might
309 vary a lot. I use GTK 1.2.3 and only get wanrnings in
310 one sample (notebook) and that one is due to a bug in
311 GTK - some people using GTK 1.2.2 reported hundreds of warnings
312 getting spitted out for what seems like no reason.
314 This snapshot contains the beginnings of our merging of
315 headers, meaning that in the future all ports will
316 use the same headers and will share a lot more code.
317 We have taken this moment to reorganize some code and
318 hope to have eliminated much bad C++ code, as reported
319 primarily by SGI's compilers (Vadim Zeitlin).
321 Rewritten char and key event propagation routines
322 to reflect documentation and do the same on wxGTK
323 as on wxMSW. If you are interested in ascii chars
324 and cursor key etc, intercept EVT_CHAR, if you
325 are interested in which key actually got pressed,
326 intercept EVT_KEYDOWN (Norbert Irmer).
328 Control that are given -1 as their ID no longer
329 get arbitrary positive IDs assigned but arbitrary
330 negative IDs. This had caused some trouble with ID clashes.
332 wxWindow and wxScrolledWindow no longer use the
333 wxScrollEvent, but the newly invented wxScrollWinEvent
334 so that no mixing up of events sent from wxSliders
335 or wxScrollbars placed in a wxWindow can occur.
337 Added wxProgressDialog for use with long background
338 work such as printing.
340 Added drawing sample and scrolling sample, both of
341 which show some misbehaviours...
343 When drawing with the wxXOR logical mode, wxGTK now uses
344 GdkXOR (instead of GdkInvert) and when drawing in wxINVERT logical
345 mode, wxGTK now uses GdkInvert (as before). When you did some
346 rubberband dragging and you used wxXOR and a black pen, then
347 you should change wxINVERT.
349 Applied more patches for SGI and HP-UX compilation.
351 More updates for wxSockets (Guilhem Lavaux). Seems to be nearly
354 You can now use threads within your GUI again. Well,
355 at least if you know what you are doing and you had a look
356 at the threads sample.
358 wxGLCanvas updated so that it can share display lists
359 over several windows and to not exhibit any flicker.
362 wxNotebook revamped so that its process of creation matches
363 wxMSW's more closely, also avoiding problems with wrong page
364 number. Added InsertPage() and the possibility to prevent
365 switching pages by intercepting the PAGE_CHANGING event. Also,
366 wxNotebooks now get shown even if all pages are empty.
368 Added Activate() to wxMDIChildFrame (Russel).
370 Improved wxSplitterWindow behaviour and visual feed-back when
371 given a minimal size etc (Bruce DeVisser).
373 Minor updates to wxTreeCtrl, wxListBox, printing, wxClipboard,
374 wxString, wxThreads and many others.
376 Also wxMSW got a big face-lift, not to mention the new wxMac release...
380 11th May '99: Fourth wxGTK 2.1 snapshot released
383 This is mostly a bug-fix release. This affects wxSocket, wxThread,
384 and a few GUI classes. Also more work has been done and window
385 placement and decorations etc. which we hope to have finished now.
387 Applied patches for FreeBSD and SGI compilation (not yet finshed).
389 Updated wxPython to beta 9.
391 Made wxGLCanvas work again - strangely it flickers now...
393 wxStaticText is currently broken with GTK 1.2.2 (which I don't
394 yet have and thus could not fix). Also, scrolling subwindows
395 (although much improved including a sample) doesn't work perfectly
396 due to a bug in GTK 1.2.1 (probably 1.2.2 as well).
400 Note that the next release might bring about changes to keyboard
401 handling and scroll event intercepting from wxScrolledWindow.
403 By and large much of the code has stabilized and won't be much
404 different in the final wxWindows 2.1 release. Please test as
407 The next release will have a new build system.
411 3rd May '99: Third wxGTK 2.1 snapshot released
414 Updated INSTALL.txt and SYMBOLS.txt.
416 Support for Unicode is now almost complete. Most samples work in
417 both Unicode and non-Unicode mode. Thanks to Ove Kaaven and Vadim.
419 Internal changes required for wxOLE and addition of a very experimental
420 wxOLE code section using GNOME's Bonobo library (from GNOME's CVS).
422 New version of wxPython that works with the wxGTK 2.1.
423 This now includes a very comprensive test/demo suite. Thanks to
424 Robin Dunn, Harm v.d. Heijden and others. Beware of the hang-man...
426 More fine tuning of focus handling and GUI widgets.
428 Complete rewrite of wxSocket classes (still experimental).
429 Thanks to Guilhem Lavaux.
431 wxMenuBar supports underlined shortcuts like Windows does,
432 indicated by a leading & character. wxMenus now have hotkeys
433 such as in wxXt and wxMSW.
435 Rewritten MDI subsystem.
437 Correcetions and additions to the printing framework including
438 a paper type database (Julian).
440 Several controls now support more style flags for modifying
441 look (and feel) of the controls and windows.
443 New implementation of idle handlers, which now send an idle
444 event only once after the event queue has been emptied (which
445 is what happens in the wxMSW port as well), not regularly.
446 This no longer forces wxGTK applications to sleep (by having
447 to call usleep()) in idle time - giving more CPU slices to
448 the application if desired.
450 wxGLCanvas (the OpenGl for wxWindows) now accepts keyboard input.
452 The usual number of compile and bug fixes from all involved.
456 21st April '99: Second wxGTK 2.1 snapshot released
459 Added much code for Unicode support. Still experimental, but looks very
460 cool - thanks to Ove Kaaven and Vadim Zeitlin. If you are very brave, then
461 you can compile wxGTK with "configure --with-unicode".
463 More updates on the dreaded issue of making frames and dialogs impossible
466 Drag and Drop works now under GTK 1.2 - at least basically when dragging
467 and dropping text. The API is not entirely fixed yet but seems quite
468 good now. Support for different actions (copy/move/link/..) still missing.
469 I also removed support for GTK 1.0 Drag and Drop - this is just broken
470 and unusable in GTK 1.0 and I don't want to fix it.
472 I now embed the JPEG library and handlers for JPEG and GIF have been
473 added to the existing PNG and BMP (and XPM for GTK version only). In
474 the future, the RPMs will not contain these libraries but depend on
475 the image libraries to be preinstalled whereas the source *.tgz will
476 ship with everything that is needed for wxGTK so that no downloading
477 of ten image libs will be required - also avoiding problems with ten
478 different kinds of libJPEG-6.0.1.7.IV beta 7. We also updated the
479 PNG code to the newest PNG version.
481 wxImage now makes use of the fast rendering code as provided by
482 GTK 1.2 whenever possible. This should mean a speed-up for graphics
485 Many fixes all over. Also should compile with GTK 1.2.0 as opposed
486 to only with GTK 1.2.1 now.
488 wxPython still doesn't compile, I think.
492 12th April '99: First wxGTK 2.1 snapshot released
495 This is the first developers' version of wxWindows 2.1 for GTK. It's main
496 new feature is that it supports GTK 1.2 (as opposed to GTK 1.0) which
497 will make development within the GNOME evironment a lot easier.
499 Apart from the move to GTK 1.2 and the changes (some major) that were
500 required as part of that work, enhancement or corrections have been
501 made to many of the non-GUI classes and functions (such as wxClipboard,
502 wxThread, wxSocket, wxConfig)
503 and a few GUI classes (accelerators in menus, listbox always with
504 scrollbar, wxFrame honours Motif Window Manager hints, corrected tab
505 traversal for broken GTK 1.0 widgets).
507 There have been slight changes to the priting dialogs and their
508 setup data (which might break apps using this code in previous
509 versions). Also, a bug concerning printing white has been fixed
510 (actually not tested).
512 Although this is only the first 2.1 snapshot, there is little reason not
513 to use it as many bugs from version 2.0 have been corrected. There are,
514 pf course, still a few problem left with GTK 1.2 (some of which relate
517 I think I preserved backward compatility with GTK 1.0 and if not it
518 should be easy to fix - but mostly I don't care.
520 Drag'N'Drop is currently completely broken. Also, wxPython currently
521 doesn't compile with this release. The OpenGL canvas still seems to
524 Major targets for the final release (still a long way): a new configure
525 system, support JPEG and GIF formats, wxHTML, super-duppah frame layout
526 stuff, syntax-highlighting editor, possibly Unicode, possibly some GNOME
527 gooddies, possibly world domination.
531 5th March '99: wxWindows 2.0 released
534 This is the final version of wxWindows 2.0 for GTK. The versions for
535 Windows and Motif (and also this version) are available form Julian Smart's
536 site. The Mac version is still under development.
540 19th February '99: wxWindows 2.0 beta 5
543 This is the fifth beta release and it contains mostly bug fixes and
544 updates for documentation.
546 Applied compile fixes for Solaris (different flavours and compilers).
550 12th February '99: wxWindows 2.0 beta 4
553 This is the fourth beta release and it contains mostly bug fixes and
554 updates for documentation.
556 Tracked a few more cases, where the bahaviour between wxMSW and wxGTK
557 differed. This was the case for closing a dialog or frame as well as
558 for clearing a device context or setting its background colour and some
561 Most standard dialogs have been face-liftet a little.
563 Implememted default buttons for GTK.
565 Fixed many bugs. You guessed it.
569 29th January '99: wxWindows 2.0 beta 3
572 This is the third beta release and it contains mostly bug fixes.
574 There is one field where we haven't been able to fix the API yet, and that
575 it Drag'n'Drop. This is mostly due to the fact that DnD in
576 GTK 1.0 is hardly usable and much different from GTK 1.2 which means that
577 we have to design a common API for Windows, GTK 1.0 and GTK 1.2. Although
578 we are trying to prevent that, it is possible that wxWindows 2.0 (being
579 based on GTK 1.0) will not have proper DnD support.
581 The major changes are that tool tips have been added, threads have been completely
582 rewritten, the ODBC code has been updated and improved, the socket code works
585 Classes for managing MIME-types under Windows and Unix have been added.
587 There is now a wxGLCanvas class for OpenGl/Mesa for the Windows, GTK and
588 Motif ports. Come see the penguins flying...
590 Documentation has received a big face lift - it now covers nearly all the
593 The usual amount of bug fixes. Countless.
595 A few member functions of wxString have been renamed.
597 For those who are using the ever-so-popular wxImage class (which
598 now available on Motif and Windows as well) in 8-bit mode: wxGTK
599 now creates a color cube upon start-up in 8-bit mode and thus the
600 generation of bitmaps from images has been speeded up 20 times.
602 It is now possible to develop with wxGTK without having the GTK 1.0 header
603 files installed so that having the GTK 1.2 header files installed no longer
604 is any problem. We also provide RPMs for RedHat glibc 2 based systems, compiled
605 with egcs 1.1.1 on SuSE 6.0. Note that the RPM will not work in
606 SuSE 6.0 as SuSE decided to ship 6.0 with a broken GTK+ package.
610 6th January '99: wxWindows 2.0 beta 2
613 This is the second beta release and contains it mostly build and
614 bug fixes. Threads work well now on (up-to-date) glibc 2 systems,
615 commercial Unices and Windows.
619 20th December '98: wxWindows 2.0 beta 1
622 This is the first beta release and we have used the time before
623 this release to tidy up some parts of the API. All releases from
624 now on will be source code compatible but we reserve binary compatibility
625 for the final release. Because of this, the actual library name of
626 the beta version will not be 2.0 but 1.99, so that we prevent
627 conflicts with the final library later on. After the final release
628 we'll only fix bugs so that there will be no reason to link any
629 program statically with wxGTK.
631 We changed the name of the shared library to include the version of
632 the GTK used so that no conflicts emerge with simultaneous
633 versions of wxWindows for GTK 1.0 and for GTK 1.2 and so on.
635 As you can see, we have not moved to GTK 1.1.X as the different
636 development versions are too different and buggy to be useful. We'll
637 wait for a stable GTK 1.2 release (hardly 1.2.0) and start porting
640 wxGTK now compiles without problems on anything between gcc 2.7.2 on
641 Linux-x86 and egcs 1.1 on Linux-Alpha and egcs 1.0 on Sparc. This isn't
642 as easy as it sounds...
644 Available form this site are the Python bindings of wxWindows.
645 Thanks to Robin Dunn for this tremendous contribution.
646 Tkinter is dead, Java is dead, wxPython rules! That's all there is to say.
648 Although only a few new classes have been added, many have been polished
649 up substantially, the most visible are wxListCtrl, wxTreeCtrl and
650 all classes related to printing. Also the DialogEd now functions
651 much better than before. Drag'n'Drop is fucntional but probably won't
652 be perfect until we use GTK 1.2 and its much improved DnD features.
654 wxClipboard has arrived and works for text. Other formats have not been
655 tested carefully yet.
657 wxMiniFrame has been added which might be useful for docking toolbars
658 etc. Someone has already done that for the MSW port and we hope to
659 include his very nice work later.
661 wxDirDialog has been added (thanks to Harm von der Heijden).
663 The entite "tab traveral" system for moving from item to item in
664 a dialog has been rewritten. It now completely overrides the
665 not-so-well-done GTK native tab system.
667 Quite much has been done to improve the wxImage class, which is now
668 available in the Windows port as well. Very useful for anything related
669 to image processing. wxGTK also uses this class internally e.g. to scale
670 bitmaps when the scale factor (e.g. zooming) of a drawing context
673 Some of the small and handy classes (wxDate, wxTime, wxVariant) have
674 received a face-lift. wxList has been rewritten to make it possible
675 to write type-safe lists. The collection of utility functions (wxFileFind etc)
676 has been revamped and cleaned-up (thanks to Vadim Zeitlin, who has also
677 greatly enhanced many basic classes, ranging wxString to the debug and
680 We removed some constructors of GDI classes (such as wxPen, wxColour)
681 which took a pointer as a parameter. This lead to many errors among users
682 resulting in unexpected behaviour so it was decided to remove these
685 As the number of users and the number of test programs and samples
686 is steadialy rising the core classes of wxWindows for MSW and GTK 1.0
687 can be considered to be very stable if not outright bug-free. I haven't
688 seen a crash for weeks now and wxWindows' internal debug features also
689 have improved every week, making stepping-through with a debugger almost
690 completely unnecessary as the library reports possible errors itself
691 (when in debug mode).