X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/32923e21c78558f646cc1ea417c90cb563db6fb3..b08c90ca63723536960122fc798f673af1faed13:/docs/changes.txt diff --git a/docs/changes.txt b/docs/changes.txt index d991952289..1088cede39 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -5,17 +5,135 @@ 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 +============================== + +Deprecated methods may still be used but will disappear in future wxWindows +versions, please update your code to not use them. + - wxDocManager::GetNoHistoryFiles() renamed to GetHistoryFilesCount() +- wxSizer::Remove(wxWindow *), use Detach() instead [it is more clear] +- wxSizer::Set/GetOption(): use Set/GetProportion() instead +- wxKeyEvent::KeyCode(): use GetKeyCode instead +- wxList::Number, First, Last, Nth: use GetCount, GetFirst/Last, Item instead +- wxNode::Next, Previous, Data: use GetNext, GetPrevious, GetData instead +- wxListBase::operator wxList&(): use typesafe lists instead +- wxTheFontMapper: use wxFontMapper::Get() instead +- wxStringHashTable: use wxHashMap 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 ============= +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) + +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) + +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 + +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 @@ -27,6 +145,21 @@ All: - added Catalan translations (Pau Bosch i Crespo) - added Ukrainian translations (Eugene Manko) - 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 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: @@ -35,9 +168,13 @@ 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) @@ -46,29 +183,12 @@ 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 by giving them different base IDs (Dimitri Schoolwerth) -- changed to type-safe wxSizerItemList for wxSizer child items - Deprecated: - wxSizer::Remove( wxWindow* ) - - it does not function as Remove would usually be expected to - and destroy the window, use Detach instead - wxSizer::GetOption(), - wxSizer::SetOption() - - wxSizer 'option' parameter was renamed 'proportion' to better - reflect its action, use Get/SetProportion instead - wxKeyEvent::KeyCode() - - use GetKeyCode instead - wxList:: Number, First, Last, Nth - - use typesafe GetCount, GetFirst, GetLast, Item instead - wxNode:: Next, Previous, Data - - use typesafe Get* instead - wxListBase::operator wxList&() - - use typesafe lists instead -- Added wxTLW::SetShape with implementations for wxMSW and wxGTK (so - far) +- Added wxTLW::SetShape with implementations for wxMSW and wxGTK (so far) - FL: rmoved const from EnableTool parameters - FL: signal child window when toolbar is closed - In various places, changed tests for pathsep on last char of string to call @@ -79,17 +199,55 @@ 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 as well as doing data transfer 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 +- Extended wxTextAttr and added wxTextCtrl::GetStyle stub + to allow better rich text support. +- implemented wxFlexGridSizer::Show() (Wade Brainerd) +- 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: - fixed compilation on systems with zlib installed but < 1.1.3 version - 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: @@ -102,33 +260,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 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 +- 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 bug with wxTR_EDIT_LABELS not workign with wxTR_MULTIPLE -- fixes for compilation with OpenWatcom compiler +- fixed bugs in wxThread::Wait() and IsAlive() +- fixed bug with wxTR_EDIT_LABELS not working with wxTR_MULTIPLE +- 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 -- 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. +- 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: @@ -151,9 +321,11 @@ wxUniv: wxHTML: +- added text selection to wxHtmlWindow - added SetFonts to HTML printing classes (Adrian Philip Look) - it is now possible to force page break when printing by inserting