under 64 bit architectures, please replace it with RemoveAt() in your
code.
+- wxArray<T> macros have been changed to fix runtime problems under 64 bit
+ architectures and as a side effect of this WX_DEFINE_ARRAY() can only be
+ used now for the pointer types, WX_DEFINE_ARRAY_INT should be used for the
+ arrays containing non-pointers.
+
- wxObject::CopyObject() and Clone() methods were removed because they
simply don't make sense for all objects
by all derived classes, if you have user-defined event classes please
add "wxEvent *Clone() const { return new MyEvent(*this); }" line to them
+- wxCondition now must be used with a mutex, please read the (updated) class
+ documentation for details and revise your code accordingly: this change was
+ unfortunately needed as the old class didn't behave correctly in all cases
+
+- small change to wxStopWatch::Pause() semantics, please see the documentation
+
+- unlikely but possible incompatibility: the definition of TRUE has changed
+ from "1" to "(bool)1" (and the same thing for FALSE), so the code which
+ could be erroneously compiled previously such as doing "return FALSE" from
+ a function returning a pointer would stop compiling now (but this change
+ is not supposed to have any effects on valid code)
+
All (GUI):
- the event type constants are not constants any more but are dynamically
but this is strongly discouraged, please consider changing your codei
instead!
+- wxDialog does not derive from wxPanel any longer - if you were using it in
+ your code, please update it. The quick fix for the most cases is to replace
+ the occurences of wxPanel with wxWindow.
+
- wxYES_NO is now wxYES | wxNO and the manifest values of both wxYES and wxNO
have changed (to fix some unfortunate clashes), please check your code to
ensure that no tests for wxYES or wxNO are broken: for example, the following
- wxGridCellAttrProvider class API changed, you will need to update your code
if you derived any classes from it
+- wxImage::ComputeHistogram()'s signature changed to
+ unsigned long ComputeHistogram(wxImageHistogram&) const
+
+- wxEvtHandler cannot be copied/assigned any longer - this never worked but
+ now it results in compile-time error instead of run-time crashes
+
+- WXK_NUMLOCK and WXK_SCROLL keys no longer result in EVT_CHAR() events,
+ they only generate EVT_KEY_DOWN/UP() ones
+
+- the dialogs use wxApp::GetTopWindow() as the parent implicitly if the
+ parent specified is NULL, use wxDIALOG_NO_PARENT style to prevent this
+ from happening
+
+
wxMSW:
- build system changed: setup.h is not a static file in include/wx any more
but is created as part of the build process under lib/<toolkit>/wx/include
where <toolkit> is of the form (msw|univ)[dll][u][d]. You'll need to update
- the include path in your make/project files appropriately.
+ the include path in your make/project files appropriately. Furthermore,
+ xpm.lib is no longer used by wxMSW, it was superseded by the wxXPMDecoder
+ class. You'll need to remove all references to xpm.lib from your
+ make/project files.
- child frames appear in the taskbar by default now, use wxFRAME_NO_TASKBAR
style to avoid it, wxFRAME_FLOAT_ON_PARENT style is now obsolete and has no
effect
+- all overloads of wxDC::SetClippingRegion() combine the given region with the
+ previously selected one instead of replacing it
+
+- wxGetHomeDir() uses HOME environment variable and if it is set will not
+ return the programs directory any longer but its value (this function has
+ never been meant to return the programs directory anyhow)
+
+- wxHTML apps don't need to include wx/html/msw/wxhtml.rc in resources file
+ anymore. The file was removed from wxMSW
+
+
Unix ports:
- You should use `wx-config --cxxflags` in your makefiles instead of
and the compiler flags for C++ files only, CFLAGS should still be used
to compile pure C files.
+
+OTHER CHANGES
+=============
+
2.3.3
-----
wxBase:
+- wxSemaphore class added, many fixed to wxCondition and wxThread (K.S. Sreeram)
- fixes to the command line parsing error and usage messages
- modified wxFileName::CreateTempFileName() to open the file atomically
(if possible) and, especially, not to leak the file descriptors under Unix
+- memory leak in wxHTTP fixed (Dimitri)
+- fixes to AM_PATH_WXCONFIG autoconf macro
+- added wxHashMap class that replaces type-unsafe wxHashTable and is modelled
+ after (non standard) STL hash_map
+- wxLocale now works in Unicode mode
+- wxLocale can now load message catalogs in arbitrary encoding
+- fixed the bug related to the redrawing on resize introduced in 2.3.2
+- added static wxFontMapper::Get() accessor (use of wxTheFontMapper is now
+ deprecated)
+
+Unix (Base/GUI):
+
+- wxWindows may be built using BSD and Solaris (and possibly other) make
+ programs and not only GNU make
+- wxTCP-based IPC classes now support communicating over Unix domain sockets
All (GUI):
+- it is now possible to set the icons of different sizes for frames (e.g. a
+ small and big ones) using the new wxIconBundle class
+- implemented radio menu items and radio toolbar buttons
+- added possibility to show text in the toolbar buttons
+- added wxArtProvider class that can be used to customize the look of standard
+ wxWindows dialogs
+- significantly improved native font support
+- wxImage::ComputeHistogram() now uses wxImageHistogram instead of type-unsafe
+ wxHashTable
+- added IFF image handler
- fixed using custom renderers in wxGrid which was broken in 2.3.2
+- support for multiple images in one file added to wxImage (TIFF, GIF and ICO formats)
+- support for CUR and ANI files in wxImage added (Chris Elliott)
+- wxTextCtrl::GetRange() added
+- added wxGetFontFromUser() convenience function
+- added EVT_MENU_OPEN and EVT_MENU_CLOSE events
+- added Hungarian translations (Janos Vegh)
+- added wxImage::SaveFile(filename) method (Chris Elliott)
+- added wxImage::FloodFill and implemented wxWindowDC::DoFloodFill method
+ for GTK+, Mac, MGL, X11, Motif ports (Chris Elliott)
+- added (platform-dependent) scan code to wxKeyEvent (Bryce Denney)
+- added wxTextCtrl::EmulateKeyPress()
+- Added wxMouseCaptureChangedEvent
+- Added custom character filtering to wxTextValidator
wxMSW:
-- huge (40*) speed up in wxMask::Create() (=> much faster toolbar creation)
+- small appearance fixes for native look under Windows XP
+- refresh the buttons properly when the window is resized (Hans Van Leemputten)
+- huge (40*) speed up in wxMask::Create()
+- changing wxWindows styles also changes the underlying Windows window style
+- wxTreeCtrl supports wxTR_HIDE_ROOT style (George Policello)
- fixed flicker in wxTreeCtrl::SetItemXXX()
- fixed redraw problems in dynamically resized wxStaticText
+- improvements to wxWindows applications behaviour when the system colours
+ are changed
- fixed wxProgressDialog for ranges > 65535
- wxFontEnumerator now returns all fonts, not only TrueType ones
+- bugs in handling wxFrame styles (border/caption related) fixed
+- showing a dialog from EVT_RADIOBUTTON handler doesn't lead to an infinite
+ recursion any more
+- wxTextCtrl with wxTE_RICH flag scrolls to the end when text is appended to it
+- the separators are not seen behind the controls added to the toolbar any more
+- wxLB_SORT style can be used with wxCheckListBox
+- wxWindowDC and wxClientDC::GetSize() works correctly now
+- Added wxTB_NODIVIDER and wxTB_NOALIGN so native toolbar can be used in FL
+- Multiline labels in buttons are now supoprted (simply use "\n" in the label)
+- Implemented wxMouseCaptureChangedEvent and made wxGenericDragImage check it
+ has the capture before release it.
+
+wxGTK:
+
+- wxDirDialog now presents the file system in standard Unix way
+- wxButton now honours wxBU_EXACTFIT
+- wxStaticBox now honours wxALIGN_XXX styles
+- added support for non alphanumeric simple character accelerators ('-', '=')
+- new behaviour for wxWindow::Refresh() as it now produces a delayed refresh.
+ Call the new wxWindow::Update() to force an immediate update
+- support for more SGI hardware (12-bit mode among others)
+- fixed wxDC::Blit() to honour source DC's logical coordinates
+- implemented wxIdleEvent::RequestMore() for simple background tasks
+- implemented wxChoice::Delete()
+- fixed bad memory leak in wxFileDialog (Chris Elliott)
+
+wxHTML:
+
+- fixed wxHtmlHelpController's cache files handling on big endian machines
+- added blocking and redirecting capabilities to wxHtmlWindow via
+ wxHtmlWindow::OnOpeningURL()
+- fixed alignment handling in tables
+- fixed <font face="..."> handling to be case insensitive
2.3.2
-----