GetSizeAvailableForScrollTarget() method, please see its documentation for
more details.
+- Processing of pending events now requires a running event loop.
+ Thus initialization code (e.g. showing a dialog) previously done in wxApp::OnRun()
+ or equivalent function should now be done into wxApp::OnEventLoopEnter().
+ See wxApp::OnEventLoopEnter() and wxApp::OnEventLoopExit() docs for more info.
+
Changes in behaviour which may result in compilation errors
-----------------------------------------------------------
need to review them as wxDC doesn't have any virtual methods any longer and
uses delegation instead of inheritance to present different behaviours.
-- wxWindow::ProcessEvent() has been made protected to prevent wrongly using it
- instead of correct GetEventHandler()->ProcessEvent(). New ProcessWindowEvent()
- was added for convenience.
+- wxWindow::ProcessEvent() (and other wxEvtHandler methods inherited by wxWindow)
+ has been made protected to prevent wrongly using it instead of correct
+ GetEventHandler()->ProcessEvent().
+ New ProcessWindowEvent() was added for convenience.
- 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
- wxEVT_GRID_CELL_CHANGE event renamed to wxEVT_GRID_CELL_CHANGED and shouldn't
be vetoed any more, use the new wxEVT_GRID_CELL_CHANGING event to do it.
+- Now wxWidgets at startup in debug builds checks if all wxEvent-derived classes
+ correctly implement the Clone() function, logging a warning if they don't.
+ A correct implementation for MyCustomEventClass::Clone() is simply:
+ virtual wxEvent *Clone() const { return new MyCustomEventClass(*this); }
+
+- Global wxPendingEvents and wxPendingEventsLocker objects were removed.
+ You may use wxEventLoopBase::SuspendProcessingOfPendingEvents instead of
+ locking wxPendingEventsLocker now.
+
Deprecated methods and their replacements
-----------------------------------------
"Attribute" instead of "Property" or "Prop" in their names.
- wxConnection::OnExecute() is not formally deprecated yet but new code should
use simpler OnExec() version which is called with wxString argument
-- wxMenuItem::GetLabel has been deprecated in favour of wxMenuItem::GetItemLabelText
-- wxMenuItem::GetText has been deprecated in favour of wxMenuItem::GetItemLabel
-- wxMenuItem::GetLabelFromText has been deprecated in favour of wxMenuItem::GetLabelText
-- wxMenuItem::SetText has been deprecated in favour of wxMenuItem::SetItemLabel
-- wxBrush's, wxPen's SetStyle() and GetStyle() as well as the wxBrush/wxPen ctor now take
- respectively a wxBrushStyle and a wxPenStyle value instead of a plain "int style";
- use the new wxBrush/wxPen style names (wxBRUSHSTYLE_XXX and wxPENSTYLE_XXX) instead
- of the old deprecated wxXXX styles (which however are still available).
+- Various wxMenuItem methods were deprecated in favour of more consisently
+ named new versions:
+ . GetLabel() is now GetItemLabelText()
+ . GetText() is not GetItemLabel()
+ . GetLabelFromText() is now GetLabelText()
+ . SetText() is now SetItemLabel()
+- wxBrush's, wxPen's SetStyle() and GetStyle() as well as the wxBrush/wxPen
+ ctor now take respectively a wxBrushStyle and a wxPenStyle value instead of a
+ plain "int style"; use the new wxBrush/wxPen style names (wxBRUSHSTYLE_XXX
+ and wxPENSTYLE_XXX) instead of the old deprecated wxXXX styles.
- EVT_GRID_CELL_CHANGE was deprecated, use EVT_GRID_CELL_CHANGED instead if you
don't veto the event in its handler and EVT_GRID_CELL_CHANGING if you do.
- EVT_CALENDAR_DAY event has been deprecated, use EVT_CALENDAR_SEL_CHANGED.
it with SetDeviceClippingRegion() if this was the correct thing to do in your
code.
- wxTE_AUTO_SCROLL style is deprecated as it's always on by default anyhow.
-- wxThreadHelper::Create() has been deprecated in favour of wxThreadHelper::CreateThread
- which has a better name for a mix-in class, and allows setting the thread type.
-
+- wxThreadHelper::Create() has been renamed to CreateThread which has a better
+ name for a mix-in class, and allows setting the thread type.
+- wxDos2UnixFilename, wxUnix2DosFilename, wxStripExtension, wxGetTempFileName,
+ wxExpandPath, wxContractPath, wxRealPath, wxCopyAbsolutePath, wxSplitPath
+ were deprecated in favour of wxFileName methods. See docs for more info.
+- wxEvtHandler::TryValidator/Parent() are deprecated, override the new and
+ documented TryBefore/After() methods if you used to override these ones.
+- wxGetMultipleChoices() is deprecated, use wxGetSelectedChoices() which has
+ the same signature but returns -1 and not 0 if the dialog was cancelled.
Major new features in this release
----------------------------------
- Added (experimental) IPv6 support to wxSocket (Arcen).
- Cleaned up wxURI and made it Unicode-friendly.
-- Add support for wxExecute(wxEXEC_ASYNC) in wxBase (Lukasz Michalski)
+- Add support for wxExecute(wxEXEC_ASYNC) in wxBase (Lukasz Michalski).
- Added wxXLocale class and xlocale-like functions using it.
-- Allow loading message catalogs from wxFileSystem (Axel Gembe)
+- Allow loading message catalogs from wxFileSystem (Axel Gembe).
- Added wxMessageQueue class for inter-thread communications
- Use UTF-8 for Unicode data in wxIPC classes (Anders Larsen)
- Added support for user-defined types to wxConfig (Marcin Wojdyr).
- Implemented wxMemoryInputStream::CanRead().
- Implemented wxMemoryFSHandler::FindFirst/Next().
- Added wxEventLoop::DispatchTimeout().
+- Added wxZlibStream::SetDictionary() (Axel Gembe).
- Added wxEXEC_BLOCK flag (Hank Schultz).
- Add support for wxStream-derived classes to wxRTTI (Stas Sergeev).
- Added wxStreamBuffer::Truncate() (Stas Sergeev).
- Handle exceptions thrown from overridden wxView::OnCreate() gracefully.
- Added wxPATH_RMDIR_FULL/RECURSIVE wxFileName::Rmdir() flags (Marcin Malich).
- Added wxStandardPaths::GetAppDocumentsDir().
+- Added wx-prefixed versions of DECLARE_NO_{COPY,ASSIGN}_CLASS macros.
+- Added wxFileName::ReplaceEnvVariable and wxFileName::ReplaceHomeDir.
+- Added wxProtocol::SetDefaultTimeout(); the default timeout for both wxHTTP and wxFTP
+ protocols is 60 seconds.
+- Added wxStrnlen() for safe computation of string length.
+- Added wxImage::Clear() (troelsk).
+- Added wxLog::Log().
+- Added wxProtocolLog and use it in wxFTP.
+- Added wxXmlResource::GetResourceNode().
+- Optimize wxString::Replace() to use an O(N) algorithm (Kuang-che Wu).
+- Added support of %l format specifier to wxDateTime::ParseFormat().
+- wxImage handlers can now support multiple extensions (Ivan Krestinin).
All (Unix):
- Added wx-config --optional-libs command line option (John Labenski).
- Noticeably (by a factor of ~150) improve wxIPC classes performance.
+- Configure options --with-opengl and --enable-mediactrl now default to "auto":
+ if OpenGL and GStreamer libraries are available the "gl" and "media" wx libraries
+ are automatically built.
All (GUI):
- Also added wxCANCEL_DEFAULT to wxMessageDialog.
- Allow copying text in the log dialogs.
- Added multisample (anti-aliasing) support to wxGLCanvas (Olivier Playez).
+- Added wxEVT_COMMAND_COMBOBOX_DROPDOWN/CLOSEUP events (Igor Korot).
- Added wxCAL_SHOW_WEEK_NUMBERS wxCalendarCtrl style (Sören Meyer-Eppler).
- Initialize wx{Client,Paint,Window}DC with fonts/colours of its window.
- Added wxNativeContainerWindow to allow embedding wx into native windows.
- Added support for labels for toolbar controls (Vince Harron).
- Added wxMessageDialog::SetMessage() and SetExtendedMessage().
- Added wxListCtrl::Set/GetColumnsOrder() (Yury Voronov).
+- Added wxTextEntry::SetHint().
- Made wxLogWindow thread-safe (Barbara Maren Winkler).
- Added wxWindow::AlwaysShowScrollbars() (Julian Scheid).
- Added wxMouseEvent::GetClickCount() (Julian Scheid).
- Added support for resizing wxWizard bitmaps to the current page height,
via SetBitmapPlacement, SetBitmapBackgroundColour and SetMinimumBitmapWidth.
Also made it easier to derive from wxWizard and override behaviour.
-- Made wxSizer::Fit() set the client size of the target window
+- Made wxSizer::Fit() set the client size of the target window.
- Add support for wxDatePickerCtrl in wxGenericValidator (Herry Ayen Yang)
- Added wxWindow::HasFocus().
- Added wxGLCanvas::IsDisplaySupported().
GetNativeSizeHint() now return more sensible values in wxMSW and wxMac and
no longer return bogus values.
- Added wxControl::SetLabelText() and EscapeMnemonics().
+- Added support for wxFILTER_EMPTY and wxFILTER_DIGITS styles to wxTextValidator;
+ added also the SetCharIncludes() and SetCharExcludes() utilities.
+- Added wxIMAGE_OPTION_PNG_FILTER and many wxIMAGE_OPTION_PNG_COMPRESSION_* options
+ to wxImage and wxPNGHandler to allow for custom compression levels when saving PNGs
+ (Perdana Panduwana)
+- Added GetValue(), GetRange(), GetMessage() functions to wxProgressDialog
+- Moved yield functions to wxEventLoopBase and implemented for wxMSW and wxGTK
+ a selective wxEventLoopBase::YieldFor() function.
+ Added also wxEventLoopBase::IsYielding to help cure re-entrancy problems with Yield().
+- Render <th> element contents in bold in wxHTML.
+- Added wxGrid::{Set,Get}{Row,Col}Sizes() methods (Andrey Putrin).
+- Add support for wxSP_WRAP in the generic version of wxSpinCtrlDouble.
+- Added wxGetSelectedChoices() replacing wxGetMultipleChoices() (Kolya Kosenko).
wxGTK:
- Support for markup and ellipsization in wxStaticText (Francesco Montorsi).
+- Ellipsize long strings in wxStatusBar (Francesco Montorsi)
- Native implementation for wxHyperlinkCtrl (Francesco Montorsi).
- Native keyboard navigation implementation.
- Added wxCB_SORT support to wxComboBox (Evgeniy Tarassov).
wxMSW:
+- Fix many problems with selection in multi-selection wxTreeCtrl (Jonathan Liu).
- Fixed infinite loop in wxThread::Wait() in console applications.
- Return the restored window size from GetSize() when window is minimized.
- wxCheckListBox now looks more native, especially under XP (Marcin Malich).
- Added wxToolTip::SetMaxWidth() and improved default wrapping (Joachim Hönig).
- Changed default toolbar bitmaps size from obsolete 16x15 to 24x24 used
by modern apps.
+- Ellipsize long strings in wxStatusBar (Francesco Montorsi)
+- Fix spurious repaint when changing tooltip text (Jonathan Liu).
+- Fix wxSP_WRAP and wxSP_ARROW_KEYS in wxSpinCtrlDouble (Andrew Radke).
wxX11: