]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/changes.txt
Use generic collapsible pane for wxUniv based builds.
[wxWidgets.git] / docs / changes.txt
index 328ed2c45eff3c6a871d9a9df7433dc21ef7c8f2..5abcdf0672ad59681d3018b5e8a08d885449c055 100644 (file)
@@ -5,11 +5,145 @@ wxWidgets Change Log - For more verbose changes, see the manual
 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.
+- 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
+- Windows calling CaptureMouse() are now required to handle the
+  wxEVT_MOUSE_CAPTURE_LOST event and not call ReleaseMouse() in this case
+
+
+Changes in behaviour which may result in compilation errors
+-----------------------------------------------------------
+
+- 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.
+- wxHtmlCell::OnMouseClick() was deprecated and replaced with
+  wxHtmlCell::ProcessMouseClick(); old code overriding OnMouseClick() will
+  continue to work with WXWIN_COMPATIBILITY_2_6, but should be rewritten to
+  use ProcessMouseClick().
+- wxHtmlCell::GetCursor() was deprecated and replaced with
+  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.
+- 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.
+
+
+Major new features in 2.7 release
+---------------------------------
+
+- New AUI library supporting docking windows and much more
+
+
+2.7.2
+-----
+
+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)
+
+Unix Ports:
+
+- Added autopackage for wxGTK and an example of using autopackage for a wx
+  program (Francesco Montorsi)
+
+
+
+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
@@ -17,18 +151,68 @@ INCOMPATIBLE CHANGES SINCE 2.6.x
 
 All:
 
-- wxLaunchDefaultBrowser() now supports wxBROWSER_NEW_WINDOW flag
-- Added wxStringTokenizer::GetLastDelimiter(); improved documentation
-- wxGetWorkingDirectory() deprecated. Use wxGetCwd() instead.
+- 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 wxStringTokenizer::GetLastDelimiter(); improved documentation.
+- 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
   are both used in the same program.
+- Basic authentication supported added to wxHTTP.
+- wxCondition::WaitTimeout() now returns correct value when timeout occurs.
+- Fixed occasional wxThread cleanup crash.
+- Bug in wxLogStream::DoLogString in Unicode builds fixed.
+- Added support for memo fields to wxODBC.
+- Fixed Unicode builds using SunPro compiler by defining__WCHAR_TYPE__.
+- wxFileName now also looks for TMPDIR on Unix.
+- Fixed build error in list.h with VC++ 2005.
+- Fixed wxODBC buffer overflow problem in Unicode builds.
+- Fixed wxSocketBase::InterruptWait on wxBase.
+- Important code cleanup (Paul Cornett).
+- 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().
+- 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().
+- 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).
+- 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 wxTreeBook.
-- Added wxKeyEvent::GetModifiers()
+- 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 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).
@@ -42,26 +226,69 @@ All (GUI):
 - Added parent window parameter to wxHelpController constructor
   and added SetParentWindow/GetParentWindow.
 - wxMultiChoiceDialog uses now wxCheckListBox if possible, wxListBox if not.
-- Added wxBitmapButton::SetHoverBitmap()
+- Added wxBitmapButton::SetHoverBitmap().
 - 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()
+- Fixed memory leak of pending events in wxEvtHandler.
+- Added wxRadioBox::IsItemEnabled/Shown().
 - Added space after list item number in wxHTML.
 - Implemented <sub> and <sup> handling in wxHTML (based on patch
-  by Sandro Sigala)
+  by Sandro Sigala).
 - Added caption parameter to wxGetFontFromUser and wxGetColourFromUser.
 - Added wxGetMouseState function.
-- wxCalendarCtrl positioning fixes for dimensions other than best size.
+- Added wxHtmlHelpWindow, wxHtmlHelpDialog and wxHtmlModalHelp classes,
+  allowing HTML help to be embedded in an application.
+- 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).
+- More checking of image validity before loading into wxImage.
+- Added wxImage::ConvertToGreyscale.
+- Added ability to use templates with static event tables
+  with BEGIN_EVENT_TABLE_TEMPLATEn() macros.
+- Added play, pause, and state change events to wxMediaCtrl.
+- Added double-buffering to wxVListBox and fixed a scrolling issue.
+- Added wxToolbook (uses a wxToolBar to control pages).
+- Added SetSheetStyle to wxPropertySheetDialog and allowed it to
+  behave like a Mac OS X settings dialog.
+- Added <disabled> XRC tag for wxToolBar elements and <bg> for wxToolBar itself.
+- Fixed centering of top level windows on secondary displays.
+- Implemented wxDisplay::GetFromWindow() for platforms other than MSW.
+- UpdateUI handler can now show/hide the window too (Ronald Weiss).
+- More than one filter allowed in in wxDocTemplate filter.
+- Added wxListBox::HitTest().
+- Added wxDisplay::GetClientArea().
+- 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().
+- 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).
+- 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:
 
+- Fixed crash with ownerdrawn menu items accelerators (Perry Miller).
 - wxFileDialog respects absence of wxCHANGE_DIR flag under NT (Brad Anderson).
 - 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.
@@ -72,17 +299,68 @@ wxMSW:
   to the link command.
 - wxStatusBar::GetFieldRect now returns correct values under XP.
 - wxStatusBar no longer corrupts surrounding windows on resize.
+- Enable wxListCtrl in report mode to be able to use images in other
+  columns, if ComCtl32 >= 470.
+- Fixed problem where using SetValue and wxTE_RICH2 would cause control to
+  show.
+- Numpad special keys are now distinguished from normal keys.
+- Fixed GDI leak in wxStaticBitmap when setting images after
+  initial construction.
+- Menu codes now stripped before measuring control labels.
+- MFC sample now compiles in Unicode mode.
+- Fixed SetScrollbar thumb size setting bug (set orientation before triggering
+  events).
+- Fixed icon to cursor conversion problem for bitmaps with masks.
+- Fixed wxToolBar background colour problem for some video cards.
+- wxGenericDirCtrl now shows volume name.
+- Added XP theme support for DrawHeaderButton, DrawTreeItemButton.
+- Made the wxActiveXContainer class public and documentated.
+- Added a Windows Media Player 9/10 backend for wxMediaCtrl.
+- Multiline notebook tab label change now resizes the control
+  correctly if an extra row is removed or added.
+- Fixed a crash when dismissing wxPrintDialog under VC++ 7.1.
+- Fixed out by one error in wxTextCtrl::GetStyle.
+- Fixed problem with getting input in universal/unicode build of wxMSW.
+- Link oleacc.lib conditionally.
+- Drag and drop now works inside static boxes.
+- Fall back to unthemed wxNotebook if specified orientation not available.
+- wxListCtrl and wxTreeCtrl now resize their standard font if the user
+  changes the system font.
+- wxDisplay doesn't require multimon.h now and is enabled by default (Olly Betts).
+- 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.
+- Warning fixes for VC++ 5.0 (Igor Korot).
 
 wxGTK:
 
-- wxEVT_MENU_CLOSE and wxEVT_MENU_OPENED for popup menus are now generated
-- Implemented wxCURSOR_BLANK support
-- wxSlider generates all scroll events now and not only wxEVT_SCROLL_THUMBTRACK
+- Fixed handling of font encoding in non-Unicode build
+- wxEVT_MENU_CLOSE and wxEVT_MENU_OPENED for popup menus are now generated.
+- Implemented wxCURSOR_BLANK support.
+- wxSlider generates all scroll events now and not only wxEVT_SCROLL_THUMBTRACK.
+- Fixed a host of bugs in wxMediaCtrl as well as added a GStreamer 0.10
+  implementation.
+- Improved configure checks for GStreamer. You may also now specify
+  --enable-gstreamer8 to force configure to check for GStreamer 0.8.
 - Fixed problem with choice editor in wxGrid whereby the editor
   lost focus when the combobox menu was shown.
+- Fixed focusing with mnemonic accelerator keys on wxStaticText which
+  is now able to focus on wxComboBox and possibly other controls
+  previously unable to be focused before.
+- Enabled mnemonics and the corresponding accelerator keys for
+  wxStaticBox and wxRadioBox.
 - Fixed problem trying to print from a preview, whereby wrong printer
   class was used.
 - Worked around pango crashes in strncmp on Solaris 10.
+- Polygon and line drawing speeded up if there is no scaling.
+- 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.
+- 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:
 
@@ -113,6 +391,19 @@ wxMac:
 - Mouse event ids set correctly (fixing problems with Connect in particular).
 - Fixed wxZipInputStream read error on wxSocketInputStream which signals the
   end of file with an error.
+- Xcode wxWidgets and minimal sample project files updated to create Universal
+  binaries.
+- Fix for setting wxMenuBar more than once.
+- wxListBox minimum size bug fixed.
+- 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:
+
+- wxDirDialog is now native (Hiroyuki Nakamura).
 
 wxWinCE:
 
@@ -122,11 +413,43 @@ wxWinCE:
 - ::wxGetUserName() implemented.
 - wxDisplay enumeration support.
 - Fixed wxFileDialog breakage on WinCE due to incorrect structure size.
+- New wxSystemOption "wince.dialog.real-ok-cancel" to switch between WinCE
+  guidelines with Ok-only dialogs and dialogs using wxButtons.
+- Checkable items in wxToolMenuBarTool supported.
+- Fixed date formatting and mktime.
+- Fixed getting standard folder paths on WinCE.
+- Support for backspace key on Smartphone.
+- Made both windows wxMediaCtrl Windows backends compilable with wxWinCE - it
+  is recommended that you use wxMEDIABACKEND_WMP10 on this platform
+  directly, however.
+- Added support for the context menu event (wxContextMenuEvent)
+  and added platform-specific wxWindow::EnableContextMenu.
+- Fixed wxGenericFileDialog to work with WinCE.
+- Fixed compilation and menubar disappearance on Windows Mobile 5.
+- Fixed wxDatePickerCtrl usage.
+
+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
 -----