X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9b9d4651aee9c6e97bf5673099907c70b6cf9b16..9b3a38204110b40cfab14b736f15b32f14956d72:/docs/changes.txt diff --git a/docs/changes.txt b/docs/changes.txt index c23f143cd7..9b415b2ae4 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -5,10 +5,34 @@ wxWindows 2.5/2.6 Change Log 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 +- 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 METHODS SINCE 2.4.x @@ -29,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 +- 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 ============= +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: +- 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 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 @@ -53,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 -- 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: @@ -63,9 +179,12 @@ wxBase: All GUI ports: - added wxVScrolledWindow, wxVListBox and wxHtmlLbox classes +- added wxListbook - 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 +- 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) @@ -74,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) +- 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 @@ -89,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 -- 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) -- 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 @@ -101,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. +- 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: @@ -110,6 +252,13 @@ Unix: - 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: - added support for label mnemonics to GTK+2 build (Michael Moss) @@ -123,44 +272,43 @@ wxGTK: be appended to filenames with no extension - 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 +- generate wxEVT_MENU_OPEN and wxEVT_MENU_CLOSE events 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 +- fixed bugs in wxThread::Wait() and IsAlive() - 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 -= 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 -- 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. - 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) +- added support for wxALWAYS_SHOW_SB style +- you don't need to add opengl32.lib when using VC++ now (David Falkinder) wxMotif: @@ -410,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 -- 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