or equivalent function should now be done into wxApp::OnEventLoopEnter().
See wxApp::OnEventLoopEnter() and wxApp::OnEventLoopExit() docs for more info.
+- wxDialogs get wxEVT_SIZE events immediately after creation in wxMSW, as with
+ wxFrames. This means that this event handler may be called earlier than in
+ 2.8, check that all the controls are initialized before using them in it.
+
- wxLoadFileSelector() now allows the user to select existing files only.
- Erase background events are now not generated at all when background style is
behaved differently in wxMSW and wxGTK/wxOSX before) if more than one item
is selected in a control with wxDV_MULTIPLE style.
+- wxEVT_COMMAND_MENU_SELECTED, MENU_OPEN and CLOSE events returned a menu from
+ GetEventObject() in all ports but the frame the menu was attached to in wxMSW.
+ Now all ports return the menu that was opened or closed as the event object.
+
Changes in behaviour which may result in compilation errors
-----------------------------------------------------------
- WXWIN_COMPATIBILITY_2_4 doesn't exist any more, please update your code if
you still relied on features deprecated since version 2.4
+- WXWIN_COMPATIBILITY_2_6 still exists but is 0 by default in this release and
+ will be removed in 3.2. You can set it to 1 and rebuild wxWidgets to access
+ the old and deprecated symbols but please consider updating your code
+ instead. Here are replacements for some of the obsolete symbols:
+ + wxSAVE and wxOPEN -> wxFD_SAVE and wxFD_OPEN
+ + WXK_PRIOR and WXK_NEXT -> WXK_PAGEUP and WXK_PAGEDOWN
+ + wxRESIZE_BOX -> wxMAXIMIZE_BOX
+ + wxTHICK_FRAME -> wxRESIZE_BORDER
+ + wxPROCESS_ENTER and wxPASSWORD -> wxTE_PROCESS_ENTER and wxTE_PASSWORD
+ + EVT_SCROLL_ENDSCROLL -> EVT_SCROLL_CHANGED
+ + NewControlId -> wxWindow::NewControlId()
+ + wxFileHistory::GetNoHistoryFiles() -> wxFileHistory::GetCount()
+ + wxSizerItem::SetOption() -> wxSizerItem::SetProportion()
+ + wxSizer::Remove(wxWindow*) -> wxSizer::Detach()
+
- wxDC classes hierarchy has changed, if you derived any classes from wxDC you
need to review them as wxDC doesn't have any virtual methods any longer and
uses delegation instead of inheritance to present different behaviours.
- 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**".
+
+- wxChoicebookEvent, wxListbookEvent, wxNotebookEvent, wxToolbookEvent and
+ wxTreebookEvent are now all synonyms for wxBookCtrlEvent. The existing code
+ using the old names continues to work but they can't be forward-declared
+ any more. Use wxBookCtrlEvent in your code if you need to forward-declare
+ it or just include the appropriate header instead of forward declaration.
+
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.
+- wxDataViewCtrl::StartEditor(item, n) taking column index is now deprecated,
+ use EditItem(item, GetColumn(n)), which takes the column itself, instead.
+- wxWindow::MakeModal() is deprecated, use wxDialog::ShowModal() instead if
+ possible or wxWindowDisabler otherwise.
+
+
+Changes in behaviour visible to end users
+-----------------------------------------
+
+- In wxMSW wxSpinCtrl used to prevent the user from entering more digits than
+ could fit in its visible area. This was inconsistent with the other ports and
+ now the control scrolls if too much text is added.
+
Major new features in this release
----------------------------------
2.9.4:
------
+All:
+
+- Added wxLogFormatter to allow customizing wxLog output (Sébastien Gallou).
+- Added wxFSInputStream for reading data from wxFileSystem (Armel Asselin).
+- 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).
+- Added wxFileName::Exists().
+- Implement wxThread::SetConcurrency() for POSIX systems (Igor Korot).
+- Fix deadlock due to too many events in Unix console apps (Lukasz Michalski).
+- Added wxDir::GetNameWithSep().
+
All (GUI):
+- Added strike-through support to wxFont (Igor Korot).
+- Add support for horizontal mouse wheel events to MSW and GTK (Lauri Nurmi).
+- Fix infinite loop in wxHtmlEasyPrinting when trying to page break images
+ taller than the page height in wxHtmlEasyPrinting (Laurent Poujoulat).
- 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).
+- Implement wxDV_ROW_LINES in generic wxDataViewCtrl (RedCAT).
+- Added EVT_AUI_PANE_ACTIVATED event (Ronny Krüger).
+- Added support for page tooltips to wxAuiNotebook (Armel Asselin).
+- Added wxSplitterWindow::SetSashInvisible() (Armel Asselin).
+- Enable/disable "Window" menu items in AUI MDI correctly (wsu).
+- Added wxTimePickerCtrl::Get/SetTime().
+- Fix WXK_MENU handling in wxStyledTextCtrl under wxGTK (cantabile).
+- Added wxAcceleratorEntry::ToRawString() (Armel Asselin).
+- Added wxDataViewEvent::SetDragFlags() and GetDropEffect() (Friedrich).
+- Added support for fields and virtual attributes to wxRichTextCtrl.
+
+GTK:
+
+- Implement support for wxBG_STYLE_TRANSPARENT (Armel Asselin).
+- Fix wxNotebook best size calculation.
+- Implement wxDirDialog::Create() and wxFileDialog::Create() (vinayakgarg).
+- Fix const methods display in assert dialog (vinayakgarg).
+- Implement native tab art for wxAUI (Jens Lody and Teodor Petrov).
MSW:
- Fixed regression with initial focus in the dialogs in 2.9.3.
+- Use new style directory selection dialog under Vista and later (PB).
- 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).
+- Update stretchable spaces in wxToolBar after tool removal (Catalin Raceanu).
+- Implement wxGraphicsContext::SetInterpolationQuality() (Eric Jensen).
+- Fix coordinate handling in wxDC::Blit() when source DC is a DIB.
+- Fix handling of composite windows in wxToolTip (Armel Asselin).
+- Add VT_I8 support to wxAutomationObject (PB).
+- Fix wxListbook size calculations to avoid spurious scrollbars.
+
+OSX:
+
+- Provide native implementations of wxDatePickerCtrl and wxTimePickerCtrl.
+- Fix handling of positional parameters in wxPrintf() &c (David Connet).
+
+Univ:
+
+- Fix regression with read-only wxComboBox appearance (Jason Erb).
+
+Unix:
+
+- Fix bug with wxDir("/").GetName() returning empty string.
+
2.9.3: (released 2011-12-14)
- 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: