X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d7a7546b8ef196eb4190bd2ce5b9f5210c79c2f2..1c0f361be288df133c766e04cc857b3e4682b31a:/docs/changes.txt diff --git a/docs/changes.txt b/docs/changes.txt index 5aa3e68ec4..0e615bdc58 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -1,5 +1,5 @@ ---------------------------- -wxWindows 2.5/2.6 Change Log +wxWidgets 2.5/2.6 Change Log ---------------------------- INCOMPATIBLE CHANGES SINCE 2.4.x @@ -22,16 +22,46 @@ INCOMPATIBLE CHANGES SINCE 2.4.x now called much earlier/later than before; please move any exiting code from there to wxApp::OnInit()/OnExit() - also, OnExit() is not called if OnInit() fails +- finally the program exit code is OnRun() return value, not OnExit() one - wxTheApp can't be assigned to any longer, use wxApp::SetInstance() instead - wxFileType::GetIcon() returns wxIconLocation, not wxIcon +- wxColourDatabase is not a wxList any more, use AddColour to add new colours - wxWindow::Clear() is now called ClearBackground() - pointer returned by wxFont::GetNativeFontInfo() must not be deleted now +- wxMouseEvent::Moving() doesn't return true if mouse is being dragged any more +- (most) controls now inherit parents colours by default, override + ShouldInheritColours() to return false if you don't want this to happen +- wxApp::SendIdleEvent() now takes 2 arguments +- wxTabView::GetLayers() changed return type from wxList& to wxTabLayerList& + (when WXWIN_COMPATIBILITY_2_4 == 0) +- wxID_SEPARATOR (id used for the menu separators) value changed from -1 to -2 +- wxGetNumberFromUser() is now in separate wx/numdlg.h, not wx/textdlg.h +- wxChoice and wxCombobox now handle their size in the same way as in all the + other ports under MSW, new code is actually correct but different from weird + stuff they were doing before so the behaviour of your programs might change +- wxTaskBarIcon objects must now be destroyed before the application can exit. + Previously, the application terminated if there were no top level windows; + now it terminates if there are no top level windows or taskbar icons left. +- wxZlibInputStream is not by default compatible with the output of the + 2.4.x version of wxZlibOutputStream. However, there is a compatibilty mode, + switched on by passing wxZLIB_24COMPATIBLE to the constructor. +- when WXWIN_COMPATIBILITY_2_4 == 0 wxHashTable uses a new implementation + not using wxList keyed interface (the same used when wxUSE_STL == 1), + the only incompatibility being that Next() returns a wxHashTable::Node* + instead of a wxNode*. +- non-const wxDC methods GetBackground(), GetBrush(), GetFont() and GetPen() + don't exist any more, please fix your code -- it never worked correctly + anyhow if you modified the objects returned by these methods so you should + simply switch to using const methods. + +wxTaskBarIcon must be explicitly destroyed now, otherwise the application + won't exit even though there are no top level windows DEPRECATED METHODS SINCE 2.4.x ============================== -Deprecated methods may still be used but will disappear in future wxWindows +Deprecated methods may still be used but will disappear in future wxWidgets versions, please update your code to not use them. - wxDocManager::GetNoHistoryFiles() renamed to GetHistoryFilesCount() @@ -44,49 +74,220 @@ versions, please update your code to not use them. - wxTheFontMapper: use wxFontMapper::Get() instead - wxStringHashTable: use wxHashMap instead - wxHashTableLong: use wxHashMap instead -- wxArrayString::GetStringArray: no replacement +- wxArrayString::GetStringArray: use wxCArrayString or alternative wxWidgets + methods taking wxArrayString - wxArrayString::Remove(index, count): use RemoveAt instead - wxTreeItemId conversion to long is deprecated and shouldn't be used +- wxTreeCtrl::GetFirst/NextChild() 2nd argument now has type wxTreeItemIdValue + and not long, please change declarations of "cookie"s in your code + accordingly -- otherwise your code won't work on 64 bit platforms - [MSW only] wxWindow::GetUseCtl3D(), GetTransparentBackground() and SetTransparent() as well as wxNO_3D and wxUSER_COLOURS styles +- wxList keyed interface: use wxHashMap instead +- wxColourDatabase::FindColour(): use Find() instead (NB: different ret type) +- wxHashTable::Next: use wxHashTable::Node* or + wxHashTable::compatibility_iterator to store the return + value +- wxWave class; use wxSound instead OTHER CHANGES ============= +2.5.2 +----- + +All: + +- Hindi translations added (Dhananjaya Sharma) +- wxDynamicCast() now uses static_cast internally and so using it + with anything not deriving from wxObject will fail at compile time (instead + of run-time) now +- when wxUSE_STL == 1 and STL provides quasi-standard hash_map/hash_set, + wxHashMap/wxHashSet are just typedefs for them. This makes impossible + to forward declare these classes. + +All (GUI): + +- wxHtmlWindow now delays image scaling until rendering, + resulting in much better display of scaled images +- Added UpdateSize to wxSplitterWindow to allow layout while hidden +- implemented Freeze/Thaw() for wxGenericTreeCtrl (Kevin Hock) +- support for KOI8-U encoding added (Yuriy Tkachenko) +- The old wxADJUST_MINSIZE behaviour is now the default behaviour for + sizer items that are windows. This means that GetAdjustedBestSize + will now be called by default to determine the minimum size that a + window in a sizer should have. If you want to still use the initial + size (and not the BestSize) then use the wxFIXED_MINSIZE flag. When + windows are added to a sizer their initial size is made the window's + min size using SetSizeHints, and calls to wxSizer::SetItemMinSize + are also forwarded to SetSizeHints for window items. +- added wxRegEx::GetMatchCount() +- it is now possible to display images in wxHtmlListBox + +wxMSW: + +- wxWindow::Freeze()/Thaw() can now be nested +- Added wxSP_NO_XP_THEME style to wxSplitterWindow to switch off + XP theming (some applications look bad without 3D borders) +- wxMenuBar::GetLabelTop() doesn't include '&'s in the label any more +- wxRegConf couldn't read global settings without admin privileges and didn't + even try to do it by default -- now it does +- wxTaskBarIcon must be explicitly destroyed now, otherwise the application + won't exit even though there are no top level windows +- wxFileName::GetModificationTime() works with opened files too now +- wxDC::GetClippingBox() now works even for clipping regions created by Windows +- fixed wxFileDataObject in Unicode build (Alex D) + +wxMotif: + +- removed wxMenuItem::DeleteSubMenu() +- wxButtons use Motif default size, which is smaller than it used to be + and closer to wxMSW/wxGTK look. This can be disabled by setting + motif.largebuttons system option to 1 (see wxSystemOptions). + +wxUniv/X11: + +- implemented DrawRoundedRectangle() (clawghoul) + +wxHTML: + +- improved tables and lists layout algorithms (Tim Kosse) +-
handling fix (Xavier Nodet) + +Unix: +- fixed priorities of mailcap entries (David Hart) +- added "wx-config --libs=std," syntax (i.e. support for "std") + + 2.5.1 ----- All: +- event table macros now do some minimal type safety checks (Michael Sögtrop) - added wxGzipInput/OutputStream, bug fixes in wxZlibStreams (M.J.Wetherell) - wxDateTime::ParseDateTime() implemented (Linus McCabe) - wxHTTP::GetResponse() added (David Nock) - added conversions to/from UTF 16/32 LE/BE (Andreas Pflug) -- wxFileName::Normalize(wxPATH_NORM_ALL) doesn't lower filename case any more - added wxTextInputStream::ReadChar() (M.J.Wetherell) +- added translation to Afrikaans (Petri Jooste) +- Spanish translations updated (Javier San Jose) +- added gettext plural forms support to wxLocale (Michael N. Filippov) +- wxFileName::Normalize(wxPATH_NORM_ALL) doesn't lower filename case any more +- wxFileName::Normalize(wxPATH_NORM_ENV_VARS) now works +- check if file exists in wxFileConfig::DeleteFile() (Christian Sturmlechner) +- when wxUSE_STL == 1 wxHashTable will not be implemented using wxHashMap + (as in 2.5.0). +- added some extra convenience functions to wxRect such as + GetBottomRight (Hajo Kirchhoff) +- changed built-in regex library to a Unicode-compatible version based + on TCL sources (Ryan Norton, M. J. Wetherell) +- added extra convenience functions to wxPoint for adding a + wxSize (Wlodzimierz Skiba) +- intermediate wxIPaddress class added to prepare for + wxIPV6address (Ray Gilbert) +- added overloaded constructors and Create() methods taking wxArrayString + for wxChoice, wxComboBox, wxListBox, wxRadioBox, wxCheckListBox, + wxSingleChoiceDialog, wxMultipleChoiceDialog +- renamed wxWave class to wxSound All (GUI): +- added wxListBook control +- added 3-state checkboxes for MSW/Mac (Dimitri Schoolwerth) - added some support for C++ exceptions in the library (do read the manual!) - added wxListCtrl::GetViewRect() - added wxTextCtrl::MarkDirty() - wxToolBar::ToggleTool() now works for radio buttons (Dag Ågren) +- wxListCtrl now sends an END_LABEL event if editing was cancelled, too - bug in wxRect ctor from two [out of order] wxPoints fixed (Steve Cornett) +- status text is now restored after wxMenu help is shown in it +- bug in wxWindow::RemoveEventHandler() fixed (Yingjun Zhang) +- make it possible to use wxRTTI macros with namespaces (Benjamin I. Williams) +- wxColourDatabase API now uses objects instead of pointers +- added resolution option to JPEG image handler (Jeff Burton) +- added wxCalendarEvent::SetDate, wxCalendarEvent::SetWeekDay +- wxGenericDirCtrl now accepts multiple wildcards +- added focus event forwarding to wxGrid (Peter Laufenberg) +- fixed scrollbar problem in wxGrid (not showing scrollbars + when sizing smaller) (Shane Harper) +- dbbrowse demo fixed for Unicode (Wlodzimierz Skiba) +- added wxStatusBar support to XRC (Brian Ravnsgaard Riis) +- wxMenu::Append and etc. return a pointer to the wxMenuItem that was + added or inserted, or NULL on failure. +- using a -1 (wxID_ANY) for menu or toolbar item IDs will now generate new id +- added option to generate C++ headers to wxrc utility (Eduardo Marques) +- added wxDC::DrawPolyPolygon() for MSW/PS (Carl-Friedrich Braun) +- wxBufferedDC now allows to preserve the background and is documented +- added wxDC::GetPartialTextExtents wxMSW: +- wxWidgets now builds under Win64 +- fixed DDE memory leaks - fixed wxTE_*WRAP styles handling - wxTextCtrl::GetValue() works with text in non default encoding - changed wxCrashReport to generate minidumps instead of text files - wxRadioButtons are now checked when they get focus (standard behaviour) - several fixes to owner drawn menu items (Christian Sturmlechner) - wxGauge now supports full 32 bit range (Miroslav Rajcic) +- make it possible to give focus to the notebook tabs (Hajo Kirchhoff) +- MDI child frames are not always resizeable any more (Andrei Fortuna) +- fixed enumerating of entries/groups under '/' in wxRegConfig +- added wxSYS_ICONTITLE_FONT (Andreas Pflug) +- added wxPATH_NORM_SHORTCUT to wxFileName +- wxComboBox::GetValue within a wxEVT_COMMAND_TEXT_UPDATED event + should now pass the correct value even if the handler for + wxEVT_COMMAND_COMBOBOX_SELECTED changed the selection +- wxFileDialog now returns correct filter index for multiple-file dialogs +- added wxTextCtrl::HitTest() +- experimental wxURL implementation using WinInet functions (Hajo Kirchhoff) +- fixed several bugs in wxNotebook with wxNB_MULTILINE style +- accelerators are now initially hidden if appropriate (Peter Nielsen) +- background colour of a wxComboBox may now be set +- fixed wxListCtrl::GetItemText/BackgroundColour() +- Esc can now be used to close menus in the dialogs (Hartmut Honisch) +- Added msw.remap system option so colourful toolbar buttons + aren't mangled if you set it to 0. The default is 1 +- Toolbar buttons are now centred if the bitmap size is smaller + than the specified default size +- Fixed a bug in wxSpinCtrl::DoGetBestSize that would make wxSpinCtrl too tall wxGTK: - fixes to wxTextCtrl scrolling under GTK2 (Nerijus Baliunas) - fix for crash when using user-dashed lines (Chris Borgolte) +- fixed wxChoice::Delete() in presence of client data +- allow calling wxWindow::SetFont if window not yet created +- use same average character width as other ports when calculating dialog units +- fixed mouse wheel handling under GTK2 (Hugh Fisher) +- wxNotebook::HitTest() implemented (Daniel Lundqvist) +- memory leaks fixes in wxFileDialog (John Labenski) +- don't drop click events from triple clicks (Frode Solheim) + +wxMac: + +- use same average character width as other ports when calculating dialog units +- implemented handling of mouse wheel +- fix for long file names (longer than 32 characters) in file dialogs +- use unix sockets for Mach-o builds + +wxMotif: + +- look for Motif 2.1 headers before Motif 1.2 ones in configure + +wxHTML: + +- wxHtmlHelpController now supports compressed MS HTML Help files (*.chm) + on Unix (Markus Sinner) + +Unix: + +- added XFree86 resolution changing using xf86vidmode extensions (Ryan Norton) +- implemented asynchronous playback in wxSound and added SDL backend in + addition to existing OSS one +- it is now possible to send PostScript to any output stream (Zoltan Kovacs) 2.5.0 @@ -95,7 +296,7 @@ wxGTK: All: - It is now possible to build several smaller libraries instead of single - huge wxWindows library; wxBase is now dependency of GUI ports rather then + huge wxWidgets library; wxBase is now dependency of GUI ports rather then separately compiled library - added wxDateSpan::operator==() and !=() (Lukasz Michalski) - added wxFileName::GetForbiddenChars() (Dimitri Schoolwerth) @@ -118,6 +319,13 @@ All: - wxDataStreams can read/write many elements at once (Mickael Gilabert) - added wxRecursionGuard class - added wxThreadHelper class (Daniel Howard) +- Added STL support (--enable-stl for configure, wxUSE_STL in setup.h). + When enabled, wxString will derive from std::string, wxArray from, + std::vector, wxList from std::list. In addition wxHashTable will be + implemented in terms of wxHashMap. +- Added wxList::compatibility_iterator. Can be used like wxNode* (except + it can't be delete()d). It permits writing code which will work + both with wxUSE_STL==1 and wxUSE_STL==0. wxBase: @@ -252,7 +460,7 @@ wxMSW: - improved border handling under Windows XP - partial fix for wxNotebook pages looking bad under XP: wxUSE_UXTHEME enables XP theme engine code, and wxUSE_UXTHEME_AUTO tells - wxWindows to use the theme tab colour for control backgrounds. + wxWidgets to use the theme tab colour for control backgrounds. - disable wxNB_RIGHT, wxNB_LEFT, wxNB_BOTTOM notebook styles under Windows XP - fixed release mode build with VC 7.x (Martin Ecker) - added support for wxALWAYS_SHOW_SB style @@ -303,7 +511,7 @@ INCOMPATIBLE CHANGES SINCE 2.2.x 2.6 release. NB: if you want to build your program with different major versions - of wxWindows you will probably find the wxCHECK_VERSION() macro + of wxWidgets you will probably find the wxCHECK_VERSION() macro (see the documentation) useful. @@ -520,10 +728,10 @@ wxBase: Unix (Base/GUI): -- wxWindows may be built using BSD and Solaris (and possibly other) make +- wxWidgets 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 -- wxWindows may be built as a dynamic shared library under Darwin / Mac OS X +- wxWidgets may be built as a dynamic shared library under Darwin / Mac OS X lazy linking issues have been solved by linking a single module (.o) into the shared library (two step link using distrib/mac/shared-ld-sh) - fixed thread priority setting under Linux @@ -535,7 +743,7 @@ All (GUI): - 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 + wxWidgets dialogs - significantly improved native font support - wxImage::ComputeHistogram() now uses wxImageHistogram instead of type-unsafe wxHashTable @@ -576,11 +784,11 @@ wxMSW: - fixed multiple bugs in wxExecute() with IO redirection - 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 +- changing wxWidgets 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 +- improvements to wxWidgets applications behaviour when the system colours are changed - choose implicit parent for the dialog boxes better - fixed wxProgressDialog for ranges > 65535 @@ -769,7 +977,7 @@ wxMSW: - 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 + wxWidgets 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 @@ -1039,7 +1247,7 @@ wxHTML: fixed handling of relative and absolute font sizes in -NOTE: for changes after wxWindows 2.1.0 b4, please see the CVS +NOTE: for changes after wxWidgets 2.1.0 b4, please see the CVS change log. 2.1.0, b4, May 9th 1999 @@ -1137,7 +1345,7 @@ wxMSW: - Makefiles for more compilers and samples; Cygwin makefiles rationalised. -- Added VC++ project file for compiling wxWindows as DLL. +- Added VC++ project file for compiling wxWidgets as DLL. wxMotif: @@ -1465,7 +1673,7 @@ wxMSW: - Added wxJoystick class and event handling, and simple demo. - Added simple wxWave class. Needs Stop() function. - Added wxModule (module.h/module.cpp) to allow definition - of modules to be initialized and cleaned up on wxWindows + of modules to be initialized and cleaned up on wxWidgets startup/exit. - Start of Mingw32 compatibility (see minimal and dialogs samples makefile.m95 files, and install.txt). @@ -1507,7 +1715,7 @@ wxMSW: - Added wxTaskBarIcon (taskbar.cpp/h, plus samples/taskbar) to allow maintenance of an icon in the Windows 95 taskbar tray area. -- Got MFC sample working (MFC and wxWindows in the same +- Got MFC sample working (MFC and wxWidgets in the same application), partly by tweaking ntwxwin.mak settings. - Got DLL compilation working again (VC++). - Changed wxProp/Dialog Editor filenames.