]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/gtk/changes.txt
Correct GTK version check
[wxWidgets.git] / docs / gtk / changes.txt
index 23fb6c6fbeea7fd763b7122ba1a5c7e1b559e18d..cc2b07e78b2da944b257c1dcd357a4d0b68910dc 100644 (file)
@@ -1,667 +1,4 @@
 
 
-25th October '99: My birthday, wxWindows 2.1.10 released
-
-Enlightment has struck the majority of the developers and
-they have chosen ti use the Linux kernel numbering scheme
-for wxWindows from now on. This means that the next stable
-release will be called wxWindows 2.2.X, development snapshots
-will be called 2.1.X.
-
-A lot of discussion has been wasted on how to maintain a
-once released stable version will be maintained. It was
-almost universally agreed that only a commercial entity
-will have the motivation ($$$) to do that - so far there
-is no wxWindows Inc.
-
-Support for GTK 1.0 has been dropped.
-
-Many build fixes for various platforms have been applied,
-try again, poor HP-UX and *BSD users, but don't reckon
-with immediate success.
-
-My total rewrite of the wxWindows underlying GTK widget
-has turned scrolling including subwindows from barely
-functional to pretty and fast.
-
-wxSocket and Co. have been improved up to the point of
-calling it a rewrite. It works on wxMSW now too and
-seems pretty stable, but testing is still welcome.
-
-The ODBC classes contributed by Remstar Inc. have been
-overhauled (incl the sample) and have been tested with
-all relevant SQL databases (even DBase). For that reason
-I have reawakened the iODBC code from wxGTK 2.0 so you
-can now use wxODBC from wxMSW and wxGTK.
-
-Several printing things fixed.
-
-HTML widget and its wxWindows' help system based upon
-it have been reorganized and improved for easier use
-from Python and C++.
-
-wxSpinCtrl added. Like a wxSpinButton and a wxTextCtrl.
-
-Changed the beaviour of the popular new wxFileDialog to
-not forget the once typed file name when changing the
-directory.
-
-Implemented the wxSIMPLE_BORDER flag (simple black line
-without shadow affect).
-
-Michael is writing a complete rewrite of the antiquated
-wxGrid. This is still work-in-progress and might not make
-it into wxWindows 2.2, we'll see. Help would be welcome
-to make that happen.
-
-Made wxMenu code lose less memory, also added wxMenu::Delete().
-
-Added code to send wxActivateEvent to MDI windows.
-
-Vadim added configure things to compile wxWindows without any
-GUI library. This is probably work in progress. He'll also add
-a wxFontEnumerator class and has enhanced wxFont to make use
-of char-encodings.
-
-wxSlider, wxWindow, wxScrollBar now emit the correct events
-for scrolling (like page up, line up etc) instead of just
-"thumb-track" as before.
-
-Corrected bug in Reparent() code.
-
-A handler to read PCX file (in most variants) has been added.
-
-A number of problems with compressed and socket streams have
-been solved.
-
-28th August '99: Ninth wxGTK 2.1 snapshot released
-
-As the old makefile system didn't work, I trashed it and wrote
-a new one - mo more GNU. This, of course, caused a lot of people
-to start sing their song of complaints - any change is a good 
-opportunity to complain, but the effect of the change is that
-we now have shared library support on Linux and Solaris (and
-probably others as well) and that the Linux shared library no
-longer depends on libstdc++, so that we can finally create an
-RPM that works on different Linux distributions. Also, the
-Unix make system is now much simpler and directly mirrors its
-Windows counterparts, making it easier to understand and maintain.
-As it is independent of the various GNU tools, the requirements
-for using CVS versions are also much less (any make, any compiler,
-no other tools).
-
-Split RPMs into two, one for run-time requirements and one
-for developement (mostly headers).
-
-Addition of new layout classes that work like Java's, GTK's
-or Qt`s - basically, you pack item in a box and let it tell
-you how much space it needs. These class are called wxSizer
-and I consider them a great addition as they make true cross-
-platform dialogs a child's play and are very quick to write
-and easy to read. Do consider using them.
-
-Rewritten all dialogs to make use of the new sizers. Also
-added a new wxFileDialog like Win95 and replaced the generic
-wxFontDialog with GTK's native font selection dialog - this
-probably isn't perfect though.
-
-A few more fixes to wxListCtrl and wxTreeCtrl, implemented
-more options and modes like the wxMSW version.
-
-New handler for PNM files. Added CanRead() function to image
-handlers, updates to GIF handler for preparing the new wxAnimation
-class. We'll also get a PCX and hopefully a TIFF handler so
-that we support all common general-purpose file formats I know
-about. PhotoShop and PhotoPaint images are not general purpose.
-I also tried to correct a wxImage bug in connection with big-endian
-vs. little-endian problems, but I have no Sparc to actually test
-this.
-
-Inclusion of wxMultiMedia. Can play most sound formats on GTK
-and MSW and (using xanim on Unix and Win95's MM functions)
-display a video in a wxWindow. This will probably be moved to
-the core library.
-
-Small updates to socket code. The MSW version is still missing.
-
-Implemented wxBitmapDataObject class.
-
-Added wxFFileStream using FILE* instead if file desrcriptor.
-Useful for creating a "cerr" like class as in normal C++.
-Also added "endl" for use with wxTextStream and fixed a few
-minor problems with buffered streams etc.
-
-Corrected Tabbing code in wxPanel and made it work with wxNotebook.
-
-Small cursor fixes in connection with text control.
-
-Added experimental wxWizard class. Work in progress.
-
-A few more minor fixes.
-
-6th August '99: Eight wxGTK 2.1 snapshot released
-
-The new makefile system is not able to produce shared libraries 
-on Unix with the exception of Linux - libtool is really great.
-Therefore, the build system defaults to static libraries on
-anything but Linux for now.
-
-Work in wxPen, wxBrush and wxDC to match wxMSW more exactly and
-to implement missing feature etc.
-
-Reimplemented radio buttons. The first of a group of such buttons
-is now marked by having the wxRB_GROUP style.
-
-Complete redesign of all stream classes, including tests for them
-in the samples.
-
-Controls now send the same messages (or more importantly none if
-changed programmatically) as per wxMSW.
-
-New implementation of wxSocket using an intermediate library called
-GSocket. This willl hopefully change in the future.
-
-Reworked in-place editing of wxListCtrl and wxTreeCtrl.
-
-Fixed bug reporting two refreshes when scrolling.
-
-Corrected bug in wxComboBox client data code.
-
-Corrected reported but unverified bug in BMP loading code.
-
-Added a few more methods to wxStaticBitmap.
-
-Integration of wxHTML code in the main library, including wxZIPStream,
-wxFilesystem, wxHTMLHelpController and others.
-
-Added a wrapper for ffile() etc functions.
-
-Updates to wxDynamicLibrary.
-
-New documentation.
-
-New version of wxPython, of course.
-
-Fixed in unenclosed number of other bugs...
-
-25th June '99: Seventh wxGTK 2.1 snapshot released
-
-Many fixes to th new makefile system. The last version gave
-immediate crashes on all Unices except Linux when linked
-dynamically against an application. I reordered the object
-files in the library as I guess that this was the cause.
-
-Added icons to message box. This also slightly killed the
-layout so this needs to be changed again.
-
-wxGTK now chooses the best visual available on the display instead
-of the default one.
-
-Fixed wxProgressDialog again.
-
-Some more corrections I forgot.
-
-New wxPython (includes new layout system and printing).
-
-15th June '99: Sixth wxGTK 2.1 snapshot released
-  
-The biggest change is the completely rewritten configure/makefile
-system using automake. The main argument for switching to automake
-is that the resulting makefiles should be more portable so that
-people can use the native make utilities instead of GNU make. The
-new makefile sytem also handles dependencies correctly, allows for
-shared-only compilation, can be invoked from any directory for
-concurrent builds wihtin one source tree, uses libtool for greater
-shared-library platform support, has a functinonal "make uninstall",
-works with GTK, Motif and WINE, conforms better to GNU standards
-as far as configure option names are concerned and is easier to 
-maintain.
-Applied patches to compile wxGTK on OS/2.
-Configure checks for byte-order and new defines for byte swapping
-with respect to the byte-order. Added test for this to typetest sample.
-Also made BMP handler bigendian safe so that it should work on 
-Solaris and such. 
-Small changes to basic drawing stuff: made wxColour actually compare 
-RGB values in the == operator, added new constructor to wxMask,
-corrected initial background colour for DCs, it is now possible
-to use a wxWindowDC etc before there is any window (this doesn't
-make any sense, but it is what wxMSW does.)
-Added support for the PRIMARY SELECTION to the wxClipboard
-class.
-Fixed redraw bug when scrolling window-less widgets out
-of the visible area (actually a work-around for a GTK bug).
-Regrouped some samples, created new one for various versions
-of the wxTextCtrl.
-Added wxWindow::Reparent() and wxFrame::MakeModal().
-Improved handling of column width in wxListCtrl and made
-this more compatible with the wxMSW version. Also removed
-a bug from the wxImageList returning an off-by-one id for
-added images.
-Fixed keyboard hotkeys and resizing for wxMDIChildFrame
-menu bars.
-Added flag to wxSplitterWindow to update its children's
-sizes "live" instead of moving a XOR'ed bar around - this
-is a resource-draining option. Also corrected cursors
-in splitter window.
-New way to show "disabled" or greyed toolbar items.
-Rewrote parts of the tree ctrl to allow multiple selections
-and variable size items (Sylvain). These new function do not
-exist in the native Win32 tree control.
-Implemented global cursors and wxBusyCursor etc. Also removed
-another cursor misbehaviour.
-Updated many parts of the documentation to reflect changes
-in wxWindows 2.1, wxPython and more exact description of
-cross-platform issues as well as platform differences.
-Many other fixes, mainly by others...
-Further compile fixes for different architectures.
-
-  
-25th May '99: Fifth wxGTK 2.1 snapshot released
-  
-
-This is mostly a bug-fix release. We are having funny
-times to make wxGTK work well with different micro
-versions of GTK 1.2 - which is very close to impossible.
-All versions give warnings, although their number might
-vary a lot. I use GTK 1.2.3 and only get wanrnings in
-one sample (notebook) and that one is due to a bug in
-GTK - some people using GTK 1.2.2 reported hundreds of warnings
-getting spitted out for what seems like no reason.
-This snapshot contains the beginnings of our merging of
-headers, meaning that in the future all ports will
-use the same headers and will share a lot more code.
-We have taken this moment to reorganize some code and
-hope to have eliminated much bad C++ code, as reported
-primarily by SGI's compilers (Vadim Zeitlin).
-Rewritten char and key event propagation routines
-to reflect documentation and do the same on wxGTK
-as on wxMSW. If you are interested in ascii chars
-and cursor key etc, intercept EVT_CHAR, if you 
-are interested in which key actually got pressed,
-intercept EVT_KEYDOWN (Norbert Irmer).
-Control that are given -1 as their ID no longer
-get arbitrary positive IDs assigned but arbitrary
-negative IDs. This had caused some trouble with ID clashes.
-wxWindow and wxScrolledWindow no longer use the
-wxScrollEvent, but the newly invented wxScrollWinEvent
-so that no mixing up of events sent from wxSliders
-or wxScrollbars placed in a wxWindow can occur.
-Added wxProgressDialog for use with long background
-work such as printing.
-Added drawing sample and scrolling sample, both of
-which show some misbehaviours...
-When drawing with the wxXOR logical mode, wxGTK now uses
-GdkXOR (instead of GdkInvert) and when drawing in wxINVERT logical
-mode, wxGTK now uses GdkInvert (as before). When you did some
-rubberband dragging and you used wxXOR and a black pen, then
-you should change wxINVERT.
-Applied more patches for SGI and HP-UX compilation.
-More updates for wxSockets (Guilhem Lavaux). Seems to be nearly
-finished.
-You can now use threads within your GUI again. Well, 
-at least if you know what you are doing and you had a look 
-at the threads sample.
-wxGLCanvas updated so that it can share display lists
-over several windows and to not exhibit any flicker. 
-(Norber Irmer).
-wxNotebook revamped so that its process of creation matches
-wxMSW's more closely, also avoiding problems with wrong page
-number. Added InsertPage() and the possibility to prevent
-switching pages by intercepting the PAGE_CHANGING event. Also,
-wxNotebooks now get shown even if all pages are empty.
-Added Activate() to wxMDIChildFrame (Russel).
-Improved wxSplitterWindow behaviour and visual feed-back when
-given a minimal size etc (Bruce DeVisser).
-Minor updates to wxTreeCtrl, wxListBox, printing, wxClipboard,
-wxString, wxThreads and many others.
-Also wxMSW got a big face-lift, not to mention the new wxMac release...
-                       
-  
-11th May '99: Fourth wxGTK 2.1 snapshot released
-  
-This is mostly a bug-fix release. This affects wxSocket, wxThread,
-and a few GUI classes. Also more work has been done and window
-placement and decorations etc. which we hope to have finished now.
-Applied patches for FreeBSD and SGI compilation (not yet finshed).
-Updated wxPython to beta 9.
-Made wxGLCanvas work again - strangely it flickers now...
-wxStaticText is currently broken with GTK 1.2.2 (which I don't
-yet have and thus could not fix). Also, scrolling subwindows
-(although much improved including a sample) doesn't work perfectly
-due to a bug in GTK 1.2.1 (probably 1.2.2 as well).
-Added wxStaticLine.
-  
-Note that the next release might bring about changes to keyboard
-handling and scroll event intercepting from wxScrolledWindow. 
-By and large much of the code has stabilized and won't be much
-different in the final wxWindows 2.1 release. Please test as
-much as you can.
-The next release will have a new build system.
-
-  
-3rd May '99: Third wxGTK 2.1 snapshot released
-  
-Updated INSTALL.txt and SYMBOLS.txt.
-Support for Unicode is now almost complete. Most samples work in
-both Unicode and non-Unicode mode. Thanks to Ove Kaaven and Vadim.
-Internal changes required for wxOLE and addition of a very experimental
-wxOLE code section using GNOME's Bonobo library (from GNOME's CVS).
-New version of wxPython that works with the wxGTK 2.1.
-This now includes a very comprensive test/demo suite. Thanks to
-Robin Dunn, Harm v.d. Heijden and others. Beware of the hang-man...
-More fine tuning of focus handling and GUI widgets.
-Complete rewrite of wxSocket classes (still experimental).
-Thanks to Guilhem Lavaux.
-  
-wxMenuBar supports underlined shortcuts like Windows does,
-indicated by a leading & character. wxMenus now have hotkeys
-such as in wxXt and wxMSW.
-  
-Rewritten MDI subsystem.
-  
-Correcetions and additions to the printing framework including
-a paper type database (Julian).
-Several controls now support more style flags for modifying
-look (and feel) of the controls and windows.
-New implementation of idle handlers, which now send an idle
-event only once after the event queue has been emptied (which
-is what happens in the wxMSW port as well), not regularly.
-This no longer forces wxGTK applications to sleep (by having
-to call usleep()) in idle time - giving more CPU slices to
-the application if desired.
-wxGLCanvas (the OpenGl for wxWindows) now accepts keyboard input.
-The usual number of compile and bug fixes from all involved.
-
-  
-21st April '99: Second wxGTK 2.1 snapshot released
-  
-Added much code for Unicode support. Still experimental, but looks very
-cool - thanks to Ove Kaaven and Vadim Zeitlin. If you are very brave, then
-you can compile wxGTK with "configure --with-unicode".
-More updates on the dreaded issue of making frames and dialogs impossible
-to resize etc.
-Drag and Drop works now under GTK 1.2 - at least basically when dragging
-and dropping text. The API is not entirely fixed yet but seems quite
-good now. Support for different actions (copy/move/link/..) still missing.
-I also removed support for GTK 1.0 Drag and Drop - this is just broken
-and unusable in GTK 1.0 and I don't want to fix it.
-I now embed the JPEG library and handlers for JPEG and GIF have been
-added to the existing PNG and BMP (and XPM for GTK version only). In
-the future, the RPMs will not contain these libraries but depend on
-the image libraries to be preinstalled whereas the source *.tgz will
-ship with everything that is needed for wxGTK so that no downloading
-of ten image libs will be required - also avoiding problems with ten
-different kinds of libJPEG-6.0.1.7.IV beta 7. We also updated the
-PNG code to the newest PNG version.
-wxImage now makes use of the fast rendering code as provided by
-GTK 1.2 whenever possible. This should mean a speed-up for graphics
-heavy apps.
-Many fixes all over. Also should compile with GTK 1.2.0 as opposed
-to only with GTK 1.2.1 now.
-wxPython still doesn't compile, I think.
-
-  
-12th April '99: First wxGTK 2.1 snapshot released
-  
-This is the first developers' version of wxWindows 2.1 for GTK. It's main
-new feature is that it supports GTK 1.2 (as opposed to GTK 1.0) which
-will make development within the GNOME evironment a lot easier.
-Apart from the move to GTK 1.2 and the changes (some major) that were
-required as part of that work, enhancement or corrections have been
-made to many of the non-GUI classes and functions (such as wxClipboard, 
-wxThread, wxSocket, wxConfig)
-and a few GUI classes (accelerators in menus, listbox always with
-scrollbar, wxFrame honours Motif Window Manager hints, corrected tab
-traversal for broken GTK 1.0 widgets).
-There have been slight changes to the priting dialogs and their
-setup data (which might break apps using this code in previous
-versions). Also, a bug concerning printing white has been fixed
-(actually not tested).
-Although this is only the first 2.1 snapshot, there is little reason not
-to use it as many bugs from version 2.0 have been corrected. There are,
-pf course, still a few problem left with GTK 1.2 (some of which relate
-to bugs in GTK).
-I think I preserved backward compatility with GTK 1.0 and if not it
-should be easy to fix - but mostly I don't care.
-Drag'N'Drop is currently completely broken. Also, wxPython currently
-doesn't compile with this release. The OpenGL canvas still seems to
-work.
-Major targets for the final release (still a long way): a new configure
-system, support JPEG and GIF formats, wxHTML, super-duppah frame layout
-stuff, syntax-highlighting editor, possibly Unicode, possibly some GNOME 
-gooddies, possibly world domination.
-
-  
-5th March '99: wxWindows 2.0 released
-  
-This is the final version of wxWindows 2.0 for GTK. The versions for
-Windows and Motif (and also this version) are available form Julian Smart's
-site. The Mac version is still under development.
-
-  
-19th February '99: wxWindows 2.0 beta 5
-  
-This is the fifth beta release and it contains mostly bug fixes and
-updates for documentation.
-Applied compile fixes for Solaris (different flavours and compilers).
-
-  
-12th February '99: wxWindows 2.0 beta 4
-  
-This is the fourth beta release and it contains mostly bug fixes and
-updates for documentation.
-Tracked a few more cases, where the bahaviour between wxMSW and wxGTK
-differed. This was the case for closing a dialog or frame as well as
-for clearing a device context or setting its background colour and some
-other minor details.
-Most standard dialogs have been face-liftet a little.
-Implememted default buttons for GTK.
-Fixed many bugs. You guessed it.
-
-  
-29th January '99: wxWindows 2.0 beta 3
-  
-This is the third beta release and it contains mostly bug fixes. 
-There is one field where we haven't been able to fix the API yet, and that
-it Drag'n'Drop. This is mostly due to the fact that DnD in
-GTK 1.0 is hardly usable and much different from GTK 1.2 which means that
-we have to design a common API for Windows, GTK 1.0 and GTK 1.2. Although
-we are trying to prevent that, it is possible that wxWindows 2.0 (being
-based on GTK 1.0) will not have proper DnD support.
-The major changes are that tool tips have been added, threads have been completely 
-rewritten, the ODBC code has been updated and improved, the socket code works 
-better now.
-Classes for managing MIME-types under Windows and Unix have been added.
-There is now a wxGLCanvas class for OpenGl/Mesa for the Windows, GTK and
-Motif ports. Come see the penguins flying...
-Documentation has received a big face lift - it now covers nearly all the
-classes, at least.
-The usual amount of bug fixes. Countless.
-A few member functions of wxString have been renamed.
-For those who are using the ever-so-popular wxImage class (which
-now available on Motif and Windows as well) in 8-bit mode: wxGTK
-now creates a color cube upon start-up in 8-bit mode and thus the
-generation of bitmaps from images has been speeded up 20 times.
-It is now possible to develop with wxGTK without having the GTK 1.0 header
-files installed so that having the GTK 1.2 header files installed no longer
-is any problem. We also provide RPMs for RedHat glibc 2 based systems, compiled
-with egcs 1.1.1 on SuSE 6.0. Note that the RPM will   not   work in
-SuSE 6.0 as SuSE decided to ship 6.0 with a broken GTK+ package.
-
-  
-6th January '99: wxWindows 2.0 beta 2
-  
-This is the second beta release and contains it mostly build and
-bug fixes. Threads work well now on (up-to-date) glibc 2 systems,
-commercial Unices and Windows.
-                       
-  
-20th December '98: wxWindows 2.0 beta 1
-  
-This is the first beta release and we have used the time before
-this release to tidy up some parts of the API. All releases from
-now on will be source code compatible but we reserve binary compatibility
-for the final release. Because of this, the actual library name of
-the beta version will not be 2.0 but 1.99, so that we prevent 
-conflicts with the final library later on. After the final release
-we'll only fix bugs so that there will be no reason to link any
-program statically with wxGTK.
-We changed the name of the shared library to include the version of
-the GTK used so that no conflicts emerge with simultaneous
-versions of wxWindows for GTK 1.0 and for GTK 1.2 and so on.
-As you can see, we have not moved to GTK 1.1.X as the different
-development versions are too different and buggy to be useful. We'll
-wait for a stable GTK 1.2 release (hardly 1.2.0) and start porting
-then.
-wxGTK now compiles without problems on anything between gcc 2.7.2 on
-Linux-x86 and egcs 1.1 on Linux-Alpha and egcs 1.0 on Sparc. This isn't
-as easy as it sounds...
-Available form this site are the Python bindings of wxWindows.
-Thanks to Robin Dunn for this tremendous contribution.
-Tkinter is dead, Java is dead, wxPython rules! That's all there is to say.
-Although only a few new classes have been added, many have been polished
-up substantially, the most visible are wxListCtrl, wxTreeCtrl and
-all classes related to printing. Also the DialogEd now functions
-much better than before. Drag'n'Drop is fucntional but probably won't 
-be perfect until we use GTK 1.2 and its much improved DnD features.
-wxClipboard has arrived and works for text. Other formats have not been
-tested carefully yet.
-wxMiniFrame has been added which might be useful for docking toolbars
-etc. Someone has already done that for the MSW port and we hope to
-include his very nice work later.
-wxDirDialog has been added (thanks to Harm von der Heijden).
-The entite "tab traveral" system for moving from item to item in
-a dialog has been rewritten. It now completely overrides the
-not-so-well-done GTK native tab system.
-Quite much has been done to improve the wxImage class, which is now
-available in the Windows port as well. Very useful for anything related
-to image processing. wxGTK also uses this class internally e.g. to scale
-bitmaps when the scale factor (e.g. zooming) of a drawing context
-has changed.
-  
-Some of the small and handy classes (wxDate, wxTime, wxVariant) have
-received a face-lift. wxList has been rewritten to make it possible
-to write type-safe lists. The collection of utility functions (wxFileFind etc)
-has been revamped and cleaned-up (thanks to Vadim Zeitlin, who has also
-greatly enhanced many basic classes, ranging wxString to the debug and
-log system).
-We removed some constructors of GDI classes (such as wxPen, wxColour)
-which took a pointer as a parameter. This lead to many errors among users
-resulting in unexpected behaviour so it was decided to remove these
-constructors.
-As the number of users and the number of test programs and samples
-is steadialy rising the core classes of wxWindows for MSW and GTK 1.0
-can be considered to be very stable if not outright bug-free. I haven't
-seen a crash for weeks now and wxWindows' internal debug features also
-have improved every week, making stepping-through with a debugger almost
-completely unnecessary as the library reports possible errors itself
-(when in debug mode).
+There is now a common file changes.txt for
+the entire wxWidgets library.