X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/93a21d8885344c49947d0cadd1e76be8dadd94b0..bbc3925a8a46e8c80b22277f5571dfb2465aca25:/docs/changes.txt diff --git a/docs/changes.txt b/docs/changes.txt index edd84c23d2..5e431cf5fc 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -1,20 +1,224 @@ wxWindows 2 Change Log ---------------------- +INCOMPATIBLE CHANGES SINCE 2.2.x +================================ + +wxBase: + +- wxArray::Remove(size_t) has been removed to fix compilation problems + under 64 bit architectures, please replace it with RemoveAt() in your + code. + +- wxArray 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 + +- wxEvent now has a pure virtual Clone() method which must be implemented + by all derived classes, if you have user-defined event classes please + add "wxEvent *Clone() const { return new MyEvent(*this); }" line to them + +All (GUI): + +- the event type constants are not constants any more but are dynamically + allocated during run-time which means that they can't be used as case labels + in the switch()es, you must rewrite them to use if()s instead + + You may also define WXWIN_COMPATIBILITY_EVENT_TYPES to get the old behaviour + 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 + will *NOT* work any longer: + + if ( flags & wxYES_NO ) + ... do something ... + if ( flags & wxYES ) + ... do something else ... + +- wxGLCanvas now derives directly from wxWindow, not wxScrolledWindow + +- 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 + +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//wx/include + where is of the form (msw|univ)[dll][u][d]. You'll need to update + 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 + +Unix ports: + +- You should use `wx-config --cxxflags` in your makefiles instead of + `wx-config --cflags` for compiling C++ files. CXXFLAGS contains CFLAGS + and the compiler flags for C++ files only, CFLAGS should still be used + to compile pure C files. + + +OTHER CHANGES +============= + +2.3.3 +----- + +wxBase: + +- 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 STL hash_map +- wxLocale now works in Unicode mode +- wxLocale can now load message catalogs in arbitrary encoding + +Unix (Base/GUI): + +- wxWindows may be built using BSD and Solaris (and possibly other) make + programs and not only GNU make + +All (GUI): + +- implemented radio menu items +- 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) + +wxMSW: + +- 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 +- wxWindowDC and wxClientDC::GetSize() works correctly now + +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 ('-', '=') + +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 handling to be case insensitive + +2.3.2 +----- + +New port: wxUniv for Win32/GTK+ is now included in the distribution. + +wxBase: + +- wxRegEx class added +- wxGetDiskSpace() function added (Jonothan Farr, Markus Fieber) +- wxTextBuffer and wxTextFile(wxStream) added (Morten Hanssen) +- more fixes to wxMBConv classes. Conversion to and from wchar_t now works with + glibc 2.2 as well as with glibc 2.1. Unix version now checks for iconv()'s + capabilities at runtime instead of in the configure script. + +All (GUI): + +- support for virtual list control added +- column images in report mode of the list control +- wxFindReplaceDialog added (based on work of Markus Greither) +- wxTextCtrl::SetMaxLength() added (wxMSW/wxGTK) +- polygon support in wxRegion (Klaas Holwerda) +- wxStreamToTextRedirector to allow easily redirect cout to wxTextCtrl added +- fixed bug with using wxExecute() to capture huge amounts of output +- new wxCalendarCtrl styles added (Søren Erland Vestø) +- wxWizard changes: loading from WXR support, help button (Robert Cavanaugh) +- wxDirSelector() added (Paul A. Thiessen) +- wxGrid cell editing veto support (Roger Gammans) +- wxListCtrl ITEM_FOCUSED event added +- support for ICO files in wxImage added (Chris Elliott) + +wxMSW: + +- support for the DBCS fonts (CP 932, 936, 949, 950) (Nathan Cook) +- new library naming convention under VC++ -- please change your application + project files + +wxGTK: + +- fixed popup menu positioning bug + +wxHTML: + +- new HTML parser with correct parsing of character entities and fixes + to tags parsing +- added support for animated GIFs + 2.3.1 ----- wxBase: - Fixes for gcc 3.0 -- Fixed new charset detection code (langinfo.h not included in intl.cpp; - langinfo.h not neccessary in strconv.cpp) +- Fixed new charset detection code - ODBC Informix fixes (submitted by Roger Gammans) -- Added wxDbGrid class for displaying ODBC tables +- Added ODBC date support to wxVariant - Added wxDir::Traverse +- Added wxSingleInstanceChecker class +- Removed redundant wxDebugContext functions using C++ streams, + so now standard stream usage should be unnecessary All (GUI): +- Added wxDbGrid class for displaying ODBC tables - Added EVT_GRID_EDITOR_CREATED and wxGridEditorCreatedEvent so the user code can get access to the edit control when it is created, (to push on a custom event handler for example) @@ -32,29 +236,35 @@ All (GUI): - Fixed calendar sample bug with using wxCommandEvent::GetInt() instead of GetId() - Added wxDbGrid combining wxODBC classes with wxGrid +- Added more makefiles and project files for contrib hierarchy wxMSW: - Fixed wxApp::ProcessMessage so controls don't lose their accelerators when the accelerators are redefined elsewhere - Accelerators consisting of simple keystrokes (without control, - alt or shift) are now possible + alt or shift) now work - Compile fixes for Watcom C++ added - Compile fixes for Cygwin 1.0 added +- Use SetForegroundWindow() in wxWindow::Raise() instead of BringWindowToTop() - Replaced wxYield() call in PopupMenu() by a much safer - wxYieldForCommandsOnly() - fixes tree ctrl bug + wxYieldForCommandsOnly() - fixes tree ctrl popup menu bug and other ones - Enter processing in wxSpinCtrl fixed - Fixed bug in determining the best listbox size - Fix for wxFrame's last focus bug - We now send iconize events - Fixed wxFrame::SetClientSize() with toolbar bug - Added mousewheel processing +- Added wxSystemSettings::Get/SetOption so we can configure + wxWindows at run time; used this to implement no-maskblt option + in wxDC +- Fixed bug when using MDIS_ALLCHILDSTYLES style: so now MDI + child frame styles are honoured wxGTK: - Fixed slider rounding bug -- Added code to set wxFont's default encoding to - wxLocale::GetSystemEncoding() +- Added code to set wxFont's default encoding to wxLocale::GetSystemEncoding() - We now send iconize events - Fix for discrepancies between wxNotebookEvent and wxNotebook GetSelection() results @@ -74,12 +284,11 @@ wxBase: - wxLocale now provides much more convenient API for setting language and detecting current system language. New API is more abstracted and truly cross-platform, independent of underlying C runtime library. -- wxDir::Traverse() added All (GUI): - new wxToggleButton class (John Norris, Axel Schlueter) -- wxCalendarCtrl now highlighting the date with time part bug fixed +- wxCalendarCtrl not highlighting the date with time part bug fixed - wxADJUST_MINSIZE sizer flag added - FindOrCreateBrush/Pen() bug fix for invalid colour values - new wxXPMHandler for reading and writing XPM images @@ -97,8 +306,8 @@ wxMSW: - threads: bug in wxCondition::Broadcast fixed (Pieter van der Meulen) - fixed bug in MDI children flags (mis)handling -- it is possible to compile wxCHMHelpController with other compilers than VisualC++ - now and hhctrl.ocx is loaded at runtime. +- it is possible to compile wxCHMHelpController with compilers + other than Visual C++ now and hhctrl.ocx is loaded at runtime wxGTK: