]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/changes.txt
bitwise vs. logical operator
[wxWidgets.git] / docs / changes.txt
index 52a501c4bc47ba61aacd485d47572875d8e1864a..ad60c6f2491f2ff7ca201bec436c1b29c2063e82 100644 (file)
@@ -1,15 +1,38 @@
----------------------------------------------------------------
-wxWidgets Change Log - For more verbose changes, see the manual
----------------------------------------------------------------
+-------------------------------------------------------------------------------
+                             wxWidgets Change Log
+-------------------------------------------------------------------------------
 
 INCOMPATIBLE CHANGES SINCE 2.6.x
 ================================
 
+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.
+- 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).
-- 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.
 - wxMBConv::cMB2WC() and cWC2MB() take size of the input buffer and return
   length of the converted string in all cases now.
@@ -26,30 +49,113 @@ INCOMPATIBLE CHANGES SINCE 2.6.x
   override it.
 - wxFontEnumerator::GetFacenames() and GetEncodings() now return arrays and
   not pointers to arrays.
-- wxStaticBoxSizer now deletes the associated wxStaticBox when it is deleted.
-- Windows calling CaptureMouse() are now required to handle
-  the wxEVT_MOUSE_CAPTURE_LOST event.
 - 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.
-- wxDialog::CreateButtonSizer() may return NULL now, please see the manual
-
+  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.
+- 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,
+  wxAboutBox, wxTreebook, tar streams.
+
+
+2.8.0
+-----
+
+All:
 
+- 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)
 
-Major changes in 2.7 release
-----------------------------
+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:
 
-- New AUI library supporting docking windows and much more
+- 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
@@ -60,35 +166,35 @@ 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
+- 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)
+  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
+  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
+- 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 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)
+- Added wxWindow::IsDoubleBuffered().
+- Added wxHL_ALIGN_* flags to wxHyperlinkCtrl (Francesco Montorsi).
+- Added wxGauge::Pulse() and wxProgressDialog::UpdatePulse() (Francesco Montorsi).
 
 wxMSW:
 
@@ -97,7 +203,7 @@ wxMSW:
 - 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)
+- Respect wxBU_EXACTFIT style in wxToggleButton (Alexander Borovsky).
 
 wxMac:
 
@@ -108,13 +214,13 @@ wxGTK:
 
 - Automatically use stock items for menu items with standard ids.
 - Setting cursor now works for all controls.
-- Implemented right-to-left support
+- 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)
+- Fixed wxHTML rendering of underlined text of multiple words (Mart Raudsepp).
 
 wxUniv:
 
-- Added wxTLW::UseNativeDecorations() and UseNativeDecorationsByDefault()
+- Added wxTLW::UseNativeDecorations() and UseNativeDecorationsByDefault().
 
 
 2.7.0