their overridden OnExecute() or override a more convenient OnExec() instead.
-Use of STL containers by default
---------------------------------
-
-wxWidgets uses STL containers for the implementation of wxVector, wxList,
-wxDList and wxStack by default since 2.9.2 release. While the STL-based
-versions are mostly compatible with the old ones, there are some differences:
-
- - wxList::compatibility_iterator must be used instead of wxList::Node* when
- iterating over the list contents. The compatibility_iterator class has the
- same semantics as a Node pointer but it is an object and not a pointer, so
- you need to write
-
- for ( wxWindowList::compatibility_iterator it = list.GetFirst();
- it;
- it = it->GetNext() )
- ...
-
- instead of the old
-
- for ( wxWindowList::Node *n = list.GetFirst(); n; n = n->GetNext() )
- ...
-
- - wxSortedArrayString and wxArrayString are separate classes now and the
- former doesn't derive from the latter. If you need to convert a sorted array
- to a normal one, you must copy all the elements. Alternatively, you may
- avoid the use of wxSortedArrayString by using a normal array and calling its
- Sort() method when needed.
-
- - WX_DEFINE_ARRAY_INT(bool) cannot be used because of the differences in
- std::vector<bool> specialization compared with the generic std::vector<>
- class. Please either use std::vector<bool> directly or use an integer array
- instead.
-
-Finally notice that you may set wxUSE_STD_CONTAINERS to 0 when compiling
-wxWidgets to use the non-STL containers.
-
-
wxODBC and contrib libraries removal
------------------------------------
wxAutomationInstance_SilentIfNone flag to prevent the error message if no
currently running instances of this object are available.
-- Signatures of wxDataViewCustomRenderer::Activate(), LeftClick() and
- StartDrag() virtual methods changed. You will need to change them in your
- derived renderer class too if you override them.
+- Signature of wxDataViewCustomRenderer::StartDrag() virtual method changed.
+ You will need to change it in your derived renderer class too if you override
+ it.
+
+- wxDataViewCustomRenderer::Activate() and LeftClick() were replaced with the
+ new ActivateCell() method. You will need to change it in your derived
+ renderer class accordingly.
- wxThread::Wait() and wxThread::Delete() used to dispatch the events while
waiting for the thread to exit in wxMSW. They still do it in default build
prevent the parent wxTopLevelWindow from interfering with the keyboard
handling of the window that captured the mouse.
+- wxDataViewCtrl::GetSelection() now returns invalid item in all ports (this
+ behaved differently in wxMSW and wxGTK/wxOSX before) if more than one item
+ is selected in a control with wxDV_MULTIPLE style.
+
Changes in behaviour which may result in compilation errors
-----------------------------------------------------------
- wxST_MARKUP doesn't exist any more, use wxControl::SetLabelMarkup() instead.
+- wxComboBox::IsEmpty(), which was previously available in some ports (but not
+ wxMSW), doesn't exist any more, use either IsListEmpty() or IsTextEmpty().
+
+- wxSingleChoiceDialog ctors and Create() now have 2 overloaded versions: one
+ taking void** client data and the deprecated one taking char**. This can
+ result in compilation errors due to an ambiguity between them if you pass
+ NULL as client data. To fix this, cast NULL explicitly to "void**".
+
Deprecated methods and their replacements
-----------------------------------------
- Second parameter of wxSlider::SetTickFreq(int n, int pos) is deprecated,
simply remove it from your code and use wxSlider::SetTickFreq(int n) as it
was never used anyhow.
+- wxSingleChoiceDialog ctor and Create() take "void**" client data pointer
+ instead of "char**". As the client data is typically untyped, you should
+ simply remove the casts to "char**" which you probably have in your code if
+ you use these functions.
+
Major new features in this release
----------------------------------
was added.
-2.9.2:
+2.9.4:
+------
+
+All:
+
+- Added wxLogFormatter to allow customizing wxLog output (Sébastien Gallou).
+- Added "%z" support to wxDateTime::Format() and Parse() (Armel Asselin).
+- Add wxHTTP::SetPostBuffer(wxMemoryBuffer) and SetPostText() (Eran Ifrah).
+- Fix wrong time zone used in wxDateTime::UNow().
+- Fix performance of wxStdInputStream with MSVC8/9 (wsu).
+
+All (GUI):
+
+- Added strike-through support to wxFont (Igor Korot).
+- Added wxFilePickerCtrl::SetInitialDirectory().
+- Added wxDataViewItemAttr::SetBackgroundColour() and implemented it in generic
+ wxDataViewCtrl (Andrew Xu).
+- Fix item alignment in icon view in the generic wxListCtrl.
+- Support font-family/style, text-decoration in wxHtmlWindow (Blake Oleander).
+- Show ribbon tools help strings in tooltips (John Roberts).
+- Improve row/column selection modes in wxGrid (joostn).
+- Send wxEVT_UPDATE_UI for wxRibbonButtonBar and wxRibbonToolBar (Emilien Kia).
+- Add InsertXXXButton() to wxRibbonButtonBar and wxRibbonToolBar (Emilien Kia).
+- Allow enabling/disabling and toggling tools in wxRibbonToolBar (Emilien Kia).
+- Fix multiple item selection in generic wxTreeCtrl (Igor Korot).
+- Implement wxMenuBar::IsEnabledTop() for all major ports (Igor Korot).
+- Implement best size calculation for report mode wxListCtrl.
+- Fix setting of the frame icon when using non-standard icon sizes (vid).
+
+GTK:
+
+- Fix wxNotebook best size calculation.
+
+MSW:
+
+- Fixed regression with initial focus in the dialogs in 2.9.3.
+- Added support for wxEXEC_MAKE_GROUP_LEADER to wxExecute (tteras).
+- Set wxMenu being closed in wxEVT_MENU_CLOSE events (Marcin Malich).
+- Fix coordinates and Z-position for joystick events (Markus Juergens).
+- Fix size of the font returned by wxTextCtrl::GetStyle() (Igor Korot).
+- Add wxActiveXContainer::QueryClientSiteInterface and implement it in
+ wxWebViewIE to improve the default behaviour (Allonii)
+
+OSX:
+
+- Provide native implementations of wxDatePickerCtrl and wxTimePickerCtrl.
+
+Univ:
+
+- Fix regression with read-only wxComboBox appearance (Jason Erb).
+
+
+
+2.9.3: (released 2011-12-14)
+------
+
+INCOMPATIBLE CHANGES SINCE 2.9.2
+
+- wxPanel::SetBackgroundBitmap() was removed, derive your class from
+ wxCustomBackgroundWindow and use its method with the same name instead.
+
+All:
+
+- Fix parsing of negated long options in wxCmdLineParser (roed_bis).
+- Fix crash in wxArray::insert() overload taking iterator range (wsu).
+- Added wxEventFilter class and wxEvtHandler::{Add,Remove}Filter().
+- Added convenient wxCmdLineParser::AddLong{Option,Switch}() wrappers.
+- Added wxStopWatch::TimeInMicro() and wxGetUTCTimeUSec() and improved
+ wxStopWatch precision.
+- Made wxGetLocalTimeMillis() really return local time, added
+ wxGetUTCTimeMillis() returning what this function used to return.
+- Added wxCriticalSection::TryEnter() (Catalin Raceanu).
+- Add support for OpenBSD to wxDialUpManager (brad0).
+- Added wxEXEC_HIDE_CONSOLE flag.
+
+All (GUI):
+
+- Added wxWebView library (Steven Lamerton & Auria, GSoC 2011 project).
+- Added wxTreeListCtrl class.
+- Added wxTimePickerCtrl class.
+- Added wxRichToolTip class.
+- Added documented, public wxNavigationEnabled<> class.
+- Added wxTextCtrl::PositionToCoords() (Navaneeth).
+- Added support for wxHELP button to wxMessageDialog.
+- Added wxBannerWindow class.
+- Allow setting window shape to arbitrary wxGraphicsPath.
+- Added wxTextEntry::AutoCompleteDirectories().
+- Support float, double and file name values in wxGenericValidator (troelsk).
+- Add support for custom numeric formats to wxGrid (Kinaou Hervé).
+- Fix keyboard navigation in wxGrid with hidden columns (ivan_14_32).
+- Add wxDataViewEvent::IsEditCancelled() (Allonii).
+- Send EVT_DATAVIEW_ITEM_CONTEXT_MENU events even when not clicking on an item.
+- Allow marking wxTreeBook nodes to expand initially in XRC (RedTide).
+- Added customizable wxDocManager::OnMRUFileNotExist() virtual method.
+- Fix stock labels when not using mnemonics for Chinese (cw.ahbong).
+- Added wxComboBox::IsListEmpty() and IsTextEmpty().
+- Added wxDataViewCtrl::GetSelectedItemsCount() and HasSelection().
+- Added wxFLP_SMALL and wxDIRP_SMALL styles.
+- Added support for saving alpha with TIFF images.
+- Added wxPersistentSplitter.
+- Derive wxAuiNotebook from wxBookCtrlBase (Steven Lamerton).
+- Fix tooltips in wxSearchCtrl and other composite controls (Catalin Raceanu).
+- Allow converting to and from wxGraphicsBitmap and wxImage directly.
+- Allow wxGraphicsFont creation without passing by wxFont.
+- Added wxDataViewCustomRenderer::ActivateCell().
+- Add "checked" property for toolbar tool elements in XRC.
+- Allow customization of the locations where persistent settings are stored.
+- Restore support for reusing ids more than 254 times (Armel Asselin).
+- Added wxIMAGE_OPTION_ORIGINAL_{WIDTH,HEIGHT} (Catalin Raceanu).
+- Add wxTopLevelWindow::SetRepresentedFilename() (Andrej Vodopivec).
+
+OSX:
+
+- Implement wxRegion::Equal() (Dr.Acula).
+- Implement wxFileType::GetOpenCommand().
+- wxGetOsVersion() now returns more sensible version numbers, e.g. 10 and 6
+ for OS X 10.6.
+- Added wxApp::MacOpenFiles and deprecated wxApp::MacOpenFile.
+- Implement wxEVT_CHAR_HOOK event generation in wxOSX/Cocoa.
+- Implemented wxComboBox::Popup() and Dismiss() in wxOSX/Cocoa (joostn).
+
+GTK:
+
+- Generate events for two auxiliary mouse buttons in wxGTK (Marcin Wojdyr).
+- Fix conflict between wxDIALOG_NO_PARENT and wxICON_EXCLAMATION (David Hart).
+
+MSW:
+
+- Added wxGCDC(wxEnhMetaFileDC) ctor (Marcin Wojdyr).
+- Added wxTopLevelWindow::MSWGetSystemMenu().
+- Multiline text controls no longer select all content when gaining focus from
+ the keyboard.
+- Implement wxStackWalker for x86-64 (Artur Bać).
+
+
+2.9.2: (released 2011-07-05)
------
All:
-- Use standard implementations of container classes by default, you need to
- explicitly set wxUSE_STD_CONTAINERS to 0 to use wxWidgets implementations.
- Added cwd and env arguments to wxExecute() (Emilien Kia).
- Added "rest" argument to wxString::Before{First,Last}().
- Added wxThread::OnKill() and OnDelete() callbacks.
- Added wxThread::Wait() and Delete() "wait mode" parameter (Catalin Raceanu).
- Allow showing milliseconds in wxLog time stamps (tan).
- Added support for processing instructions in wxXmlDocument (Nick Matthews).
+- Added wxThreadEvent for communicating between threads to wxBase.
Unix:
- Added wxCommandLinkButton (Rickard Westerlund, GSoC 2010 project).
- Added wxUIActionSimulator (Steven Lamerton, GSoC 2010 project).
- Added support for dynamic auto-completion in wxTextEntry.
+- Added images support to wxToggleButton (Garrick Meeker).
- wxAUI: support auto-orientable toolbars (wsu).
- wxAUI: add support for icons in pane title bars (triton).
- Added wxPanel::SetBackgroundBitmap().
- wxHTML: render in RTL order inside RTL window (Richard Bullington-McGuire).
- wxRibbon: added EVT_RIBBONGALLERY_CLICKED event (John Roberts).
- wxRibbon: allow hiding the panels and showing tabs only (snowleopard).
+- Add support for child documents to docview framework.
- Add support for CP-866 encoding to wxEncodingConverter (madnut).
- Consistency fixes for keyboard events across all major ports.
- Added EVT_RIBBONBAR_TAB_LEFT_DCLICK event (snowleopard).
- Added wxDocManager::FindTemplate() (troelsk).
- Return bool, not void, from wxImage::ConvertAlphaToMask() (troelsk).
- Fixed resizing columns in wxGrid when they were reordered.
+- Fixed keyboard navigation when wxGrid columns are reordered.
- Added wxImage::Rotate180() (Jeff Tupper).
- Added support for saving TGA files.
- Added wxArtProvider returning higher quality icons from Tango project.
- Allow customizing AUI tab colours in wxAuiTabArt (snowleopard).
- Added wxAffineMatrix2D class (Catalin Raceanu).
- Allow showing preview frame non modally (John Roberts).
+- Improve appearance of the generic wxHyperlinkCtrl (David Connet).
GTK:
- wxTLW generates wxEVT_MAXIMIZE.
- Fix copying clipboard data to primary selection (David Hart).
- Implement wxGraphicsContext::GetSize() (Marcin Wojdyr).
+- Implement wxCalendarCtrl::SetDateRange() for the native control.
MSW: