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
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 -----