X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6a1b3ead3fd406e870042014eb7bd117586f4fff..8e509c4b0c60bc066958574e4122a3db8ffcf491:/docs/changes.txt?ds=inline diff --git a/docs/changes.txt b/docs/changes.txt index 8c7ebd96a3..ac1a417acd 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -1,16 +1,39 @@ ---------------------------------------------------------------- -wxWidgets Change Log - For more verbose changes, see the manual ---------------------------------------------------------------- +------------------------------------------------------------------------------- + wxWidgets Change Log +------------------------------------------------------------------------------- INCOMPATIBLE CHANGES SINCE 2.6.x ================================ -- wxFontData::GetColour() now returns a const colour -- wxDC objects can't be created directly now (this never worked, now it doesn't - even compile) +Changes in behaviour not resulting in compilation errors, please read this! +--------------------------------------------------------------------------- + - For all wxInputStreams, Eof() becomes true after an attempt has been made to read _past_ the end of file. -- wxCHECK family of macros now must be followed by a semicolon +- wxFileName::DirExists() checks if the path of the file is a directory, not + if the whole name is a directory. +- wxDialog::CreateButtonSizer() may return NULL now, please see the manual. +- wxStaticBoxSizer now deletes the associated wxStaticBox when it is deleted. +- wxArray::Alloc() now works as reserve() and does not clear the array any more +- Windows calling CaptureMouse() are now required to handle the + wxEVT_MOUSE_CAPTURE_LOST event and not call ReleaseMouse() in this case. +- wxInputStream::GetC() now returns an int in the range 0 - 255 on success + instead of a char the range -128 - 127. + + +Changes in behaviour which may result in compilation errors +----------------------------------------------------------- + +- Some classes (notably wxBitmap and wxImage) don't define operator==() as it + used to work in somewhat unexpected way as it compared only internal pointers + and not the object data. The code using it will have to be updated: + * If the object was compared with wxNullXXX, use IsOk() method instead + * If valid object need to be compared, use IsSameAs() to reproduce the old + behaviour or change the code to avoid comparing bitmaps &c. +- wxFontData::GetColour() now returns a const colour. +- wxDC objects can't be created directly now (this never worked, now it doesn't + even compile). +- wxCHECK family of macros now must be followed by a semicolon. - wxMBConv::cMB2WC() and cWC2MB() take size of the input buffer and return length of the converted string in all cases now. - wxHtmlWindow::OnCellClicked() now returns bool. @@ -22,15 +45,205 @@ INCOMPATIBLE CHANGES SINCE 2.6.x wxHtmlCell::GetMouseCursor(); old code overriding GetCursor() will continue to work with WXWIN_COMPATIBILITY_2_6, but should be rewritten to use GetMouseCursor(). +- wxHtmlCell::AdjustPagebreak() signature has changed, update your code if you + override it. - wxFontEnumerator::GetFacenames() and GetEncodings() now return arrays and - not pointers to arrays + not pointers to arrays. +- SetDefaultItem() method was moved from wxPanel to wxTopLevelWindow +- wxDialog::OnOK/OnCancel() don't exist any more, use SetAffirmative/EscapeId() +- wxPathList doesn't derive from (deprecated) wxStringList any more +- wxGLContext class has no 1:1 coupling to a wxGLCanvas class any more. + As a consequence, the class interface changed largely. Code updates, if + any are required at all, are easy to accomplish though. Deprecated methods since 2.6.x and their replacements ----------------------------------------------------- -- wxGetWorkingDirectory() deprecated in favour of wxGetCwd() -- wxDC::BeginDrawing() and wxDC::EndDrawing() deprecated, just don't use them +- wxGetWorkingDirectory() deprecated in favour of wxGetCwd(). +- wxDC::BeginDrawing() and wxDC::EndDrawing() deprecated, don't use them. +- wxWindowBase::GetBestFittingSize --> wxWindowBase::GetEffectiveMinSize. +- wxWindowBase::SetBestFittingSize --> wxWindowBase::SetInitialSize. +- Seeking on a zip stream returned from wxFileSystem without using the new + wxFS_SEEKABLE flags is deprecated. You can still seek, but use the flag. +- Constructor wxZipInputStream(const wxString& archive, const wxString& file) + deprecated in favour of wxFileSystem (other zip ctors are not deprecated). + + + +Major new features in 2.8 release +--------------------------------- + +- New AUI library supporting docking windows and much more. +- New rich text control library implementing a generic wxRichTextCtrl, + using only the wxWidgets API. Also includes formatting dialogs, conversion + to HTML, and printing classes. +- New wxComboCtrl class giving the ability to create custom, graphical + comboboxes. Associated classes include wxOwnerDrawnComboBox, wxComboPopup + and wxBitmapComboBox. +- Further functionality including wxAnimationCtrl (moved from contrib/src/anim + and enhanced), wxSimpleHtmlListBox, wxHyperlinkCtrl, wxColourPickerCtrl, + wxDirPickerCtrl, wxFilePickerCtrl, wxFontPickerCtrl, wxCollapsiblePane, + wxSearchCtrl, wxAboutBox, wxTreebook, tar streams. + + +2.8.1 +----- + +All: + +- Fix compilation with wxUSE_STL=1 +- wxGrid::GetBestSize() returns same size the grid would have after AutoSize() + +wxMSW: + +- Fixed compilation with Borland C++ in Unicode mode but without MSLU + +wxGTK: + +- Don't crash if command line is not valid UTF-8 (Unicode build only) + +wxUniv: + +- It is now possible to set background colour of wxStaticText + + +2.8.0 +----- + +All: + +- Added wxSearchCtrl (Vince Harron) +- wxCSConv("UTF-16/32") now behaves correctly, i.e. same as wxMBConvUTF16/32 +- wxArrayString::Alloc() now works as reserve() and doesn't clear array contents +- Fixed long standing bug in wxFileConfig groups renaming (Antti Koivisto). +- New option wxFS_READ | wxFS_SEEKABLE for wxFileSystem::OpenFile() to return + a stream that is seekable. +- Fixed bug in wxCalendarCtrl::HitTest() when clicking on month change arrows +- Added wxWindow::GetWindowBorderSize() and corrected wxTreeCtrl::GetBestSize() + for a control with borders (Tim Kosse) + +wxMSW: + +- Fixed version script problems when using configure with cygwin/mingw32. +- Use system default paper size for printing instead of A4. +- Fix (harmless) assert in virtual list control under Vista +- Fix colours when converting wxBitmap with alpha to wxImage (nusi). + +wxGTK: + +- Allow dynamically changing most of text control styles +- Enable use of libgnomeprintui by default in configure + + +2.7.2 +----- + +All: + +- Added wxFFile overload to wxFileName::CreateTemporaryFileName(). +- Added GetTempDir() to wxFileName and wxStandardPaths. +- Added wxTar streams. +- Added wxFilterFSHandler and wxArchiveFSHandler. +- Added wxString::ToLongLong() and ToULongLong(). + +All (GUI): + +- wxMemoryDC constructor now optionally accepts a wxBitmap parameter, + calling SelectObject itself if a valid bitmap is passed. +- Reverted wxBuffered[Paint]DC to pre 2.7.1 state, added + wxAutoBufferedPaintDC and wxAutoBufferedPaintDCFactory. +- Renamed wxProgressDialog::UpdatePulse() to just Pulse(). +- Added wxCollapsiblePane (Francesco Montorsi). +- Added wxSimpleHtmlListBox (Francesco Montorsi). +- Printing framework fixes by Robert J. Lang. Bugs fixed, + wxPrinterDC::GetPaperRect() and other functions added to allow + easier printing implementation, and the documentation updated. +- Many enhancements to wxRichTextCtrl including URL support, + formatting and symbol dialogs, print/preview, and better list + formatting. +- Support for loading TGA files added (Seth Jackson). +- Added wxTB_RIGHT style for right-aligned toolbars (Igor Korot). +- wxHtmlWindow now generates events on link clicks (Francesco Montorsi). +- wxHtmlWindow now also generates wxEVT_COMMAND_TEXT_COPY event. + +Unix Ports: + +- Added autopackage for wxGTK and an example of using autopackage for a wx + program (Francesco Montorsi). + +wxGTK: + +- More RTL work. +- Support wxALWAYS_SHOW_SB. +- Speed up MIME types loading. Only the GNOME database should be loaded under + GNOME etc. For this, the code queries the X11 session protocol. +- wxCaret redraw problem during scrolling fixed. + + +2.7.1 +----- + +All: + +- Added wxDir::FindFirst() (Francesco Montorsi). +- Added wxPlatformInfo class (Francesco Montorsi). +- Added wxLocale::IsAvailable() (Creighton). +- Added Malay translations (Mahrazi Mohd Kamal). +- Added reference counting for wxVariant. +- For consistency, all classes having Ok() method now also have IsOk() one, use + of the latter form is preferred although the former hasn't been deprecated yet. +- Added wxFileName::Is(Dir|File)(Writ|Read|Execut)able() (Francesco Montorsi). +- Added wxFileName::GetSize() and GetHumanReadableSize() (Francesco Montorsi). +- Added wxSizer::Replace (Francesco Montorsi). +- wxXmlDocument can now optionally preserve whitespace (Francesco Montorsi). +- Added wxBookCtrl::ChangeSelection() and wxTextCtrl::ChangeValue() to provide + event-free alternatives to SetSelection() and SetValue() functions; see the + "Events generated by the user vs programmatically generated events" paragraph + in the "Event handling overview" topic for more info. + +All (GUI): + +- Support for right-to-left text layout (started by Diaa Sami during Google Summer of + Code, with a lot of help from Tim Kosse and others). +- wxAnimationCtrl added (Francesco Montorsi). +- Added wxAboutBox() function for displaying the standard about dialog. +- Added wxID_PAGE_SETUP standard id. +- Added wxSize::IncBy() and DecBy() methods. +- Added wxTextCtrl::IsEmpty(). +- Added file type parameter to wxTextCtrl::LoadFile, wxTextCtrl::SaveFile for + consistency with wxRichTextCtrl. +- wxRichTextCtrl: fixed range out-by-one bug to be consistent with wxTextCtrl API, + fixed some attribute bugs and added wxRichTextStyleComboCtrl. +- Added wxWindow::IsDoubleBuffered(). +- Added wxHL_ALIGN_* flags to wxHyperlinkCtrl (Francesco Montorsi). +- Added wxGauge::Pulse() and wxProgressDialog::UpdatePulse() (Francesco Montorsi). + +wxMSW: + +- Implemented wxComboBox::SetEditable(). +- wxSemaphore::Post() returns wxSEMA_OVERFLOW as documented (Christian Walther) +- Fixed a bug whereby static controls didn't use the correct text colour if the + parent's background colour had been set (most noticeable when switching to a + high-contrast theme). +- Respect wxBU_EXACTFIT style in wxToggleButton (Alexander Borovsky). + +wxMac: + +- Add parameter to the --enable-universal_binary configure option for the path + to the SDK. + +wxGTK: + +- Automatically use stock items for menu items with standard ids. +- Setting cursor now works for all controls. +- Implemented right-to-left support. +- Implemented left indentation and tab stops support in wxTextCtrl (Tim Kosse). +- Fixed wxHTML rendering of underlined text of multiple words (Mart Raudsepp). + +wxUniv: + +- Added wxTLW::UseNativeDecorations() and UseNativeDecorationsByDefault(). 2.7.0 @@ -38,14 +251,15 @@ Deprecated methods since 2.6.x and their replacements All: -- Added positional parameters support to wxVsnprintf() (Francesco Montorsi) -- wx(F)File, wxTextFile and wxInputStreams recognize Unicode BOM now -- Many fixes for UTF-16/32 handling in Unicode builds +- Added positional parameters support to wxVsnprintf() (Francesco Montorsi). +- wx(F)File, wxTextFile and wxInputStreams recognize Unicode BOM now. +- Many fixes for UTF-16/32 handling in Unicode builds. - wxLaunchDefaultBrowser() now supports wxBROWSER_NEW_WINDOW flag. - Added wxStandardPaths::GetResourcesDir() and GetLocalizedResourcesDir() -- Added wxStandardPaths::GetDocumentsDir() (Ken Thomases) +- Added wxStandardPaths::GetDocumentsDir() (Ken Thomases). - Added wxStringTokenizer::GetLastDelimiter(); improved documentation. -- Fixed wxTextFile in Unicode build +- Fixed wxTextFile in Unicode build. +- Added possibility to specify dependencies for a wxModule. - Speed improvements to wxRegEx when matching is done in a loop such as during a search and replace. - Fix regerror and regfree name conficts when built-in regex and system regex @@ -64,30 +278,41 @@ All: - Added support for wxLongLong in wx stream classes (Mark Junker). - wxSOCKET_REUSEADDR can be used with wxSocketClient. - Overloaded Connect() and SetLocal() methods for binding to local address/port. -- Albanian translation added (Besnik Bleta) -- Assert messages now show the function in which assert failed -- wxApp::OnAssertFailure() should now be used instead the old wxApp::OnAssert() -- Fixed several bugs in wxDateTime::ParseDate() +- Albanian translation added (Besnik Bleta). +- Assert messages now show the function in which assert failed. +- wxApp::OnAssertFailure() should now be used instead the old wxApp::OnAssert(). +- Fixed several bugs in wxDateTime::ParseDate(). - The WXK*PRIOR and WXK*NEXT constants are now aliases for WXK*PAGEUP and WXK*PAGEDOWN. If you have switch statements that use both constants from a set then you need to remove the PRIOR/NEXT versions in order to eliminate compiler errors. - Fixed bug where wxDateTime::Now() would sometimes return an incorrect value the first time it was called. -- Added wxString::rbegin() and rend() -- Added wxString::EndsWith() +- Added wxString::rbegin() and rend(). +- Added wxString::EndsWith(). - wxSocket::_Read continues reading from socket after exhausting pushback buffer. Previously, only the buffer would be returned, even if more data was requested. -- Added wxPowerEvent (currently MSW-only) +- Added wxPowerEvent (currently MSW-only). +- Make wx-config compatible with Bourne shells. +- Fixed wxDb::Open(wxDbConnectInf) when using connection string (Hellwolf Misty). +- Fixed crash in wxDb::Open() in Unicode build (Massimiliano Marretta). +- Fixed wxTimeSpan::Format() for negative time spans. +- Optionally count repeating wxLog messages instead of logging all (Lauri Nurmi). All (GUI): -- Added wxComboCtrl and wxOwnerDrawnComboBox (Jaakko Salli) +- New AUI (Advanced User Interface) library for docking windows and much more. +- Added wxComboCtrl and wxOwnerDrawnComboBox (Jaakko Salli). - Added wxTreebook (uses a wxTreeCtrl to control pages). -- Added wxDC::GradientFillLinear/Concentric() -- Added clipboard events (wxEVT_COMMAND_TEXT_COPY/CUT/PASTE) -- Added wxRadioBox::SetItemToolTip() -- Added wxKeyEvent::GetModifiers() +- Added wxColour/Dir/File/Font/PickerCtrls (Francesco Montorsi). +- Added wxDC::GradientFillLinear/Concentric(). +- Added wxHyperlinkCtrl (Francesco Montorsi). +- Added clipboard events (wxEVT_COMMAND_TEXT_COPY/CUT/PASTE). +- Allow to reorder wxGrid columns by drag-and-drop (Santiago Palacios). +- Added wxRadioBox::SetItemToolTip(). +- Added support for CMYK JPEG images loading (Robert Wruck). +- Added wxListCtrl::GetSubItemRect() and subitem hit testing (Agron Selimaj). +- Added wxKeyEvent::GetModifiers(). - Added wxDialog::SetEscapeId(). - wxItemContainerImmutable::FindString unified (affects wxRadioBox, wxListBox, wxComboBox and wxChoice). @@ -105,7 +330,7 @@ All (GUI): - Access to titles through Get/SetTitle is available now only for top level windows (wxDialog, wxFrame). - Fixed memory leak of pending events in wxEvtHandler. -- Added wxRadioBox::IsItemEnabled/Shown() +- Added wxRadioBox::IsItemEnabled/Shown(). - Added space after list item number in wxHTML. - Implemented and handling in wxHTML (based on patch by Sandro Sigala). @@ -116,7 +341,7 @@ All (GUI): - wxCalendarCtrl positioning and hit-testing fixes for dimensions other than best size. - wxCalendarCtrl colour schema changed and adjusted to system settings. -- wxImage::Mirror() and GetSubBitmap() now support alpha (Mickey Rose) +- wxImage::Mirror() and GetSubBitmap() now support alpha (Mickey Rose). - More checking of image validity before loading into wxImage. - Added wxImage::ConvertToGreyscale. - Added ability to use templates with static event tables @@ -136,11 +361,25 @@ All (GUI): - Indices and counts in wxControlWithItems derived API are unsigned. - Added support for links to wxHtmlListBox; use code has to override wxHtmlListBox::OnLinkClicked() to take advantage of it. -- Added an easier to use wxMenu::AppendSubMenu() +- Added an easier to use wxMenu::AppendSubMenu(). - wxString <-> wxColour conversions in wxColour class (Francesco Montorsi). -- Fixed bug with ignoring blank lines in multiline wxGrid cell labels -- Added wxTextAttr::Merge() (Marcin Simonides) -- Added wxTB_NO_TOOLTIPS style (Igor Korot) +- Fixed bug with ignoring blank lines in multiline wxGrid cell labels. +- Added wxTextAttr::Merge() (Marcin Simonides). +- Added wxTB_NO_TOOLTIPS style (Igor Korot). +- Added wxGenericDirCtrl::CollapsePath() (Christian Buhtz). +- Added wxTreeCtrl::ExpandAllChildren() (Christian Buhtz) +- Fixed 64-bit issue in wxNotebook causing segfaults on Tru64 Unix. +- Made it possible to associate context help to a region of a window. +- Added support for tabs in wxRichTextCtrl (Ashish More). +- Fixed problem with zoom setting in print preview. +- Moved wxRichTextCtrl from the advanced library to its own. +- 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). +- 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. wxMSW: @@ -149,7 +388,7 @@ wxMSW: - Switching page of a hidden notebook doesn't lose focus (Jamie Gadd). - Removed wxImageList *GetImageList(int) const. - Fixed MDI context menu problem. -- Removed __WIN95__ define +- Removed __WIN95__ define. - Create msw/rcdefs.h in setup.h's directory, which can be included by resource files. It containts platform/compiler specific defines (such as target cpu) which can be used in #ifs in .rc files. @@ -191,7 +430,8 @@ wxMSW: - Fixed wxChoice/wxComboBox slow appending and infinite recursion if its size is set within a paint handler (for example when embedded in a wxHtmlWindow). [Now reverted due to problems in W2K and below.] -- wxDC::GetTextExtent() width calculation is more precise for italics fonts now +- wxDC::GetTextExtent() width calculation is more precise for italics fonts now. +- Warning fixes for VC++ 5.0 (Igor Korot). wxGTK: @@ -217,7 +457,10 @@ wxGTK: - Fixed problems with CJK input method. - Implemented ScrollLines/Pages() for all windows (Paul Cornett). - Support underlined fonts in wxTextCtrl. -- Support all border styles; wxListBox honours the borders now +- Support all border styles; wxListBox honours the borders now. +- wxWindow and wxScrolledWindow now generate line, page and thumb-release scroll events. +- Added file preview support in file dialogs. +- Implemented SetLineSize and GetLineSize for wxSlider. wxMac: @@ -255,6 +498,8 @@ wxMac: - Fixed wxNotebook off-by-one bug in HitTest. - Fixed joystick GetXMin/Max bug. - Fixed Unix domain socket problem in wxIPC. +- Fixed non-detection of process termination on Intel Macs by + polling for process termination in a separate thread. wxCocoa: @@ -287,17 +532,24 @@ wxUniv: - Send wxEVT_SCROLL_XXX events from wxSlider (Danny Raynor). - Implemented wxToggleButton (David Bjorkevik). +- Label in Toolbar tools implemented (Danny Raynor). wxX11: - 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) Unix: - NO_GCC_PRAGMA is not used any more, remove checks for it if you used it. +wxMGL: + +- Fixed NUM_LOCK having no effect. +- Fixed wxFileExists (affecting wxImage::LoadFile). + 2.6.2 -----