your code if you overrode these functions and change the functions in the
derived classes to use const reference as well.
+- Under MSW wxExecute() arguments are now always properly quoted, as under
+ Unix, and so shouldn't contain quotes unless they are part of the argument.
+
+- wxDocument::OnNewDocument() doesn't call OnCloseDocument() any more.
Changes in behaviour which may result in compilation errors
-----------------------------------------------------------
const wxChar*. wxCStrData is implicitly convertible to both "const char *"
and "const wchar_t *", so this only presents a problem if the compiler cannot
apply the conversion. This can happen in 2 cases:
-
+
+ There is an ambiguity because the function being called is overloaded to
take both "const char *" and "const wchar_t *" as the compiler can't choose
between them. In this case you may use s.wx_str() to call the function
wxConfig now tries to convert all unknown types to wxString automatically.
The simplest solution is to cast the enum value to int.
+- Several wxImage methods which previously had "long bitmaptype" parameters
+ have been changed to accept "wxBitmapType bitmaptype", please use enum
+ wxBitmapType in your code.
+
Deprecated methods and their replacements
-----------------------------------------
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::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";
- EVT_CALENDAR_MONTH and EVT_CALENDAR_YEAR events are deprecated,
use EVT_CALENDAR_PAGE_CHANGED which replaces both of them.
- wxCalendarCtrl::EnableYearChange() and wxCAL_NO_YEAR_CHANGE are deprecated.
-
+ There is no replacement for this functionality, it is being dropped as it is
+ not available in native wxCalendarCtrl implementations.
+- wxDC::SetClippingRegion(const wxRegion&) overload is deprecated as it used
+ different convention from the other SetClippingRegion() overloads: wxRegion
+ passed to it was interpreted in physical, not logical, coordinates. Replace
+ 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.
Major new features in this release
All:
-- Added (experimental) IPv6 support to wxSocket (Arcen)
+- 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)
-- Added wxXLocale class and xlocale-like functions using it
+- Added wxXLocale class and xlocale-like functions using it.
- 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 wxCmdLineParser::AddUsageText() (Marcin 'Malcom' Malich).
- Fix reading/writing UTF-7-encoded text streams.
- Corrected bug in wxTimeSpan::IsShorterThan() for equal time spans.
+- Use std::unordered_{map,set} for wxHashMap/Set if available (Jan van Dijk).
+- Added wxString::Capitalize() and MakeCapitalized().
+- Added wxArray::swap().
+- Added wxSHUTDOWN_LOGOFF and wxSHUTDOWN_FORCE wxShutdown() flags (troelsk).
All (Unix):
- Added wxWindow::Show/HideWithEffect()
- Added wxWrapSizer (Arne Steinarson)
- Added wxSpinCtrlDouble (John Labenski)
+- Support custom labels in wxMessageDialog (Gareth Simpson for wxMac version).
+- Also added wxCANCEL_DEFAULT to wxMessageDialog.
+- Allow copying text in the log dialogs.
+- Added multisample (anti-aliasing) support to wxGLCanvas (Olivier Playez).
+- Initialize wx{Client,Paint,Window}DC with fonts/colours of its window.
- Added wxNativeContainerWindow to allow embedding wx into native windows
- Added custom controls support to wxFileDialog (Diaa Sami and Marcin Wojdyr)
- Added wxDC::StretchBlit() for wxMac and wxMSW (Vince Harron).
- Added support for labels for toolbar controls (Vince Harron).
- Added wxMessageDialog::SetMessage() and SetExtendedMessage().
- Added wxListCtrl::Set/GetColumnsOrder() (Yury Voronov)
+- Made wxLogWindow thread-safe (Barbara Maren Winkler).
- Added wxWindow::AlwaysShowScrollbars() (Julian Scheid)
- Added wxMouseEvent::GetClickCount() (Julian Scheid)
- Added wxBG_STYLE_TRANSPARENT background style (Julian Scheid)
- Fix appending items to sorted wxComboCtrl after creation (Jaakko Salli)
- Don't blit area larger than necessary in wxBufferedDC::UnMask (Liang Jian)
- Fixed wxPixelData<wxImage> compilation (Leonardo Fernandes).
+- Added wxImage::GetType() (troelsk).
+- Added wxGenericStaticBitmap suitable for display of large bitmaps.
+- Support wxListCtrl::GetViewRect() in report view too.
+- Implement wxListCtrl::GetSubItemRect() in generic version (David Barnard).
+- Added wxVListBox::GetItemRect() (Javier Urien).
+- Show busy cursor in wxLaunchDefaultBrowser and add wxBROWSER_NOBUSYCURSOR.
+- Added wxFlexGridSizer::Is{Row,Col}Growable() (Marcin Wojdyr).
+- Added "enabled" and "hidden" attributes to radio box items in XRC.
wxGTK:
- Pass current control text to EVT_TEXT handler for wxSpinCtrl (John Ratliff).
- Added gtk.tlw.can-set-transparency system option.
- Added support for GTK+ print backend
+- Fix changing font/colour of label in buttons with images (Marcin Wojdyr).
+- Fix wxDC::Blit() support for user scale and source offset (Marcin Wojdyr).
wxMac:
- Better IconRef support (Alan Shouls).
-- Added support for changing button labels in wxMessageDialog (Gareth Simpson).
- Fix duplicate (empty) help menu in non-English programs (Andreas Jacobs).
- Allow accelerators to be used with buttons too (Ryan Wilcox).
- Support resource forks in wxCopyFile() (Hank Schultz).
-- Implement wxLocale::GetInfo() using CFLocale
-- Added native wxCollapsiblePane
+- Implement wxLocale::GetInfo() using CFLocale.
+- Native wxCollapsiblePane implementation.
wxMSW:
- Return the restored window size from GetSize() when window is minimized.
- wxCheckListBox now looks more native, especially under XP (Marcin Malich).
- Allow tooltips longer than 64 (up to 128) characters in wxTaskBarIcon
-- Fix centering wxFileDialog and allow positioning it
-- Allow centering wxMessageDialog on its parent window (troelsk)
-- Show resize gripper on resizeable dialogs (Kolya Kosenko)
-- Implement support for display enumeration under WinCE (Vince Harron)
-- Use different Win32 class names in different wx instances (Thomas Hauk)
+- Fix centering wxFileDialog and allow positioning it.
+- Allow centering wxMessageDialog on its parent window (troelsk).
+- Use vertical scrollbar in wxMessageDialog if it's too big to fit on screen.
+- Show resize gripper on resizeable dialogs (Kolya Kosenko).
+- Implement support for display enumeration under WinCE (Vince Harron).
+- Use different Win32 class names in different wx instances (Thomas Hauk).
+- Support multiline labels for wxCheckBox and wxToggleButton.
+- Print preview is now rendered in the resolution used by printer and
+ accurately represents what will be printed. This fixes wxHtmlEasyPrinting
+ preview inaccuracies on Windows; on other platforms, native preview
+ should be used.
wxX11:
- Added mouse wheel support (David Hart).
- Make Enter key activate the default button (David Hart).
+wxDFB:
+
+- Implement wxBitmap ctor from XBM data.
+
2.8.8
-----
All:
-- Fixed bug with parsing some dates in wxDateTime (Bob Pesner)
-- Fixed bug with parsing negative time zones in wxDateTime::ParseRfc822Date()
+- Fixed bug with parsing some dates in wxDateTime (Bob Pesner).
+- Fixed bug with parsing negative time zones in wxDateTime::ParseRfc822Date().
+- Initialize current line in wxTextBuffer ctor (Suzuki Masahiro).
+- Improved performance of XML parsing (Francesco Montorsi).
+- Fix wxDateTime::ParseRfc822Date() to handle missing seconds (Joe Nader).
All (GUI):
-- Added wxWindow::GetNextSibling() and GetPrevSibling()
-- Improve wximage::ResampleBox() (Mihai Ciocarlie)
-- Implemented ScrollList() in generic wxListCtrl (Tim Kosse)
+- Added wxWindow::GetNextSibling() and GetPrevSibling().
+- Support wxGRID_AUTOSIZE in wxGrid::SetRow/ColLabelSize() (Evgeniy Tarassov).
+- Ensure that wxGrid::AutoSizeColumn/Row() never sets column/row size
+ smaller than the minimal size.
+- Added <scrollrate> parameter to wxScrolledWindow XRC handler.
+- wxRichTextCtrl performance has been improved considerably.
+- Several wxRichTextCtrl style, paste and undo bugs fixed.
+- Added wxRichTextCtrl superscript and subscript support (Knut Petter Lehre).
+- wxNotebook RTTI corrected, so now wxDynamicCast(notebook, wxBookCtrlBase)
+ works.
+- When focus is set to wxScrolledWindow child, scroll it into view.
+- Improve wximage::ResampleBox() (Mihai Ciocarlie).
+- Implemented ScrollList() in generic wxListCtrl (Tim Kosse).
+- SaveAs in docview takes into account path now.
- Fixed wxXmlResource::GetText() to convert data to current locale's
charset in ANSI build.
+- wxGrid now indicates focus by using different colour for selection
+ and hiding cell cursor when it doesn't have focus.
+- Added alpha support to wxImage::Paste() (Steven Van Ingelgem)
+- Use current date when opening popup in generic wxDatePickerCtrl.
+- Remove associated help text from wxHelpProvider when a window is destroyed.
+- Added wxSizerFlags::ReserveSpaceEvenIfHidden() and
+ wxRESERVE_SPACE_EVEN_IF_HIDDEN sizer flag.
+- Added wxWindow::ClientToWindowSize() and WindowToClientSize() helpers.
+- Added wxSizer::ComputeFittingClientSize() and ComputeFittingWindowSize().
+- Fixed wxSizer::SetSizeHints() to work when the best size decreases.
+- Fixed crash in wxHtmlHelpController if the help window is still open.
+- Fixed generic art provider to scale bitmaps down to client-specific
+ best size if needed.
+- Made wxSpinCtrl::Reparent() in MSW and generic versions (Angelo Mottola).
+- Fixed timing of malformed animated GIFs in wxHTML (Gennady Feller).
+- Fixed incorrect layout width caching in wxHTML (Jeff Tupper).
+- wxHTML: preserve TAB characters when copying <pre> content to clipboard.
+- Set focus to wxCalendarCtrl when it is clicked.
+- Don't clear the list control when wxLC_[HV]RULES style is toggled.
+- Don't crash when Ctrl-Shift-T is pressed in empty wxStyledTextControl.
+
+All (Unix):
+
+- Fixed shared libraries to not depend on GStreamer when built with
+ --enable-media; only wxMedia library depends on it now.
+- wxLaunchDefaultBrowser() now uses xdg-open if available.
+- Don't close UDP socket if an empty datagram is received (Mikkel S)
+- Honour locale modifiers such a "@valencia" in system locale (Tim Kosse)
wxMSW:
-- Fix rare bug with messages delivered to wrong wxSocket (Tim Kosse)
-- Fix setting icons when they have non-default (16*16 and 32*32) sizes
+- Fix rare bug with messages delivered to wrong wxSocket (Tim Kosse).
+- Fix setting icons when they have non-default (16*16 and 32*32) sizes.
- Fixed wxLocale::GetInfo to use the C locale.
- Don't enable disabled windows when showing them (Harry McKame).
-- Fix assert when using owner-drawn menu items with the newest (Vista) SDK
+- Fix assert when using owner-drawn menu items with the newest (Vista) SDK.
+- Fixed wxTextCtrl to not process clipboard events twice if there's
+ a custom wxEVT_COMMAND_TEXT_* event handler.
+- Fix wxComboBox to not lose the current value if it was programmatically set
+ to a value not in a list of choices on popup close (Kolya Kosenko)
+- Switching wxListCtrl to report mode from another one now uses full row
+ highlight, just as if the control were created in report mode initially.
+- Use correct index of the right-clicked column in wxListCtrl in the
+ corresponding event even when the control is scrolled horizontally.
+- Implement wxRadioBox::Reparent() correctly (Vince Harron).
+- Make context sensitive help work for the text part of wxSpinCtrl.
+- wxFileType::GetCommand() now looks at Explorer associations and CurVer
+ for increased reliability and conformance to user expectations.
+- Fixed double Init() call in wxTopLevelWindow causing a memory leak on
+ SmartPhone.
+- Fixed rendering of borders for wxTextCtrl with wxTE_RICH(2) style when
+ using Windows XP's Classic UI theme.
+- Text controls with wxTE_RICH style now also generate wxClipboardTextEvents.
+- Fixed wxEVT_COMMAND_TEXT_ENTER generation in wxSpinCtrl.
+- Fixed wxSpinCtrl::GetClientSize() to return sensible value and not just
+ spin button's client size.
+- Fixed IMPLEMENT_APP() to be compatible with the -WU flag of Borland C++
+ compiler (Matthias Bohm).
+- Correct size calculation for toolbars containing controls under pre-XP
+ systems (Gerald Giese)
wxGTK:
- Return false from wxEventLoop::Dispatch() if gtk_main_quit() was called and
- so the loop should exit (Rodolfo Schulz de Lima)
+ so the loop should exit (Rodolfo Schulz de Lima).
+- Implement wxListBox::EnsureVisible() (Andreas Kling)
+- Fixed wxCURSOR_HAND to map to GDK_HAND2 and not GDK_HAND1, for consistency
+ with other applications.
+- Fix wxNotebook::GetPage{Text,Image}() when they were called from the page
+ change event handler for the first added page (Mikkel S).
+- Fixed wxBitmapButton to use focus and hover bitmaps correctly.
+- Fixed race condition which could cause idle processing to stop without
+ processing all pending events.
+- wxAcceleratorTable now works with buttons too.
+
+wxMac:
+
+- Fixed cursor for wxBusyCursor and wxContextHelp.
+- Fixed wxListCtrl to respect items' non-default fonts.
+- wxListCtrl::SetColumnWidth() now supports wxLIST_AUTOSIZE.
+- Fixed handling of transparent background in borderless wxBitmapButton.
2.8.7