]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/changes.txt
Use UTF16 for text data object on Mac. Fixes #10902
[wxWidgets.git] / docs / changes.txt
index e69e2b7d26f98b43d2a4a8ea192c02dc89def167..405fff83fec7d4b98210cbb8019425b7d51ef8d2 100644 (file)
@@ -33,6 +33,15 @@ changes:
      wxString, in many cases code using it won't compile any more and NULL
      should be replaced with an empty string.
 
      wxString, in many cases code using it won't compile any more and NULL
      should be replaced with an empty string.
 
+- Functions returning "const wxChar *" were changed as well. Mostly they now
+  return wxString which is then transparently convertible to either "const char
+  *" or "const wchar_t *" but in some cases, notably wxDateTime::ParseXXX(),
+  the returned string could be NULL and so a separate helper class is used. If
+  you obtain compilation errors because of this, you can always correct them by
+  explicitly assigning the function return value to a variable of wanted type.
+  A slightly more intrusive but better solution is to use ParseXXX() version
+  with wxString::const_iterator output parameter which simply returns bool to
+  indicate the parsing success.
 
 - Some structure fields which used to be of type "const wxChar *" (such as
   wxCmdLineEntryDesc::shortName, longName and description fields) are now of
 
 - Some structure fields which used to be of type "const wxChar *" (such as
   wxCmdLineEntryDesc::shortName, longName and description fields) are now of
@@ -108,6 +117,17 @@ Changes in behaviour not resulting in compilation errors, please read this!
   GetSizeAvailableForScrollTarget() method, please see its documentation for
   more details.
 
   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.
+
+- 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.
+
 
 Changes in behaviour which may result in compilation errors
 -----------------------------------------------------------
 
 Changes in behaviour which may result in compilation errors
 -----------------------------------------------------------
@@ -119,7 +139,7 @@ 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.
 
   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() (and other wxEvtHandler functions inherited by wxWindow)
+- 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.
   has been made protected to prevent wrongly using it instead of correct
   GetEventHandler()->ProcessEvent().
   New ProcessWindowEvent() was added for convenience.
@@ -212,10 +232,17 @@ Changes in behaviour which may result in compilation errors
 - 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.
 
 - 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); }
+- wxListCtrlCompare function used with wxListCtrl::SortItems() must now declare
+  its third parameter as wxIntPtr and not long (this allows passing pointers
+  to it under 64 bit platforms too).
+
+- Global wxPendingEvents and wxPendingEventsLocker objects were removed.
+  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.
 
 
 Deprecated methods and their replacements
 
 
 Deprecated methods and their replacements
@@ -234,14 +261,16 @@ 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
   "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.
 - 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.
@@ -256,13 +285,23 @@ Deprecated methods and their replacements
   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.
   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.
 - wxDos2UnixFilename, wxUnix2DosFilename, wxStripExtension, wxGetTempFileName,
   wxExpandPath, wxContractPath, wxRealPath, wxCopyAbsolutePath, wxSplitPath
   were deprecated in favour of wxFileName methods. See docs for more info.
-- global wxPendingEvents and wxPendingEventsLocker objects were removed; now you may use
-  wxEventLoopBase::SuspendProcessingOfPendingEvents instead of locking wxPendingEventsLocker.
+- 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.
+- building the windows which are placed inside wxStaticBoxes as siblings of the
+  wxStaticBox is still allowed but it's deprecated as it gives some problems
+  on some ports (e.g. wxGTK).
+  You should now create windows placed inside a wxStaticBox as children of
+  the static box itself.
+- wxMouseState::{Left,Middle,Right}Down() were renamed to XXXIsDown() for
+  consistency with wxMouseEvent and the old names were deprecated.
+
 
 Major new features in this release
 ----------------------------------
 
 Major new features in this release
 ----------------------------------
@@ -294,6 +333,51 @@ Major new features in this release
   was added.
 
 
   was added.
 
 
+2.9.1:
+------
+
+All:
+
+- 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.
+
+All (GUI):
+
+- wxWindow::SetAutoLayout() now works for all windows, not just panels.
+- 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 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.
+- 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.
+
+GTK:
+
+- wxRadioBox constructor uses default consistent with other ports now.
+
+MSW:
+
+- 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.
+
+i18n:
+
+- Korean translations added (Sungkee Jung).
+- Romanian translations added (Manuel Ciosici).
+
+
 2.9.0
 -----
 
 2.9.0
 -----
 
@@ -301,9 +385,9 @@ All:
 
 - Added (experimental) IPv6 support to wxSocket (Arcen).
 - Cleaned up wxURI and made it Unicode-friendly.
 
 - 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.
 - 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).
 - 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).
@@ -315,6 +399,7 @@ All:
 - Implemented wxMemoryInputStream::CanRead().
 - Implemented wxMemoryFSHandler::FindFirst/Next().
 - Added wxEventLoop::DispatchTimeout().
 - 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).
 - Added wxEXEC_BLOCK flag (Hank Schultz).
 - Add support for wxStream-derived classes to wxRTTI (Stas Sergeev).
 - Added wxStreamBuffer::Truncate() (Stas Sergeev).
@@ -357,7 +442,13 @@ All:
 - Added wxStrnlen() for safe computation of string length.
 - Added wxImage::Clear() (troelsk).
 - Added wxLog::Log().
 - 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().
 - 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).
+- Added wxFileName::StripExtension() (troelsk).
+- Added wxLOCALE_DATE/TIME_FMT support to wxLocale::GetInfo().
 
 All (Unix):
 
 
 All (Unix):
 
@@ -385,6 +476,7 @@ All (GUI):
 - Also added wxCANCEL_DEFAULT to wxMessageDialog.
 - Allow copying text in the log dialogs.
 - Added multisample (anti-aliasing) support to wxGLCanvas (Olivier Playez).
 - 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 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.
@@ -394,6 +486,7 @@ All (GUI):
 - Added support for labels for toolbar controls (Vince Harron).
 - Added wxMessageDialog::SetMessage() and SetExtendedMessage().
 - Added wxListCtrl::Set/GetColumnsOrder() (Yury Voronov).
 - 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).
 - Made wxLogWindow thread-safe (Barbara Maren Winkler).
 - Added wxWindow::AlwaysShowScrollbars() (Julian Scheid).
 - Added wxMouseEvent::GetClickCount() (Julian Scheid).
@@ -404,7 +497,6 @@ All (GUI):
 - Added wxEventBlocker class (Francesco Montorsi).
 - Added wxFile/DirPickerCtrl::Get/SetFile/DirName() (Francesco Montorsi).
 - Added wxSizerFlags::Top() and Bottom().
 - Added wxEventBlocker class (Francesco Montorsi).
 - Added wxFile/DirPickerCtrl::Get/SetFile/DirName() (Francesco Montorsi).
 - Added wxSizerFlags::Top() and Bottom().
-- Slovak translation added.
 - Fixed tab-related drawing and hit-testing bugs in wxRichTextCtrl.
 - Implemented background colour in wxRichTextCtrl.
 - Fixed crashes in helpview when opening a file.
 - Fixed tab-related drawing and hit-testing bugs in wxRichTextCtrl.
 - Implemented background colour in wxRichTextCtrl.
 - Fixed crashes in helpview when opening a file.
@@ -481,6 +573,14 @@ All (GUI):
   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.
   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.
+- Add alignment flags support to wxSpinCtrl[Double] (Andrew Radke).
+- Added wxGetSelectedChoices() replacing wxGetMultipleChoices() (Kolya Kosenko).
+- Check whether document fits into page horizontally in wxHtmlPrintout, see the
+  new CheckFit() method for more information.
+- Allow reading GIFs with incorrectly specified animation size.
+- Return number of frames in animated GIF from wxGIFHandler::GetImageCount().
 
 wxGTK:
 
 
 wxGTK:
 
@@ -512,6 +612,7 @@ wxMac:
 
 wxMSW:
 
 
 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).
 - 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).
@@ -533,6 +634,8 @@ wxMSW:
 - 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)
+- Fix spurious repaint when changing tooltip text (Jonathan Liu).
+- Fix wxSP_WRAP and wxSP_ARROW_KEYS in wxSpinCtrlDouble (Andrew Radke).
 
 wxX11:
 
 
 wxX11:
 
@@ -543,6 +646,100 @@ wxDFB:
 
 - Implement wxBitmap ctor from XBM data.
 
 
 - Implement wxBitmap ctor from XBM data.
 
+i18n:
+-----
+
+- Slovak translations added (Ivan Masár).
+
+
+2.8.10:
+-------
+
+All:
+
+- wxHashMap::insert() doesn't update the value if it didn't insert the element
+  any more (Marcin Malich).
+- Correct bug in wxTimeSpan::Format() for negative spans.
+- Correct several bugs in wxList using end() iterators (Suzumizaki-Kimitaka).
+- Added Vietnamese translation (Tran Ngoc Quan).
+- Updated Slovenian translation (Martin Srebotnjak).
+- Corrected Serbian locale name (Cody Precord).
+- Fix wxURL::GetInputStream() for URLs with special characters in credentials
+  (Robert Wruck).
+- Fix wxURI::GetUser() for URIs without password.
+- Correct wxDateTime DST computation for 2006 and later (Christopher Barker).
+
+All (GUI):
+
+- wxRTC: fixed input that uses Alt on Mac OS X, for example Polish Pro input.
+  Also fixed a bug whereby e.g. Croatian keys didn't work, by moving more code
+  to key down handler.
+- wxRTC: fixed a problem with HTML list generation.
+- wxRTC: no longer deletes a character when content is selected before
+  pressing Delete.
+- wxRTC: fixed inability to select no superscript and no subscript in
+  formatting dialog.
+- wxRTC: fixed centering and right-justification when combined with left
+  indentation.
+- wxRTC: fixed lack of right margin when centering or right-justifying.
+- wxRTC: fixed wrong descent when wrapping lines with different font sizes.
+- wxRTC: fixed wrapping problem for long lines.
+- wxRTC: all buffer margins now respected.
+- wxRTC: Added wxRE_CENTRE_CARET to centre the caret line vertically.
+- Fixed wxHTML's pagebreaks computation in tables (D.J.Stauffer).
+- Fixed wxHtmlWindow::SelectionToText() to correctly insert newlines after
+  single-cell paragraphs.
+- Fixed wxHTML's line breaks handling in <pre> blocks broken in 2.8.8 (#10120).
+- wxHTML: don't include extra whitespace in table cells.
+- Implemented wxWindow::DragAcceptFiles() on all platforms.
+- Added wxAUI_MGR_LIVE_RESIZE flag to wxAuiManager and made it the default on
+  wxMac with CoreGraphics where sash drawing isn't implemented.
+- Use bitmap mask in wxSplashScreen.
+- Translate "(c)" and "(C)" to the real copyright sign in wxAboutBox.
+- Fix painting of highlight border for merged cells in wxGrid (K. Jones).
+- Fix handling of long lines in wxGridCellAutoWrapStringRenderer.
+
+All (Unix):
+
+- Return false from wxSingleInstanceChecker::IsAnotherRunning() if an error
+  occurred while opening or reading the lock file (Lauri Nurmi).
+
+wxMSW:
+
+- Fixed bug with using non default encoding in wxTextCtrl in ANSI build.
+- Restored generation of events for accelerators when there is no menu bar.
+- Fixed wxArtProvider::GetSizeHint() to return 16x16 for wxART_FRAME_ICON.
+- Fixed toolbar buttons so that they don't disappear temporarily when clicked
+  if the event handler causes window update.
+- Fix display enumeration under WinCE (Vince Harron).
+- Fix best size calculation for wxNotebook with multiple rows (Alex McCarthy).
+- Correct coordinates of wxDropFilesEvent (Dmitriy Maksimov).
+- Fix handling of abandoned mutexes in wxMutex (David Heffernan).
+- Avoid warnings about deprecated localtime with MSVC8/9 (Chris Stankevitz).
+- Fixed invisible CHM tooltip text bug when window text colour is black.
+- Automatically adjust toolbar's tool size if the provided bitmaps
+  don't fit into the default size.
+- Don't generate EVT_LISTBOX_DCLICK events with incorrect indices.
+- Don't reuse the double click handled by activation event handler for toggling
+  the item in wxTreeCtrl.
+
+
+wxMSW/CE:
+
+- Don't hardcode the menu bar height (Michele Spighi).
+
+wxGTK:
+
+- Fixed printing to use fonts sizes adjustment consistent with wxMSW.
+- Make colours used by list, tree and status bar controls more consistent with
+  the system theme settings (Tim Kosse).
+- Worked around bug in GTK+ < 2.14 where enabling some controls such
+  as wxButton didn't re-enable sensitivity until the mouse was moved.
+
+wxOS2:
+
+- Added implementation for wxSingleInstanceChecker contributed by Lauri Nurmi
+
 
 2.8.9
 -----
 
 2.8.9
 -----