]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/changes.txt
Refactor initialization code in wxTopLevelWindowMSW::Create().
[wxWidgets.git] / docs / changes.txt
index f10176d061fba41d80053822511af4324fc98c9a..b853af9f334bad4e698f8d34d1b4acbdec54b16f 100644 (file)
@@ -80,6 +80,11 @@ Changes in behaviour not resulting in compilation errors, please read this!
 - Default location of wxFileConfig files has changed under Windows, you will
   need to update your code if you access these files directly.
 
 - Default location of wxFileConfig files has changed under Windows, you will
   need to update your code if you access these files directly.
 
+- Return value of wxStandardPaths::GetUserDataDir() and similar functions has
+  changed if the vendor name is defined as it now includes it by default under
+  Windows and OS X. Call wxStandardPaths::UseAppInfo(AppInfo_AppName) to
+  revert to behaviour compatible with 2.8 version.
+
 - 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.
 - 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.
@@ -96,7 +101,7 @@ Changes in behaviour not resulting in compilation errors, please read this!
   proportions to return to the old behaviour.
 
 - wxWindow::Freeze/Thaw() are not virtual any more, if you overrode them in
   proportions to return to the old behaviour.
 
 - wxWindow::Freeze/Thaw() are not virtual any more, if you overrode them in
-  your code you need to override DoFreeze/Thaw() instead now.
+  your code you need to override DoFreeze/DoThaw() instead now.
 
 - wxCalendarCtrl has native implementation in wxGTK, but it has less features
   than the generic one. The native implementation is used by default, but you
 
 - wxCalendarCtrl has native implementation in wxGTK, but it has less features
   than the generic one. The native implementation is used by default, but you
@@ -122,6 +127,40 @@ Changes in behaviour not resulting in compilation errors, please read this!
   or equivalent function should now be done into wxApp::OnEventLoopEnter().
   See wxApp::OnEventLoopEnter() and wxApp::OnEventLoopExit() docs for more info.
 
   or equivalent function should now be done into wxApp::OnEventLoopEnter().
   See wxApp::OnEventLoopEnter() and wxApp::OnEventLoopExit() docs for more info.
 
+- wxLoadFileSelector() now allows the user to select existing files only.
+
+- Erase background events are now not generated at all when background style is
+  changed. See the updated wxWindow::SetBackgroundStyle() description in the
+  manual for more details.
+
+- wxTreeCtrl::GetSelection now asserts if the tree has the wxTR_MULTIPLE style.
+  Instead use GetSelections() for multiple items; or if you want only the
+  single item last touched, the new wxTreeCtrl::GetFocusedItem.
+
+- Custom log targets should be updated to override wxLog::DoLogRecord() method
+  instead of DoLog() or DoLogString() and must be updated if they call the base
+  class versions of these functions as this won't work any more; please see the
+  documentation of wxLog for more information.
+
+- Confusing wxGridSizer(int cols, int vgap = 0, int hgap = 0) ctor which was
+  easy to mistake for wxGridSizer(int rows, int cols) overload was removed, you
+  will need to specify both vertical and horizontal gap if you want to use this
+  overload or specify both rows and columns and the gap otherwise. Use of the
+  new constructors taking wxSize for the gap argument is preferred. The same
+  applies to wxFlexGridSizer as well.
+
+- wxBoxSizer::AddSpacer(x) now adds space in the direction of the sizer only
+  and not in both this and the orthogonal directions. This behaviour is what
+  most of the people expect but if you really relied on this overload adding
+  space in both directions you should change your code to use AddSpacer(x, x).
+
+- wxTextCtrl::LoadFile no longer sends a text update event.
+
+- wxXmlDocument::Save()'s indentstep argument's interpretation was fixed
+  to match the documentation: it now really is the number of spaces in
+  indentation instead of being its double. Its default value was changed
+  accordingly, to 2.
+
 
 Changes in behaviour which may result in compilation errors
 -----------------------------------------------------------
 
 Changes in behaviour which may result in compilation errors
 -----------------------------------------------------------
@@ -234,6 +273,21 @@ Changes in behaviour which may result in compilation errors
   You may use wxEventLoopBase::SuspendProcessingOfPendingEvents instead of
   locking wxPendingEventsLocker now.
 
   You may use wxEventLoopBase::SuspendProcessingOfPendingEvents instead of
   locking wxPendingEventsLocker now.
 
+- wxBitmapButton::GetBitmapXXX() overloads returning non-const wxBitmap
+  references have been removed, modifying the returned bitmaps never worked and
+  now results in compile-time error.
+
+- wxLogXXX() are now macros, not functions. Because of this calling them with
+  an explicit scope resolution operator ("::wxLogError()") doesn't work any
+  longer, just remove it. Also notice that using them inside an "if" statement
+  without enclosing parentheses results in warnings from g++ with -Wparentheses,
+  add parentheses around the if statement body to work around it.
+
+- wxList::Member() now returns book and not a pointer/iterator. This shouldn't
+  require any changes as it was always meant to be used for checking for the
+  presence of an element in the list only. If you used it as Find(), simple do
+  use Find() instead.
+
 
 Deprecated methods and their replacements
 -----------------------------------------
 
 Deprecated methods and their replacements
 -----------------------------------------
@@ -305,6 +359,8 @@ Major new features in this release
 
 - New propgrid library containing wxPropertyGrid and related classes.
 
 
 - New propgrid library containing wxPropertyGrid and related classes.
 
+- new ribbon library for advanced toolbars.
+
 - Many enhancements to wxDataViewCtrl.
 
 - Event loops, timers and sockets can now be used in wxBase, without GUI.
 - Many enhancements to wxDataViewCtrl.
 
 - Event loops, timers and sockets can now be used in wxBase, without GUI.
@@ -331,29 +387,90 @@ All:
 - Added wxStd{Input,Output}Stream classes (Jonathan Liu).
 - Include port number in host header in wxHTTP (Marcin 'Malcom' Malich).
 - Added wxTempFile::Flush().
 - Added wxStd{Input,Output}Stream classes (Jonathan Liu).
 - Include port number in host header in wxHTTP (Marcin 'Malcom' Malich).
 - Added wxTempFile::Flush().
+- Added support for wxLongLong and wxULongLong in wxVariant.
+- Added wxVector::swap().
+- Many wxLog improvements:
+ * wxLogXXX() functions are now thread-safe.
+ * Log levels can now be set independently for different log components.
+ * wxLog::DoLogRecord() has access to the location of the log message
+   (file, line and function name) and id of the thread which generated it.
+ * SetThreadActiveTarget() allows to set up thread-specific log targets.
+- Fix output buffer overflow in wxBase64Decode() (Eric W. Savage).
+- Added bilinear image resizing algorithm to wxImage (bishop).
+- Fix bug with position argument in wxImage::Size() (Byron Sorgdrager).
+- Fix bug with parsing concatenated switches in wxCmdLineParser (Mike Funduc).
+- Added wxMBConv::cMB2WC(wxCharBuffer) and cWC2MB(wxWCharBuffer) overloads.
+- Added wxAny class; a modern, backwards-incompatible replacement for
+  wxVariant.
+- wxDateTime timezone functions now dynamic (no caching).
+- Added wxHttp::GetCookie and wxHttp::HasCookies (dodge).
 
 All (GUI):
 
 
 All (GUI):
 
+- Added support for showing bitmaps in wxButton.
+- Added wxInfoBar.
+- Added support for corner, row and column headers renderers to wxGrid.
 - wxWindow::SetAutoLayout() now works for all windows, not just panels.
 - wxWindow::SetAutoLayout() now works for all windows, not just panels.
-- Support wxListCtrl columns, items and image lists in XRC (Kinaou Hervé).
+- Support wxListCtrl columns, items and image lists in XRC (Kinaou Hervé).
+- Added support for wxFileCtrl to XRC (Kinaou Hervé).
+- Added ownfg, ownbg and ownfont tags to XRC.
 - Added wxEditableListBox XRC handler.
 - Added wxEditableListBox XRC handler.
+- Added multiple selection support to wxDirCtrl (Steve Lamerton).
 - wxGrid: add possibility to prevent resizing of individual rows/columns.
 - wxHTML: add support for table borders width (Laurent Humbertclaude).
 - Added wxMouseEventsManager.
 - Building OpenGL library is now enabled by default.
 - wxGrid: add possibility to prevent resizing of individual rows/columns.
 - wxHTML: add support for table borders width (Laurent Humbertclaude).
 - Added wxMouseEventsManager.
 - Building OpenGL library is now enabled by default.
+- Fixed wxDataViewCtrl::Set{Foreground,Background}Colour().
 - Improve wxTreeCtrl::ScrollTo() in generic version (Raanan Barzel).
 - Improve wxTreeCtrl::ScrollTo() in generic version (Raanan Barzel).
+- Added wxFont::[Make]{Bold,Italic,Smaller,Larger} and Scale[d]() methods.
 - Added wxDC::CopyAttributes() and use it in wxBufferedDC.
 - Added wxTextWrapper helper class useful for wrapping lines of text.
 - Added wxDC::CopyAttributes() and use it in wxBufferedDC.
 - Added wxTextWrapper helper class useful for wrapping lines of text.
+- Added EVT_DATAVIEW_CACHE_HINT() event (Trigve).
+- Added wxLB_NO_SB style (implemented for MSW only; Dario Senic).
+- Added long version field to wxAboutDialogInfo (Jeff Tupper).
+- Added wxWindow::CanScroll() behaving like the old HasScrollbar() and made
+  HasScrollbar() really check for the scrollbar existence.
+- Added wxKeyEvent::IsKeyInCategory() (Jeff Tupper).
+- Add A0 and A1 paper formats support (Martin Perktold).
+- Fixed wxOwnerDrawComboCtrl popup size on Mac (scrollbars were always shown).
+- Fixed wxOwnerDrawComboCtrl focus problem on Mac (first-time popup
+  dismissed immediately as text control grabbed the focus).
+- wxPropertyGrid: added wxPG_EX_MULTIPLE_SELECTION.
+- wxPropertyGrid: added functions for editing property labels.
+- wxPropertyGrid: added wxPG_NO_INTERNAL_BORDER, wxPG_EX_NO_TOOLBAR_DIVIDER
+  and wxPG_EX_TOOLBAR_SEPARATOR styles for finer control over borders.
+  Borders around property grid are now native for consistency.
+- Added wxXmlResource::LoadObjectRecursively().
+- Added wxColour::Set/GetRGB() and Set/GetRGBA() methods (Marcel Haß).
+- wxRTC: added wxRICHTEXT_HANDLER_USE_CSS flag for HTML handler to use CSS
+  where possible.
+- wxRTC: corrected centring and right-justification spacing.
+- Added wxBORDER_THEME to XRC.
 
 GTK:
 
 - wxRadioBox constructor uses default consistent with other ports now.
 
 GTK:
 
 - wxRadioBox constructor uses default consistent with other ports now.
+- Partially implemented wxTextCtrl::GetStyle() (Igor Romanov).
+- Corrected themed border display.
+
+Mac:
+
+- Implement wxWindow::ShowWithEffect() in wxOSX/Cocoa.
+- Correct min/max pages display in the print dialog (Auria).
 
 MSW:
 
 
 MSW:
 
+- Translate wxMessageDialog labels to the language of the current locale.
 - Allow changing the height of wxChoice and wxComboBox.
 - Update CRT environment block in wxSetEnv() too.
 - Fix wxMDIChildFrame::SetSize() (Lars Rosenboom).
 - Allow changing the height of wxChoice and wxComboBox.
 - Update CRT environment block in wxSetEnv() too.
 - Fix wxMDIChildFrame::SetSize() (Lars Rosenboom).
+- Fix wxTreeCtrl::UnselectItem() in single selection controls.
+- Allow customizing wxStandardPaths logic for program directory determination.
+- Use time in wxDateTime <-> SYSTEMTIME conversion (troelsk).
+- Setting colours for wxSpinCtrl now works.
+- Worked around child window and caret positioning bug (in Windows) when using
+  wxBORDER_THEME in a container window.
+- Suppressed spurious character event for decimal key in numeric keypad.
 
 i18n:
 
 
 i18n:
 
@@ -460,7 +577,7 @@ All (GUI):
 - 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).
 - 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).
+- 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 custom controls support to wxFileDialog (Diaa Sami and Marcin Wojdyr).
 - 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).
@@ -613,7 +730,7 @@ wxMSW:
   preview inaccuracies on Windows; on other platforms, native preview
   should be used.
 - Implement wxFileName::SetTimes() for directories (Steve Lamerton).
   preview inaccuracies on Windows; on other platforms, native preview
   should be used.
 - Implement wxFileName::SetTimes() for directories (Steve Lamerton).
-- Added wxToolTip::SetMaxWidth() and improved default wrapping (Joachim Hönig).
+- 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)
 - Changed default toolbar bitmaps size from obsolete 16x15 to 24x24 used
   by modern apps.
 - Ellipsize long strings in wxStatusBar (Francesco Montorsi)
@@ -632,7 +749,7 @@ wxDFB:
 i18n:
 -----
 
 i18n:
 -----
 
-- Slovak translations added (Ivan Masár).
+- Slovak translations added (Ivan Masár).
 
 
 2.8.10:
 
 
 2.8.10:
@@ -1397,7 +1514,7 @@ All (GUI):
 - wxNB_HITTEST_* flags renamed to wxBK_HITTEST_* to serve all book controls.
 - Added wxTopLevelWindow::SetTransparent and CanSetTransparent, with
   implementations (so far) for wxMSW and wxMac.
 - wxNB_HITTEST_* flags renamed to wxBK_HITTEST_* to serve all book controls.
 - Added wxTopLevelWindow::SetTransparent and CanSetTransparent, with
   implementations (so far) for wxMSW and wxMac.
-- Allow customizing individual grid lines appearance (Søren Lassen).
+- Allow customizing individual grid lines appearance (Søren Lassen).
 - Fixed middle click events generation in generic wxTreeCtrl (Olly Betts).
 - Added wxEVT_MOUSE_CAPTURE_LOST event that must be handled by all windows
   that CaptureMouse() is called on.
 - Fixed middle click events generation in generic wxTreeCtrl (Olly Betts).
 - Added wxEVT_MOUSE_CAPTURE_LOST event that must be handled by all windows
   that CaptureMouse() is called on.
@@ -1560,7 +1677,7 @@ wxX11:
 - Invisible text problem fixed.
 - Bitmap clipping with masks and scaling improved.
 - Fixed a crash bug in the generic timer.
 - Invisible text problem fixed.
 - Bitmap clipping with masks and scaling improved.
 - Fixed a crash bug in the generic timer.
-- Implemented child process termination notifications (David Björkevik)
+- Implemented child process termination notifications (David Björkevik)
 
 Unix:
 
 
 Unix:
 
@@ -1598,7 +1715,7 @@ All (GUI):
 - Added wxXmlResource::Unload().
 - Possibility of modeless wxWizard dialog (with presentation in sample).
 - Fixed a rare crash due to malformed HTML in wxHTML (Xavier Nodet).
 - Added wxXmlResource::Unload().
 - Possibility of modeless wxWizard dialog (with presentation in sample).
 - Fixed a rare crash due to malformed HTML in wxHTML (Xavier Nodet).
-- Ctrl+mouse wheel changes zoom factor in print preview (Zbigniew Zagórski).
+- Ctrl+mouse wheel changes zoom factor in print preview (Zbigniew Zagórski).
 - Cross-compile now supported for wxGTK, wxX11 and wxMotif.
 - Cygwin compilation of wxX11, wxGTK and wxMotif now supported.
 - Now reads "help" parameter for all windows (context help text).
 - Cross-compile now supported for wxGTK, wxX11 and wxMotif.
 - Cygwin compilation of wxX11, wxGTK and wxMotif now supported.
 - Now reads "help" parameter for all windows (context help text).
@@ -1613,7 +1730,7 @@ wxMSW:
 - Fixed wxSlider::GetSelEnd() (Atilim Cetin).
 - Fixed accelerators of menu items added to already attached submenus.
 - Position of wxEVT_MOUSEWHEEL events is now in client, not screen, coordinates.
 - Fixed wxSlider::GetSelEnd() (Atilim Cetin).
 - Fixed accelerators of menu items added to already attached submenus.
 - Position of wxEVT_MOUSEWHEEL events is now in client, not screen, coordinates.
-- Handle absence of wxListCtrl column image better (Zbigniew Zagórski).
+- Handle absence of wxListCtrl column image better (Zbigniew Zagórski).
 - Fixed asynchronous playback of large sound files in wxSound.
 - Added wxDynamicLibrary::GetSymbolAorW().
 - Fixed default size of wxStaticText controls with border being too small.
 - Fixed asynchronous playback of large sound files in wxSound.
 - Added wxDynamicLibrary::GetSymbolAorW().
 - Fixed default size of wxStaticText controls with border being too small.
@@ -1896,8 +2013,8 @@ All:
   use accessors methods now (Mart Raudsepp)
 - new classes for reading and writing ZIP files (M.J.Wetherell)
 - large files support for wxFFile (M.J.Wetherell)
   use accessors methods now (Mart Raudsepp)
 - new classes for reading and writing ZIP files (M.J.Wetherell)
 - large files support for wxFFile (M.J.Wetherell)
-- classes in the manual are now cross-referenced (Zbigniew Zagórski)
-- Norwegian (Bokmål) translation added (Hans F. Nordhaug)
+- classes in the manual are now cross-referenced (Zbigniew Zagórski)
+- Norwegian (Bokmål) translation added (Hans F. Nordhaug)
 - wxDynamicLibrary::HasSymbol() added
 - added wxEXEC_NODISABLE flag to be used with wxExecute(wxEXEC_SYNC)
 - added wxTextInputStream::operator>>(wchar_t) for compilers which support this
 - wxDynamicLibrary::HasSymbol() added
 - added wxEXEC_NODISABLE flag to be used with wxExecute(wxEXEC_SYNC)
 - added wxTextInputStream::operator>>(wchar_t) for compilers which support this
@@ -1946,7 +2063,7 @@ All (GUI):
 - added wxMediaCtrl
 - added wxDatePickerCtrl
 - wxHtmlWindow now supports background images given in <body> tag
 - added wxMediaCtrl
 - added wxDatePickerCtrl
 - wxHtmlWindow now supports background images given in <body> tag
-- wxSplitterWindow now supports gravity parameter (Zbigniew Zagórski)
+- wxSplitterWindow now supports gravity parameter (Zbigniew Zagórski)
 - recursive wxSizer::GetItem returns item of given window, sizer or nth index
 - wxLayoutConstraints now use best size, not current size, for AsIs() condition
 - wxSizer::Add/Insert etc. now returns pointer to wxSizerItem just added and this
 - recursive wxSizer::GetItem returns item of given window, sizer or nth index
 - wxLayoutConstraints now use best size, not current size, for AsIs() condition
 - wxSizer::Add/Insert etc. now returns pointer to wxSizerItem just added and this
@@ -2254,7 +2371,7 @@ wxODBC:
 
 All:
 
 
 All:
 
-- event table macros now do some minimal type safety checks (Michael Sögtrop)
+- event table macros now do some minimal type safety checks (Michael Sögtrop)
 - added wxGzipInput/OutputStream, bug fixes in wxZlibStreams (M.J.Wetherell)
 - wxDateTime::ParseDateTime() implemented (Linus McCabe)
 - wxHTTP::GetResponse() added (David Nock)
 - added wxGzipInput/OutputStream, bug fixes in wxZlibStreams (M.J.Wetherell)
 - wxDateTime::ParseDateTime() implemented (Linus McCabe)
 - wxHTTP::GetResponse() added (David Nock)
@@ -2287,7 +2404,7 @@ All (GUI):
 - added some support for C++ exceptions in the library (do read the manual!)
 - added wxListCtrl::GetViewRect()
 - added wxTextCtrl::MarkDirty()
 - added some support for C++ exceptions in the library (do read the manual!)
 - added wxListCtrl::GetViewRect()
 - added wxTextCtrl::MarkDirty()
-- wxToolBar::ToggleTool() now works for radio buttons (Dag Ågren)
+- wxToolBar::ToggleTool() now works for radio buttons (Dag Ågren)
 - wxListCtrl now sends an END_LABEL event if editing was cancelled, too
 - bug in wxRect ctor from two [out of order] wxPoints fixed (Steve Cornett)
 - status text is now restored after wxMenu help is shown in it
 - wxListCtrl now sends an END_LABEL event if editing was cancelled, too
 - bug in wxRect ctor from two [out of order] wxPoints fixed (Steve Cornett)
 - status text is now restored after wxMenu help is shown in it
@@ -2418,7 +2535,7 @@ All:
 wxBase:
 
 - added Watcom makefiles
 wxBase:
 
 - added Watcom makefiles
-- fixed bug with searching in sorted arrays (Jürgen Palm)
+- fixed bug with searching in sorted arrays (Jürgen Palm)
 
 All GUI ports:
 
 
 All GUI ports:
 
@@ -2979,7 +3096,7 @@ All (GUI):
 - polygon support in wxRegion (Klaas Holwerda)
 - wxStreamToTextRedirector to allow easily redirect cout to wxTextCtrl added
 - fixed bug with using wxExecute() to capture huge amounts of output
 - polygon support in wxRegion (Klaas Holwerda)
 - wxStreamToTextRedirector to allow easily redirect cout to wxTextCtrl added
 - fixed bug with using wxExecute() to capture huge amounts of output
-- new wxCalendarCtrl styles added (Søren Erland Vestø)
+- new wxCalendarCtrl styles added (Søren Erland Vestø)
 - wxWizard changes: loading from WXR support, help button (Robert Cavanaugh)
 - wxDirSelector() added (Paul A. Thiessen)
 - wxGrid cell editing veto support (Roger Gammans)
 - wxWizard changes: loading from WXR support, help button (Robert Cavanaugh)
 - wxDirSelector() added (Paul A. Thiessen)
 - wxGrid cell editing veto support (Roger Gammans)
@@ -3087,7 +3204,7 @@ wxBase:
 - wxZipFSHandler::FindFirst() and FindNext() now correctly list directories
 - wxMimeTypesManager now can create file associations too (Chris Elliott)
 - wxCopyFile() respects the file permissions (Roland Scholz)
 - wxZipFSHandler::FindFirst() and FindNext() now correctly list directories
 - wxMimeTypesManager now can create file associations too (Chris Elliott)
 - wxCopyFile() respects the file permissions (Roland Scholz)
-- wxFTP::GetFileSize() added (Søren Erland Vestø)
+- wxFTP::GetFileSize() added (Søren Erland Vestø)
 - wxDateTime::IsSameDate() bug fixed
 - wxTimeSpan::Format() now behaves more as expected, see docs
 - wxLocale now provides much more convenient API for setting language and
 - wxDateTime::IsSameDate() bug fixed
 - wxTimeSpan::Format() now behaves more as expected, see docs
 - wxLocale now provides much more convenient API for setting language and