X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c7d9c476ea807927781813bca979e9f793599229..d33ccbe15c60e311c2d63f5aeb1d3ff52650ac61:/docs/changes.txt?ds=sidebyside diff --git a/docs/changes.txt b/docs/changes.txt index 8c980baf73..9657620a73 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -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. +- 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 @@ -71,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. +- 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. @@ -87,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 - 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 @@ -113,6 +127,33 @@ 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. +- 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). + Changes in behaviour which may result in compilation errors ----------------------------------------------------------- @@ -217,15 +258,24 @@ 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. -- 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. + +- 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. + Deprecated methods and their replacements ----------------------------------------- @@ -274,6 +324,15 @@ Deprecated methods and their replacements were deprecated in favour of wxFileName methods. See docs for more info. - 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 @@ -306,6 +365,82 @@ Major new features in this release 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. +- 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. + +All (GUI): + +- Added support for showing bitmaps in wxButton. +- Added support for corner, row and column headers renderers to wxGrid. +- 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. +- 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_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(). + +GTK: + +- wxRadioBox constructor uses default consistent with other ports now. + +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). +- 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. + +i18n: + +- Korean translations added (Sungkee Jung). +- Romanian translations added (Manuel Ciosici). + + 2.9.0 ----- @@ -313,9 +448,9 @@ All: - 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. -- 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). @@ -327,6 +462,7 @@ All: - 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). @@ -369,7 +505,13 @@ All: - 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(). +- 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): @@ -397,6 +539,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). +- 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. @@ -417,7 +560,6 @@ All (GUI): - 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. @@ -495,6 +637,13 @@ All (GUI): Added also wxEventLoopBase::IsYielding to help cure re-entrancy problems with Yield(). - Render 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: @@ -549,6 +698,7 @@ wxMSW: 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: @@ -559,6 +709,100 @@ wxDFB: - 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
 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
 -----