]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/changes.txt
Applied patch [ 850594 ] wxFileName(_T("/fred")).GetFullPath() asserts
[wxWidgets.git] / docs / changes.txt
index dc85504f0135691773628a9d111600145c50ba22..9b415b2ae4d22249e00c5c6af43603805e1571c3 100644 (file)
@@ -5,11 +5,38 @@ wxWindows 2.5/2.6 Change Log
 INCOMPATIBLE CHANGES SINCE 2.4.x
 ================================
 
 INCOMPATIBLE CHANGES SINCE 2.4.x
 ================================
 
+    Please take a few minutes to read the following list, especially
+    paying attention to the most important changes which are marked
+    with '!' in the first column.
+
+    Also please note that you should ensure that WXWIN_COMPATIBILITY_2_4
+    is defined to 1 if you wish to retain maximal compatibility with 2.4
+    series.
+
+! windows are no longer fully repainted when resized, use new style
+  wxFULL_REPAINT_ON_RESIZE to force this (wxNO_FULL_REPAINT_ON_RESIZE stll
+  exists but doesn't do anything any more, this behaviour is default now)
+
+
+- no initialization/cleanup can be done in wxApp/~wxApp because they are
+  now called much earlier/later than before; please move any exiting code
+  from there to wxApp::OnInit()/OnExit()
+- also, OnExit() is not called if OnInit() fails
+- wxTheApp can't be assigned to any longer, use wxApp::SetInstance() instead
 - wxFileType::GetIcon() returns wxIconLocation, not wxIcon
 - wxFileType::GetIcon() returns wxIconLocation, not wxIcon
+- wxColourDatabase is not a wxList any more, use AddColour to add new colours
+- wxWindow::Clear() is now called ClearBackground()
+- pointer returned by wxFont::GetNativeFontInfo() must not be deleted now
+- wxMouseEvent::Moving() doesn't return true if mouse is being dragged any more
+- (most) controls now inherit parents colours by default, override
+  ShouldInheritColours() to return false if you don't want this to happen
+- wxApp::SendIdleEvent() now takes 2 arguments
+- wxTabView::GetLayers() changed return type from wxList& to wxTabLayerList&
+  (when WXWIN_COMPATIBILITY_2_4 == 0)
 
 
 
 
-DEPRECATED METHOD SINCE 2.4.x
-=============================
+DEPRECATED METHODS SINCE 2.4.x
+==============================
 
 Deprecated methods may still be used but will disappear in future wxWindows
 versions, please update your code to not use them.
 
 Deprecated methods may still be used but will disappear in future wxWindows
 versions, please update your code to not use them.
@@ -26,17 +53,97 @@ versions, please update your code to not use them.
 - wxHashTableLong: use wxHashMap instead
 - wxArrayString::GetStringArray: no replacement
 - wxArrayString::Remove(index, count): use RemoveAt instead
 - wxHashTableLong: use wxHashMap instead
 - wxArrayString::GetStringArray: no replacement
 - wxArrayString::Remove(index, count): use RemoveAt instead
+- wxTreeItemId conversion to long is deprecated and shouldn't be used
+- [MSW only] wxWindow::GetUseCtl3D(), GetTransparentBackground() and
+             SetTransparent() as well as wxNO_3D and wxUSER_COLOURS styles
+- wxList keyed interface: use wxHashMap instead
+- wxColourDatabase::FindColour(): use Find() instead (NB: different ret type)
+- wxHashTable::Next: use wxHashTable::Node* or
+                     wxHashTable::compatibility_iterator to store the return
+                     value
 
 
 OTHER CHANGES
 =============
 
 
 
 OTHER CHANGES
 =============
 
+2.5.1
+-----
+
+All:
+
+- added wxGzipInput/OutputStream, bug fixes in wxZlibStreams (M.J.Wetherell)
+- wxDateTime::ParseDateTime() implemented (Linus McCabe)
+- wxHTTP::GetResponse() added (David Nock)
+- added conversions to/from UTF 16/32 LE/BE (Andreas Pflug)
+- added wxTextInputStream::ReadChar() (M.J.Wetherell)
+- added translation to Afrikaans (Petri Jooste)
+- Spanish translations updated (Javier San Jose)
+- added gettext plural forms support to wxLocale (Michael N. Filippov)
+- wxFileName::Normalize(wxPATH_NORM_ALL) doesn't lower filename case any more
+- wxFileName::Normalize(wxPATH_NORM_ENV_VARS) now works
+- check if file exists in wxFileConfig::DeleteFile() (Christian Sturmlechner)
+- when wxUSE_STL == 1 wxHashTable will not be implemented using wxHashMap
+  (as in 2.5.0).
+
+All (GUI):
+
+- added wxListBook control
+- added 3-state checkboxes for MSW/Mac (Dimitri Schoolwerth)
+- added some support for C++ exceptions in the library (do read the manual!)
+- added wxListCtrl::GetViewRect()
+- added wxTextCtrl::MarkDirty()
+- wxToolBar::ToggleTool() now works for radio buttons (Dag Ă…gren)
+- wxListCtrl now sends an END_LABEL event if editing was cancelled, too
+- bug in wxRect ctor from two [out of order] wxPoints fixed (Steve Cornett)
+- status text is now restored after wxMenu help is shown in it
+- bug in wxWindow::RemoveEventHandler() fixed (Yingjun Zhang)
+- make it possible to use wxRTTI macros with namespaces (Benjamin I. Williams)
+- wxColourDatabase API now uses objects instead of pointers
+- added resolution option to JPEG image handler (Jeff Burton)
+- added wxCalendarEvent::SetDate, wxCalendarEvent::SetWeekDay
+
+wxMSW:
+
+- fixed wxTE_*WRAP styles handling
+- wxTextCtrl::GetValue() works with text in non default encoding
+- changed wxCrashReport to generate minidumps instead of text files
+- wxRadioButtons are now checked when they get focus (standard behaviour)
+- several fixes to owner drawn menu items (Christian Sturmlechner)
+- wxGauge now supports full 32 bit range (Miroslav Rajcic)
+- make it possible to give focus to the notebook tabs (Hajo Kirchhoff)
+- MDI child frames are not always resizeable any more (Andrei Fortuna)
+- fixed enumerating of entries/groups under '/' in wxRegConfig
+- added wxSYS_ICONTITLE_FONT (Andreas Pflug)
+
+wxGTK:
+
+- fixes to wxTextCtrl scrolling under GTK2 (Nerijus Baliunas)
+- fix for crash when using user-dashed lines (Chris Borgolte)
+- fixed wxChoice::Delete() in presence of client data
+- allow calling wxWindow::SetFont if window not yet created
+- use same average character width as other ports when calculating dialog units
+- fixed mouse wheel handling under GTK2 (Hugh Fisher)
+
+wxMac:
+
+- use same average character width as other ports when calculating dialog units
+
+wxHTML:
+
+- wxHtmlHelpController now supports compressed MS HTML Help files (*.chm)
+  on Unix (Markus Sinner)
+
+
 2.5.0
 -----
 
 All:
 
 2.5.0
 -----
 
 All:
 
+- It is now possible to build several smaller libraries instead of single
+  huge wxWindows library; wxBase is now dependency of GUI ports rather then
+  separately compiled library
 - added wxDateSpan::operator==() and !=() (Lukasz Michalski)
 - added wxDateSpan::operator==() and !=() (Lukasz Michalski)
+- added wxFileName::GetForbiddenChars() (Dimitri Schoolwerth)
 - use true/false throughout the library instead of TRUE/FALSE
 - wxStopWatch::Start() resumes the stop watch if paused, as per the docs
 - added wxDirTraverser::OnOpenError() to customize the error handling
 - use true/false throughout the library instead of TRUE/FALSE
 - wxStopWatch::Start() resumes the stop watch if paused, as per the docs
 - added wxDirTraverser::OnOpenError() to customize the error handling
@@ -50,7 +157,19 @@ All:
 - fixed bug with deleting entries at root level in wxFileConfig
 - chkconf.h now includes platform-specific versions (for MSW
   and Mac) which contain some tests that were in setup.h
 - fixed bug with deleting entries at root level in wxFileConfig
 - chkconf.h now includes platform-specific versions (for MSW
   and Mac) which contain some tests that were in setup.h
-- Added event sink argument to wxEvtHandler::Connect()
+- added event sink argument to wxEvtHandler::Connect()
+- added support for POST method and alt ports to wxHTTP (Roger Chickering)
+- added wxSocket::IPAddress() (Chris Mellon)
+- wxDataStreams can read/write many elements at once (Mickael Gilabert)
+- added wxRecursionGuard class
+- added wxThreadHelper class (Daniel Howard)
+- Added STL support (--enable-stl for configure, wxUSE_STL in setup.h).
+  When enabled, wxString will derive from std::string, wxArray from,
+  std::vector, wxList from std::list. In addition wxHashTable will be
+  implemented in terms of wxHashMap.
+- Added wxList::compatibility_iterator. Can be used like wxNode* (except
+  it can't be delete()d). It permits writing code which will work
+  both with wxUSE_STL==1 and wxUSE_STL==0.
 
 wxBase:
 
 
 wxBase:
 
@@ -60,9 +179,12 @@ wxBase:
 All GUI ports:
 
 - added wxVScrolledWindow, wxVListBox and wxHtmlLbox classes
 All GUI ports:
 
 - added wxVScrolledWindow, wxVListBox and wxHtmlLbox classes
+- added wxListbook
 - added alpha channel support to wxImage
 - added alpha channel support to wxImage
+- added wxRenderer class allowing to customize the drawing of generic controls
 - added wxCLOSE_BOX style for dialogs and frames
 - added wxSplitterWindow and wxWizard handlers to XRC
 - added wxCLOSE_BOX style for dialogs and frames
 - added wxSplitterWindow and wxWizard handlers to XRC
+- wxWizard is now sizer-friendly and may be made resizeable (Robert Vazan)
 - added proportion to wxFlexGridSizer::AddGrowableRow/Col (Maxim Babitski)
 - added wxFlexGridSizer::SetFlexibleDirection() (Szczepan Holyszewski)
 - implemented GetEditControl for wxGenericTreeCtrl (Peter Stieber)
 - added proportion to wxFlexGridSizer::AddGrowableRow/Col (Maxim Babitski)
 - added wxFlexGridSizer::SetFlexibleDirection() (Szczepan Holyszewski)
 - implemented GetEditControl for wxGenericTreeCtrl (Peter Stieber)
@@ -71,6 +193,7 @@ All GUI ports:
 - implemented alignment for wxGrid bool editor and renderer
 - support wxListCtrl columns alignment for all platforms and not just MSW
 - added wxToolBar Add/InsertTool(tool) (Janusz Piwowarski)
 - implemented alignment for wxGrid bool editor and renderer
 - support wxListCtrl columns alignment for all platforms and not just MSW
 - added wxToolBar Add/InsertTool(tool) (Janusz Piwowarski)
+- added wxTB_HORZ_TEXT style for MSW and GTK (Axel Schlueter)
 - fixed user dash handling for MSW and GTK (Ken Edwards)
 - WXR resources can now be used in Unicode builds
 - it is now possible to use several wxFileHistory objects in the same menu
 - fixed user dash handling for MSW and GTK (Ken Edwards)
 - WXR resources can now be used in Unicode builds
 - it is now possible to use several wxFileHistory objects in the same menu
@@ -86,9 +209,9 @@ All GUI ports:
   a new document), and more intelligent addition of filenames to
   the file history, including not adding filenames if not using the
   default extension for the template
   a new document), and more intelligent addition of filenames to
   the file history, including not adding filenames if not using the
   default extension for the template
-- Speeded up wxImage::Scale using fixed point arithmetic (Wade Brainerd)
+- sped up wxImage::Scale using fixed point arithmetic (Wade Brainerd)
 - Added BLOB support to wxDB (John Skiff)
 - Added BLOB support to wxDB (John Skiff)
-- Wizard now validates when pressing Back or Next
+- wxWizard now validates when pressing Back or Next
 - Implemented wxNotebook::DoGetBestSize so Fit now works
 - Added FindItemByPosition to wxMenu
 - wxTimer now derives from wxEvtHandler and is its own owner object by default
 - Implemented wxNotebook::DoGetBestSize so Fit now works
 - Added FindItemByPosition to wxMenu
 - wxTimer now derives from wxEvtHandler and is its own owner object by default
@@ -98,6 +221,28 @@ All GUI ports:
 - Added m_ prefix to wxColourData and wxFontData members
 - Added wxHtmlPrintout::AddFilter so HTML printing can be subject to
   custom filters as well as HTML viewing.
 - Added m_ prefix to wxColourData and wxFontData members
 - Added wxHtmlPrintout::AddFilter so HTML printing can be subject to
   custom filters as well as HTML viewing.
+- Moved wxApp::SendIdleEvents and wxApp::ProcessIdle into common code.
+- wxWindow::OnInternalIdle is now used in all ports, and ensures that
+  user OnIdle events do not interfere with crucial internal processing.
+- wxWindow::UpdateWindowUI is now a documented function that
+  sends wxUpdateUIEvents, and can be overridden. It has a helper function
+  DoUpdateWindowUI for taking appropriate wxUpdateUIEvent action.
+- Added functions to wxUpdateUIEvent: Set/GetMode, Set/GetUpdateInterval,
+  CanUpdate, to assist with optimising update event frequency.
+- Added functions to wxIdleEvent: Set/GetMode, CanSend, to
+  determine whether a window should receive idle events.
+- Added wxWS_EX_PROCESS_IDLE, wxWS_EX_PROCESS_UI_UPDATES window
+  styles for use with conservative idle and update event modes.
+- send menu update events only when a menu is about to be used (MSW/GTK)
+- improved event processing performance (Hans Van Leemputten)
+- added wxMirrorDC class
+- printing improvements: GetPageInfo() gets called after the DC has
+  been set and after OnPreparePrinting() has been called so it can
+  report the number of pages accurately; doesn't try to set
+  number of pages in print dialog, in common with other Windows apps;
+  wxHTML easy printing's preview shows number of pages
+  correctly; preview scrollbars are set correctly; keyboard navigation
+  improved
 
 Unix:
 
 
 Unix:
 
@@ -105,6 +250,14 @@ Unix:
 - fixed compilation on Solaris 7 with large files support enabled
 - added wxTaskBarIcon implementation for X11
 - added support for GNU/Hurd in configure
 - fixed compilation on Solaris 7 with large files support enabled
 - added wxTaskBarIcon implementation for X11
 - added support for GNU/Hurd in configure
+- wxLocale::Init now tries to set .utf8 locale in Unicode mode (Andreas Pflug)
+
+Generic controls:
+
+- implemented wxListCtrl::Refresh() (Norbert Berzen)
+- support adding/removing columns dynamically (Donald C. Taylor)
+- wxToolBarSimple, property list classes, wxTreeLayout moved
+  to contrib/src/deprecated
 
 wxGTK:
 
 
 wxGTK:
 
@@ -117,44 +270,45 @@ wxGTK:
 - added wxEVT_MENU_OPEN event generation
 - fixed bug in generic file selector causing incomplete file extensions to
   be appended to filenames with no extension
 - added wxEVT_MENU_OPEN event generation
 - fixed bug in generic file selector causing incomplete file extensions to
   be appended to filenames with no extension
-- added SetSelection implementation for GTK+ 2
+- added wxTextCtrl::SetSelection implementation for GTK+ 2
+- fixed wxTextCtrl::IsEditable() for GTK+ 2
+- fixed wxStaticText alignment for GTK+ 2 (Kevin Hock)
+- don't consume 100% CPU when showing a poup menu
 
 wxMac:
 
 - generate wxEVT_SCROLL_THUMBRELEASE and wxEVT_SCROLLWIN_THUMBRELEASE events
 
 wxMac:
 
 - generate wxEVT_SCROLL_THUMBRELEASE and wxEVT_SCROLLWIN_THUMBRELEASE events
+- generate wxEVT_MENU_OPEN and wxEVT_MENU_CLOSE events
 
 wxMSW:
 
 - possibility to use DIBs for wxBitmap implementation (Derry Bryson)
 
 wxMSW:
 
 - possibility to use DIBs for wxBitmap implementation (Derry Bryson)
+- added wxCrashReport
 - wxStaticBitmap doesn't stretch its bitmap any longer (like other ports)
 - support for accelerator keys in the owner drawn menus (Derry Bryson)
 - wxCaret::SetSize() doesn't hide the caret any longer as it used to
 - wxCheckListBox::Check() doesn't send CHECKLISTBOX_TOGGLE event any more
 - wxStaticBitmap doesn't stretch its bitmap any longer (like other ports)
 - support for accelerator keys in the owner drawn menus (Derry Bryson)
 - wxCaret::SetSize() doesn't hide the caret any longer as it used to
 - wxCheckListBox::Check() doesn't send CHECKLISTBOX_TOGGLE event any more
+- fixed bugs in wxThread::Wait() and IsAlive()
 - fixed bug with wxTR_EDIT_LABELS not working with wxTR_MULTIPLE
 - fixed bug with wxTR_EDIT_LABELS not working with wxTR_MULTIPLE
-- fixes for compilation with OpenWatcom compiler
+- fixes for compilation with OpenWatcom and DigitalMars compilers
 - fixed wxStaticText best size calculation (was wrong by '&' width)
 - fixed calling wxFrame::Maximize(FALSE) before the window is shown
 - fixed wxStaticText best size calculation (was wrong by '&' width)
 - fixed calling wxFrame::Maximize(FALSE) before the window is shown
-= added wxNotebook::HitTest() (Otto Wyss)
-- all libraries built with makefile.g95 have a _min or _cyg suffix
-  (for MinGW and Cygwin)
-- When using DLL, wxLocalFSHandler was not being exported - added WXEXPORTDLL
-- A wxEvtHandler object was not removed from wxPendingEvents on deletion.
-  wxPendingEventsLocker was being deleted in App before all wxEvtHandler
-  objects have been destroyed resulting in stale handler/lock
-  ptrs; fixed
+- added wxNotebook::HitTest() (Otto Wyss)
+- libraries built with makefile.g95 have a _min or _cyg suffix (MinGW/Cygwin)
+- when using DLL, wxLocalFSHandler was not being exported
+- fixed problem with wxEvtHandler object not removed from wxPendingEvents
 - Windows XP manifest is now included in wx.rc; it is no longer neccessary
   to ship .exe.manifest file with applications to support XP themes
 - wxLocale::Init no longer reports error if trying to set Unicode-only locale
   or if user's default locale is Unicode-only
 - Windows XP manifest is now included in wx.rc; it is no longer neccessary
   to ship .exe.manifest file with applications to support XP themes
 - wxLocale::Init no longer reports error if trying to set Unicode-only locale
   or if user's default locale is Unicode-only
-- Improved border handling so it no longer shows a thin and
-  sunken border under XP
+- improved border handling under Windows XP
 - partial fix for wxNotebook pages looking bad under XP: wxUSE_UXTHEME
   enables XP theme engine code, and wxUSE_UXTHEME_AUTO tells
   wxWindows to use the theme tab colour for control backgrounds.
 - partial fix for wxNotebook pages looking bad under XP: wxUSE_UXTHEME
   enables XP theme engine code, and wxUSE_UXTHEME_AUTO tells
   wxWindows to use the theme tab colour for control backgrounds.
-  Proper XP theme support is planned for 2.6
-- disable wxNB_RIGHT, wxNB_LEFT, wxNB_BOTTOM notebook styles
-  if the version of CommCtl doesn't support it (XP)
+- disable wxNB_RIGHT, wxNB_LEFT, wxNB_BOTTOM notebook styles under Windows XP
 - fixed release mode build with VC 7.x (Martin Ecker)
 - fixed release mode build with VC 7.x (Martin Ecker)
+- added support for wxALWAYS_SHOW_SB style
+- you don't need to add opengl32.lib when using VC++ now (David Falkinder)
 
 wxMotif:
 
 
 wxMotif:
 
@@ -404,7 +558,7 @@ wxBase:
 - fixes to the command line parsing error and usage messages
 - modified wxFileName::CreateTempFileName() to open the file atomically
   (if possible) and, especially, not to leak the file descriptors under Unix
 - fixes to the command line parsing error and usage messages
 - modified wxFileName::CreateTempFileName() to open the file atomically
   (if possible) and, especially, not to leak the file descriptors under Unix
-- memory leak in wxHTTP fixed (Dimitri)
+- memory leak in wxHTTP fixed (Dimitri Schoolwerth)
 - fixes to AM_PATH_WXCONFIG autoconf macro
 - added wxHashMap class that replaces type-unsafe wxHashTable and is modelled
   after (non standard) STL hash_map
 - fixes to AM_PATH_WXCONFIG autoconf macro
 - added wxHashMap class that replaces type-unsafe wxHashTable and is modelled
   after (non standard) STL hash_map