X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5d6f17a5b92df0fdf4909ed78c35b4a86905ec7e..56ba0394113fe3eba49632c7ad567db9e085ce12:/docs/changes.txt diff --git a/docs/changes.txt b/docs/changes.txt index a623254e86..b4178c01a5 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -1,78 +1,224 @@ ---------------------------------------------------------------- -wxWidgets Change Log - For more verbose changes, see the manual ---------------------------------------------------------------- +------------------------------------------------------------------------------- + wxWidgets Change Log +------------------------------------------------------------------------------- -INCOMPATIBLE CHANGES SINCE 2.6.x +INCOMPATIBLE CHANGES SINCE 2.8.x ================================ Changes in behaviour not resulting in compilation errors, please read this! --------------------------------------------------------------------------- -- For all wxInputStreams, Eof() becomes true after an attempt has been made - to read _past_ the end of file. -- wxFileName::DirExists() checks if the path of the file is a directory, not - if the whole name is a directory. -- wxDialog::CreateButtonSizer() may return NULL now, please see the manual. -- wxStaticBoxSizer now deletes the associated wxStaticBox when it is deleted. -- wxArray::Alloc() now works as reserve() and does not clear the array any more -- Windows calling CaptureMouse() are now required to handle the - wxEVT_MOUSE_CAPTURE_LOST event and not call ReleaseMouse() in this case. -- wxInputStream::GetC() now returns an int in the range 0 - 255 on success - instead of a char the range -128 - 127. -- A sequence returned by wxFileSystem::FindFirst()/FindNext() may now be - be scoped to a single instance of wxFileSystem. +- Default location of wxFileConfig files has changed under Windows, you will + need to update your code if you access these files directly. +- wxWindow::IsEnabled() now returns false if a window parent (and not + necessarily the window itself) is disabled, new function IsThisEnabled() + with the same behaviour as old IsEnabled() was added. + +- Generating wxNavigationKeyEvent events doesn't work any more under wxGTK (and + other platforms in the future), use wxWindow::Navigate() or NavigateIn() + instead. Changes in behaviour which may result in compilation errors ----------------------------------------------------------- -- Some classes (notably wxBitmap and wxImage) don't define operator==() as it - used to work in somewhat unexpected way as it compared only internal pointers - and not the object data. The code using it will have to be updated: - * If the object was compared with wxNullXXX, use IsOk() method instead - * If valid object need to be compared, use IsSameAs() to reproduce the old - behaviour or change the code to avoid comparing bitmaps &c -- wxFontData::GetColour() now returns a const colour. -- wxDC objects can't be created directly now (this never worked, now it doesn't - even compile). -- wxCHECK family of macros now must be followed by a semicolon. -- wxMBConv::cMB2WC() and cWC2MB() take size of the input buffer and return - length of the converted string in all cases now. -- wxHtmlWindow::OnCellClicked() now returns bool. -- wxHtmlCell::OnMouseClick() was deprecated and replaced with - wxHtmlCell::ProcessMouseClick(); old code overriding OnMouseClick() will - continue to work with WXWIN_COMPATIBILITY_2_6, but should be rewritten to - use ProcessMouseClick(). -- wxHtmlCell::GetCursor() was deprecated and replaced with - wxHtmlCell::GetMouseCursor(); old code overriding GetCursor() will - continue to work with WXWIN_COMPATIBILITY_2_6, but should be rewritten to - use GetMouseCursor(). -- wxHtmlCell::AdjustPagebreak() signature has changed, update your code if you - override it. -- wxFontEnumerator::GetFacenames() and GetEncodings() now return arrays and - not pointers to arrays. -- SetDefaultItem() method was moved from wxPanel to wxTopLevelWindow -- wxDialog::OnOK/OnCancel() don't exist any more, use SetAffirmative/EscapeId() -- wxPathList doesn't derive from (deprecated) wxStringList any more -- wxGLContext class has no 1:1 coupling to a wxGLCanvas class any more. - As a consequence, the class interface changed largely. Code updates, if - any are required at all, are easy to accomplish though. - - -Deprecated methods since 2.6.x and their replacements ------------------------------------------------------ - -- wxGetWorkingDirectory() deprecated in favour of wxGetCwd(). -- wxDC::BeginDrawing() and wxDC::EndDrawing() deprecated, don't use them. -- wxWindowBase::GetBestFittingSize --> wxWindowBase::GetEffectiveMinSize -- wxWindowBase::SetBestFittingSize --> wxWindowBase::SetInitialSize - - - -Major new features in 2.8 release ---------------------------------- - -- New AUI library supporting docking windows and much more. +- WXWIN_COMPATIBILITY_2_4 doesn't exist any more, please update your code if + you still relied on features deprecated since version 2.4 + +- Return type of wxString::operator[] and wxString::iterator::operator* is no + longer wxChar (i.e. char or wchar_t), but wxUniChar. This is not a problem + in vast majority of cases because of conversion operators, but it can break + code that depends on the result being wxChar. + +- The value returned by wxString::operator[] or wxString::iterator cannot be + used in switch statements anymore, because it's a class instance. Code like + this won't compile: + switch (str[i]) { ... } + and has to be replaced with this: + switch (str[i].GetValue()) { ... } + +- Return type of wxString::c_str() is now wxCStrData struct and not + const wxChar*. wxCStrData is implicitly convertible to const char* and + const wchar_t*, so this only presents a problem if the compiler cannot + convert the type. In particular, Borland C++ and DigitalMars compilers + don't correctly convert operator?: operands to the same type and fail with + compilation error instead. This can be worked around by explicitly casting + to const wxChar*: + wxLogError(_("error: %s"), !err.empty() ? (const wxChar*)err.c_str() : "") + +- DigitalMars compiler has a bug that prevents it from using + wxUniChar::operator bool in conditions and it erroneously reports type + conversion ambiguity in expressions such as this: + for ( wxString::const_iterator p = s.begin(); *p; ++p ) + This can be worked around by explicitly casting to bool: + for ( wxString::const_iterator p = s.begin(); (bool)*p; ++p ) + +Deprecated methods and their replacements +----------------------------------------- + +- wxCreateGreyedImage() deprecated, use wxImage::ConvertToGreyscale() instead. +- wxString::GetWriteBuf() and UngetWriteBuf() deprecated, using wxStringBuffer + or wxStringBufferLength instead. + +Major new features in this release +---------------------------------- + + +2.9.0 +----- + +All: + +- Added wxJoin() and wxSplit() functions (Francesco Montorsi) +- Added wxMutex::LockTimeout() (Aleksandr Napylov) +- Added wxMemoryInputStream(wxInputStream&) ctor (Stas Sergeev) +- Implemented wxMemoryInputStream::CanRead() + +All (GUI): + +- Added wxDC::StretchBlit() for wxMac and wxMSW (Vince Harron) +- Added support for labels for toolbar controls (Vince Harron) +- Added wxEventBlocker class (Francesco Montorsi). +- Added wxFile/DirPickerCtrl::Get/SetFile/DirName() (Francesco Montorsi). +- Added wxSizerFlags::Top() and Bottom(). +- Slovak translation added. +- Fixed tab-related drawing and hit-testing bugs in wxRichTextCtrl. +- Implemented background colour in wxRichTextCtrl. +- Fixed crashes in helpview when opening a file. +- Set locale to the default in all ports, not just wxGTK +- Added wxJoystick::GetButtonState/Position() (Frank C Szczerba) +- Added wxGridUpdateLocker helper class (Evgeniy Tarassov) +- Support wxGRID_AUTOSIZE in wxGrid::SetRow/ColLabelSize() (Evgeniy Tarassov) +- Added wxWindow::NavigateIn() in addition to existing Navigate() +- Add support for tags to wxrc + +wxGTK: + +- Native implementation for wxHyperlinkCtrl (Francesco Montorsi) +- Native keyboard navigation implementation +- Implemented support for underlined fonts in wxStaticText. +- wxTopLevelWindow::SetSizeHints size increments now work. +- wxTopLevelWindow::GetSize() returns the size including the WM decorations. +- wxTopLevelWindow::GetClientSize() returns 0x0 when the window is minimized. +- Added support for colour cursors (Pascal Monasse). +- Setting foreground colour of single line wxTextCtrl now works + +wxMac: + +- Fix duplicate (empty) help menu in non-English programs (Andreas Jacobs) + +wxMSW: + +- Fixed infinite loop in wxThread::Wait() in console applications. +- Return the restored window size from GetSize() when window is minimized. + + +2.8.4 +----- + +wxMSW: + +- Corrected wxStaticBox label appearance when its foreground colour was set: + it didn't respect font size nor background colour then (Juan Antonio Ortega) +- Don't lose combobox text when it's opened and closed (Kolya Kosenko) +- Corrected GetChecked() for events from checkable menu items (smanders) +- Fixed popup menus under Windows NT 4 +- Fixed bug in wxThread::Wait() in console applications introduced in 2.8.3 +- Compilation fixed with WXWIN_COMPATIBILITY_2_6==0 + +wxGTK: + +- Fix infinite loop when adding a wxStaticText control to a toolbar +- Fix wxNO_BORDER style for wxRadioBox (David Hart) + + +2.8.3 +----- + +All: + +- Shut down the sockets gracefully (Sergio Aguayo) +- Fix extra indentation in wxHTML_ALIGN_JUSTIFY display (Chacal) + +wxMac: + +- Corrected top border size for wxStaticBox with empty label (nusi) + +wxMSW: + +- Fixed wxFileName::GetSize() for large files + +wxGTK: + +- Fixed handling of accelerators using PageUp/Down keys + + +2.8.2 +----- + +All: + +- Added wxSizerFlags::Shaped() and FixedMinSize() methods. +- Added wxCSConv::IsOk() (Manuel Martin). +- Added wxDateTime::GetDateOnly(). +- Made wxTextFile work with unseekable files again (David Hart). +- Added wxCONFIG_USE_SUBDIR flag to wxFileConfig (Giuseppe Bilotta). +- Added wxSearchCtrl::[Get|Set]DescriptiveText. +- Fixed detection of number of processors under Linux 2.6 +- Fixed Base64 computation in wxHTTP (p_michalczyk) +- Fix handling of wxSOCKET_REUSEADDR in wxDatagramSocket (troelsk) + +Unix Ports: + +- Fixed crash in wxGetUserName() in Unicode build + +wxMSW + +- Fix lack of spin control update event when control lost focus. +- Corrected drawing of bitmaps for disabled menu items. + +wxGTK + +- Fix hang on startup when using GTK+ options in Unicode build + +wxMac + +- Fix position of the centered windows (didn't take menu bar size into account) +- Added support for the wxFRAME_FLOAT_ON_PARENT style. + +wxX11: + +- Don't crash in wxWindow dtor if the window hadn't been really Create()d. + +wxUniv: + +- Fixed wxComboBox always sorted. + + +2.8.1 +----- + +All: + +- Fix compilation with wxUSE_STL=1. +- wxGrid::GetBestSize() returns same size the grid would have after AutoSize(). +- Added wxTreeCtrl::CollapseAll[Children]() and IsEmpty() (Francesco Montorsi). +- Several RTL-related positioning fixes (Diaa Sami). +- Fix wxConfig::DeleteGroup() for arguments with trailing slash (David Hart). +- Fix memory leak in wxGrid::ShowCellEditControl() (Christian Sturmlechner). + +wxMSW: + +- Fixed compilation with Borland C++ in Unicode mode but without MSLU. +- Show taskbar icon menu on right button release, not press. + +wxGTK: + +- Don't crash if command line is not valid UTF-8 (Unicode build only). + +wxUniv: + +- It is now possible to set background colour of wxStaticText. 2.8.0 @@ -80,7 +226,28 @@ Major new features in 2.8 release All: -- wxArrayString::Alloc() now works as reserve() and doesn't clear array contents +- Added wxSearchCtrl (Vince Harron). +- wxCSConv("UTF-16/32") now behaves correctly, i.e. same as wxMBConvUTF16/32. +- wxArrayString::Alloc() now works as reserve() and doesn't clear array contents. +- Fixed long standing bug in wxFileConfig groups renaming (Antti Koivisto). +- New option wxFS_READ | wxFS_SEEKABLE for wxFileSystem::OpenFile() to return + a stream that is seekable. +- Fixed bug in wxCalendarCtrl::HitTest() when clicking on month change arrows. +- Added wxWindow::GetWindowBorderSize() and corrected wxTreeCtrl::GetBestSize(). + for a control with borders (Tim Kosse). + +wxMSW: + +- Fixed version script problems when using configure with cygwin/mingw32. +- Use system default paper size for printing instead of A4. +- Fix (harmless) assert in virtual list control under Vista. +- Fix colours when converting wxBitmap with alpha to wxImage (nusi). + +wxGTK: + +- Allow dynamically changing most of text control styles. +- Enable use of libgnomeprintui by default in configure. + 2.7.2 ----- @@ -91,9 +258,9 @@ All: - Added GetTempDir() to wxFileName and wxStandardPaths. - Added wxTar streams. - Added wxFilterFSHandler and wxArchiveFSHandler. -- Added wxString::ToLongLong() and ToULongLong() +- Added wxString::ToLongLong() and ToULongLong(). -All (GUI): +All (GUI): - wxMemoryDC constructor now optionally accepts a wxBitmap parameter, calling SelectObject itself if a valid bitmap is passed. @@ -108,10 +275,10 @@ All (GUI): - Many enhancements to wxRichTextCtrl including URL support, formatting and symbol dialogs, print/preview, and better list formatting. -- Support for loading TGA files added (Seth Jackson) -- Added wxTB_RIGHT style for right-aligned toolbars (Igor Korot) +- Support for loading TGA files added (Seth Jackson). +- Added wxTB_RIGHT style for right-aligned toolbars (Igor Korot). - wxHtmlWindow now generates events on link clicks (Francesco Montorsi). -- wxHtmlWindow now also generates wxEVT_COMMAND_TEXT_COPY event +- wxHtmlWindow now also generates wxEVT_COMMAND_TEXT_COPY event. Unix Ports: @@ -135,8 +302,8 @@ All: - Added wxDir::FindFirst() (Francesco Montorsi). - Added wxPlatformInfo class (Francesco Montorsi). - Added wxLocale::IsAvailable() (Creighton). -- Added Malay translations (Mahrazi Mohd Kamal) -- Added reference counting for wxVariant +- Added Malay translations (Mahrazi Mohd Kamal). +- Added reference counting for wxVariant. - For consistency, all classes having Ok() method now also have IsOk() one, use of the latter form is preferred although the former hasn't been deprecated yet. - Added wxFileName::Is(Dir|File)(Writ|Read|Execut)able() (Francesco Montorsi).