X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/562f54a7ba14e17318cb5263d2d673cbf0f70b64..3214ac5ad1d515d917b8273c2d2af4c4287b7a8b:/docs/changes.txt diff --git a/docs/changes.txt b/docs/changes.txt index ddfd2f1b70..fa3672d775 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -1,54 +1,638 @@ ---------------------------------------------------------------- -wxWidgets Change Log - For more verbose changes, see the manual ---------------------------------------------------------------- +------------------------------------------------------------------------------- + wxWidgets Change Log +------------------------------------------------------------------------------- -INCOMPATIBLE CHANGES SINCE 2.6.x +INCOMPATIBLE CHANGES SINCE 2.8.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). -- 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. -- 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. -- 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. - - - -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 changes in 2.7 release ----------------------------- +Unicode-related changes +----------------------- + +The biggest changes in wxWidgets 3.0 are the changes due to the merge of the +old ANSI and Unicode build modes in a single build. See the Unicode overview +in the manual for more details but here are the most important incompatible +changes: + +- Many wxWidgets functions taking "const wxChar *" have been changed to take + either "const wxString&" so that they accept both Unicode and ANSI strings. + and the argument can't be NULL or "const char *" if the strings are always + ANSI but may be NULL. This change is normally backwards compatible except: + + a) Virtual functions: derived classes versions must be modified to take + "const wxString&" as well to make sure that they continue to override the + base class version. + + b) Passing NULL as argument: as NULL can't be unambiguously converted to + wxString, in many cases code using it won't compile any more and NULL + should be replaced with an empty string. + + +- Some structure fields which used to be of type "const wxChar *" (such as + wxCmdLineEntryDesc::shortName, longName and description fields) are now of + type "const char *", you need to remove wxT() or _T() around the values used + to initialize them (which should normally always be ASCII). + +- wxIPC classes didn't work correctly in Unicode build before, this was fixed + but at a price of breaking backwards compatibility: many methods which used + to work with "wxChar *" before use "void *" now (some int parameters were + also changed to size_t). While wxIPC_TEXT can still be used to transfer 7 + bit text, the new wxIPC_UTF8TEXT format is used for transferring wxStrings. + + +wxODBC and contrib libraries removal +------------------------------------ + +wxODBC library was unmaintained since several years and we couldn't continue +supporting it any longer so it was removed. Please use any of the other open +source ODBC libraries in the future projects. + +Also the "applet", "deprecated", "fl", "mmedia" and "plot" contrib libraries +were removed as they were unmaintained and broken since several years. +The "gizmos", "ogl", "net" and "foldbar" contribs have been moved to +wxCode (see http://wxcode.sourceforge.net/complist.php); they are now +open for futher development by volunteers. + +The "stc" and "svg" contribs instead have been moved respectively into a new +"official" library stc and in the core lib. + + +Changes in behaviour not resulting in compilation errors, please read this! +--------------------------------------------------------------------------- + +- Default location of wxFileConfig files has changed under Windows, you will + need to update your code if you access these files directly. + +- wxWindow::IsEnabled() now returns false if a window parent (and not + necessarily the window itself) is disabled, new function IsThisEnabled() + with the same behaviour as old IsEnabled() was added. + +- Generating wxNavigationKeyEvent events doesn't work any more under wxGTK (and + other platforms in the future), use wxWindow::Navigate() or NavigateIn() + instead. + +- Sizers distribute only the extra space between the stretchable items + according to their proportions and not all available space. We believe the + new behaviour corresponds better to user expectations but if you did rely + on the old behaviour you will have to update your code to set the minimal + sizes of the sizer items to be in the same proportion as the items + proportions to return to the old behaviour. + +- wxWindow::Freeze/Thaw() are not virtual any more, if you overrode them in + your code you need to override DoFreeze/Thaw() instead now. + + +Changes in behaviour which may result in compilation errors +----------------------------------------------------------- + +- WXWIN_COMPATIBILITY_2_4 doesn't exist any more, please update your code if + you still relied on features deprecated since version 2.4 + +- wxDC classes hierarchy has changed, if you derived any classes from wxDC you + need to review them as wxDC doesn't have any virtual methods any longer and + uses delegation instead of inheritance to present different behaviours. + +- Return type of wxString::operator[] and wxString::iterator::operator* is no + longer wxChar (i.e. char or wchar_t), but wxUniChar. This is not a problem + in vast majority of cases because of conversion operators, but it can break + code that depends on the result being wxChar. + +- The value returned by wxString::c_str() cannot be casted to non-const char* + or wchar_t* anymore. The solution is to use newly added wxString methods + char_str() (which returns a buffer convertible to char*) or wchar_str() + (which returns a buffer convertible to wchar_t*). These methods are + available in wxWidgets 2.8 series beginning with 2.8.4 as well. + +- The value returned by wxString::operator[] or wxString::iterator cannot be + used in switch statements anymore, because it's a class instance. Code like + this won't compile: + switch (str[i]) { ... } + and has to be replaced with this: + switch (str[i].GetValue()) { ... } + +- Return type of wxString::c_str() is now wxCStrData struct and not + const wxChar*. wxCStrData is implicitly convertible to const char* and + const wchar_t*, so this only presents a problem if the compiler cannot + convert the type. In particular, Borland C++ and DigitalMars compilers + don't correctly convert operator?: operands to the same type and fail with + compilation error instead. This can be worked around by explicitly casting + to const wxChar*: + wxLogError(_("error: %s"), !err.empty() ? (const wxChar*)err.c_str() : "") + +- wxCtime() and wxAsctime() return char*; this is incompatible with Unicode + build in wxWidgets 2.8 that returned wchar_t*. + +- DigitalMars compiler has a bug that prevents it from using + wxUniChar::operator bool in conditions and it erroneously reports type + conversion ambiguity in expressions such as this: + for ( wxString::const_iterator p = s.begin(); *p; ++p ) + This can be worked around by explicitly casting to bool: + for ( wxString::const_iterator p = s.begin(); (bool)*p; ++p ) + +- Virtual wxHtmlParser::AddText() takes wxString, not wxChar*, argument now. + +- Functions that took wxChar* arguments that could by NULL in wxWidgets 2.8. + are deprecated and passing NULL to them won't compile anymore, wxEmptyString + must be used instead. + +- wxTmemxxx() functions take either wxChar* or char*, not void*: use memxxx() + with void pointers. + +- Removed insecure wxGets() and wxTmpnam() functions. + +- Removed global GetLine() function from wx/protocol/protocol.h, use + wxProtocol::ReadLine() instead. + +- wxVariant no longer derives from wxObject. wxVariantData also no longer + derives from wxObject; instead of using wxDynamicCast with wxVariantData you + can use the macro wxDynamicCastVariantData with the same arguments. + +- wxWindow::Next/PrevControlId() don't exist any more as they can't be + implemented correctly any longer because automatically generated ids are not + necessarily allocated consecutively any more. Use GetChildren() to find the + next/previous control sibling instead. + + +Deprecated methods and their replacements +----------------------------------------- + +- wxCreateGreyedImage() deprecated, use wxImage::ConvertToGreyscale() instead. +- wxString::GetWriteBuf() and UngetWriteBuf() deprecated, using wxStringBuffer + or wxStringBufferLength instead. +- wxDIRCTRL_SHOW_FILTERS style is deprecated, filters are alwsys shown if + specified so this style should simply be removed +- wxDocManager::MakeDefaultName() replaced by MakeNewDocumentName() and + wxDocument::GetPrintableName() with GetUserReadableName() which are simpler + to use +- wxXmlProperty class was renamed to wxXmlAttribute in order to use standard + terminology. Corresponding wxXmlNode methods were renamed to use + "Attribute" instead of "Property" or "Prop" in their names. +- wxConnection::OnExecute() is not formally deprecated yet but new code should + use simpler OnExec() version which is called with wxString argument + + +Major new features in this release +---------------------------------- + +- wxWidgets is now always built with Unicode support but provides the same + simple (i.e. "char *"-tolerant) API as was available in ANSI build in the + past. + +- wxWidgets may now use either wchar_t (UTF-16/32) or UTF-8 internally, + depending on what is optimal for the target platform. + +- Events loops, timers and sockets can now be used in wxBase, without GUI. + + +2.9.0 +----- + +All: + +- Added (experimental) IPv6 support to wxSocket (Arcen) +- Added wxXLocale class and xlocale-like functions using it +- Allow loading message catalogs from wxFileSystem (Axel Gembe) +- Added wxMessageQueue class for inter-thread communications +- Use UTF-8 for Unicode data in wxIPC classes (Anders Larsen) +- Added support for user-defined types to wxConfig (Marcin Wojdyr). +- Added wxJoin() and wxSplit() functions (Francesco Montorsi). +- Added wxDateTime::FormatISOCombined() and ParseISODate/Time/Combined() +- Added wxMutex::LockTimeout() (Aleksandr Napylov). +- Added wxMemoryInputStream(wxInputStream&) ctor (Stas Sergeev). +- Implemented wxMemoryInputStream::CanRead(). +- Added wxEXEC_BLOCK flag (Hank Schultz). +- Add support for wxStream-derived classes to wxRTTI (Stas Sergeev). +- Added wxStreamBuffer::Truncate() (Stas Sergeev). +- Allow using wxEventLoop in console applications (Lukasz Michalski). +- Added functions for Base64 en/decoding (Charles Reimers). +- Added support for binary data to wxConfig (Charles Reimers). +- Added functions for atomically inc/decrementing integers (Armel Asselin). +- wxLogInterposer has been added to replace wxLogPassThrough and new + wxLogInterposerTemp was added. +- Added support for broadcasting to UDP sockets (Andrew Vincent). +- Documentation now includes the wx library in which each class is defined. +- wxrc --gettext now generates references to source .xrc files (Heikki + Linnakangas). +- wxVariant::Unshare allows exclusive allocation of data that must be shared, + if the wxVariantData::Clone function is implemented. +- Added wxWeakRef, wxScopedPtr, wxSharedPtr class templates +- Added wxVector class templates + +All (Unix): + +- Added wx-config --optional-libs command line option (John Labenski). + +All (GUI): + +- Added wxDataViewCtrl class and helper classes +- Added {wxTextCtrl,wxComboBox}::AutoComplete() and AutoCompleteFileNames() +- Added wxH[V]ScrolledWindow (Brad Anderson, Bryan Petty). +- Added wxNotificationMessage class for non-intrusive notifications +- Added wxWindow::Show/HideWithEffect() +- Added wxWrapSizer +- Added wxDC::StretchBlit() for wxMac and wxMSW (Vince Harron). +- Added support for drop down toolbar buttons (Tim Kosse). +- Added support for labels for toolbar controls (Vince Harron). +- Added wxMessageDialog::SetMessage() and SetExtendedMessage(). +- Added wxListCtrl::Set/GetColumnsOrder() (Yury Voronov) +- Added wxWindow::AlwaysShowScrollbars() (Julian Scheid) +- Added wxMouseEvent::GetClickCount() (Julian Scheid) +- Added wxBG_STYLE_TRANSPARENT background style (Julian Scheid) +- Added XRCSIZERITEM() macro for obtaining sizers from XRC (Brian Vanderburg II) +- New and improved wxFileCtrl (Diaa Sami and Marcin Wojdyr) +- Added wxEventBlocker class (Francesco Montorsi). +- Added wxFile/DirPickerCtrl::Get/SetFile/DirName() (Francesco Montorsi). +- Added wxSizerFlags::Top() and Bottom(). +- Slovak translation added. +- Fixed tab-related drawing and hit-testing bugs in wxRichTextCtrl. +- Implemented background colour in wxRichTextCtrl. +- Fixed crashes in helpview when opening a file. +- Set locale to the default in all ports, not just wxGTK. +- Added wxJoystick::GetButtonState/Position() (Frank C Szczerba). +- Added wxGridUpdateLocker helper class (Evgeniy Tarassov). +- Support wxGRID_AUTOSIZE in wxGrid::SetRow/ColLabelSize() (Evgeniy Tarassov). +- Added wxWindow::NavigateIn() in addition to existing Navigate(). +- Add support for tags to wxrc. +- Support wxAPPLY and wxCLOSE in CreateStdDialogButtonSizer() (Marcin Wojdyr). +- Show standard options in wxCmdLineParser usage message (Francesco Montorsi). +- Added wxRect::operator+ (union) and * (intersection) (bdonner). +- Added support for two auxiliary mouse buttons to wxMouseEvent (Chris Weiland). +- Added wxToolTip::SetAutoPop() and SetReshow() (Jan Knepper). +- Added wxTaskBarIcon::Destroy(). +- Added XRC handler for wxSearchCtrl (Sander Berents). +- Read image resolution from TIFF, JPEG and BMP images (Maycon Aparecido Gasoto). +- Add support for reading alpha data from TIFF images. +- Added wxSYS_DCLICK_TIME system metric constant (Arne Steinarson). +- Added wxApp::Get/SetAppDisplayName() (Brian A. Vanderburg II). +- Added wxWindow::GetPopupMenuSelectionFromUser() (Arne Steinarson). +- Implemented wxTreeCtrl::GetPrevVisible() in the generic version and made the + behaviour of GetNextSibling() consistent between wxMSW and generic versions. +- Merged wxRichTextAttr and wxTextAttrEx into wxTextAttr, and added a font table + to wxRichTextBuffer to reduce wxFont consumption and increase performance. +- Optimize wxGenericTreeCtrl::Collapse/ExpandAllChildren(). (Szczepan Holyszewski) +- Added parameter to wxScrolledWindow XRC handler. +- Added support for automatic dialog scrolling, via the new wxDialogLayoutAdapter + class and various new wxDialog functions. See the topic "Automatic Scrolling + Dialogs" in the manual for further details. +- Added support for resizing wxWizard bitmaps to the current page height, + via SetBitmapPlacement, SetBitmapBackgroundColour and SetMinimumBitmapWidth. + Also made it easier to derive from wxWizard and override behaviour. +- Made wxSizer::Fit() set the client size of the target window +- Add support for wxDatePickerCtrl in wxGenericValidator (Herry Ayen Yang) +- Added wxWindow::HasFocus(). +- Added wxGLCanvas::IsDisplaySupported(). +- Added wxApp::SetNativeTheme() (Stefan H.). + +wxGTK: + +- Support for markup and ellipsization in wxStaticText (Francesco Montorsi). +- Native implementation for wxHyperlinkCtrl (Francesco Montorsi). +- Native keyboard navigation implementation. +- Added wxCB_SORT support to wxComboBox (Evgeniy Tarassov). +- Don't overwrite primary selection with clipboard and vice versa. +- Implemented support for underlined fonts in wxStaticText. +- wxTopLevelWindow::SetSizeHints size increments now work. +- wxTopLevelWindow::GetSize() returns the size including the WM decorations. +- wxTopLevelWindow::GetClientSize() returns 0x0 when the window is minimized. +- Added support for colour cursors (Pascal Monasse). +- Pass current control text to EVT_TEXT handler for wxSpinCtrl (John Ratliff). +- Added gtk.tlw.can-set-transparency system option. +- Added support for GTK+ print backend + +wxMac: + +- Better IconRef support (Alan Shouls). +- Added support for changing button labels in wxMessageDialog (Gareth Simpson). +- Fix duplicate (empty) help menu in non-English programs (Andreas Jacobs). +- Allow accelerators to be used with buttons too (Ryan Wilcox). +- Support resource forks in wxCopyFile() (Hank Schultz). +- Implement wxLocale::GetInfo() using CFLocale +- Added native wxCollapsiblePane + +wxMSW: + +- Fixed infinite loop in wxThread::Wait() in console applications. +- Return the restored window size from GetSize() when window is minimized. +- wxCheckListBox now looks more native, especially under XP (Marcin Malich). +- Allow tooltips longer than 64 (up to 128) characters in wxTaskBarIcon +- Fix centering wxFileDialog and allow positioning it +- Allow centering wxMessageDialog on its parent window (troelsk) +- Implement support for display enumeration under WinCE (Vince Harron) + +wxX11: + +- Added mouse wheel support (David Hart). +- Make Enter key activate the default button (David Hart). + + +2.8.8 +----- + +All: + +- Fixed bug with parsing some dates in wxDateTime (Bob Pesner) +- Fixed bug with parsing negative time zones in wxDateTime::ParseRfc822Date() + +All (GUI): + +- Added wxWindow::GetNextSibling() and GetPrevSibling() +- Improve wximage::ResampleBox() (Mihai Ciocarlie) +- Implemented ScrollList() in generic wxListCtrl (Tim Kosse) +- Fixed wxXmlResource::GetText() to convert data to current locale's + charset in ANSI build. + +wxMSW: + +- Fix rare bug with messages delivered to wrong wxSocket (Tim Kosse) +- Fix setting icons when they have non-default (16*16 and 32*32) sizes +- Fixed wxLocale::GetInfo to use the C locale. +- Don't enable disabled windows when showing them (Harry McKame). +- Fix assert when using owner-drawn menu items with the newest (Vista) SDK + +wxGTK: + +- Return false from wxEventLoop::Dispatch() if gtk_main_quit() was called and + so the loop should exit (Rodolfo Schulz de Lima) + + +2.8.7 +----- + +All: + +- Fixed bug with default proxy destruction in wxURL (Axel Gembe). + +wxMSW: + +- Correct (harmless) warnings given for forward-declared DLL-exported classes + by mingw32 4.2 (Tim Stahlhut). + +wxGTK: + +- Added gtk.window.force-background-colour wxSystemOptions option to work around + a background colour bug in the gtk-qt theme under KDE. +- Implemented wxGetClientDisplayRect() correctly for wxGTK and X11-based ports. + + +2.8.6 +----- + +All: + +- Fixed another bug in wxFileConfig when deleting entries (Axel Gembe) +- Added Portuguese translation (Antonio Cardoso Martins) + + +2.8.5 +----- + +All (GUI): + +- Added colour normalization to PNM image handler (Ray Johnston) +- Fixed selecting part of word from right to left in wxHTML (Michael Hieke) +- Selecting text in wxHTML with character precision was made easier, it's + enough to select half of a character (Michael Hieke) +- Significantly improved startup times of XRC-based applications using + embedded resources on Unix (requires resources recompilation) +- Fixed freeing of "static" alpha data in wxImage (Axel Gembe) +- Don't invalidate the font in SetNativeFontInfo[Desc]() if the string is + invalid, to conform to the documented behaviour (Langhammer) +- Fixed wxXPMHandler::SaveFile for images with more than 92 colors. + +wxMSW: + +- Correct problem with page setup dialog when using landscape mode +- Added msw.font.no-proof-quality system option, see manual for description +- Fix appearance of notebook with non-top tabs under Windows Vista +- Fixed bug with symbol resolving in wxStackWalker (Axel Gembe) +- Fixed showing busy cursor for disabled windows and during wxExecute() +- Set the string of wxEVT_COMMAND_CHECKLISTBOX_TOGGLED events (Luca Cappa) +- Fix problems with timers on SMP machines in wxAnimationCtrl (Gennady) + +wxGTK: + +- Setting foreground colour of single line wxTextCtrl now works +- More work on setting defaults in GNOME print dialogs. +- Also made landscape printing work as per wxMSW. +- Add support for clipping in GNOME print backend. +- Speed up wxBitmap::Rescale() +- Add right button event for wxToolbar's tools (Tim Kosse) +- Don't unconditionally add wxCAPTION style to wxMiniFrame +- Generate wxEVT_COMMAND_LIST_END_LABEL_EDIT event even if label didn't change +- Fix WX_GL_STEREO attribute handling (Tristan Mehamli) +- Fix wxThread::SetPriority() when the thread is running (Christos Gourdoupis) +- Fixed off by 1 bug in wxDC::GradientFillLinear() (Tim Kosse) + + +2.8.4 +----- + +All: + +- Fix bug in wxFileConfig when recreating a group (Steven Van Ingelgem) +- Fix wxStringOutputStream::Write() in Unicode build when the argument + overlaps UTF-8 characters boundary +- Account for lines without newline at the end in wxExecute() + +All (Unix): + +- Handle socket shutdown by the peer correctly in wxSocket (Tim Kosse) + +All (GUI): + +- Allow status bar children in XRC (Edmunt Pienkowski) +- Fix memory leak in wxWizard when not using sizers for the page layout +- Added wxListCtrl::SetItemPtrData() +- wxHTML: Apply table background colour between the cells too (Michael Hieke) + +wxMSW: + +- Corrected wxStaticBox label appearance when its foreground colour was set: + it didn't respect font size nor background colour then (Juan Antonio Ortega) +- Don't lose combobox text when it's opened and closed (Kolya Kosenko) +- Corrected GetChecked() for events from checkable menu items (smanders) +- Fixed popup menus under Windows NT 4 +- Fixed bug in wxThread::Wait() in console applications introduced in 2.8.3 +- Support right-aligned/centered owner drawn items in wxListCtrl (troelsk) +- Compilation fixed with WXWIN_COMPATIBILITY_2_6==0 +- Fix wxComboCtrl colours under Windows Vista (Kolya Kosenko) + +wxGTK: + +- Fix infinite loop when adding a wxStaticText control to a toolbar +- Fix wxNO_BORDER style for wxRadioBox (David Hart) +- Fix wxTextCtrl::GetLineText() for empty lines (Marcin Wojdyr) + +wxMac: + +- Fix wxComboBox::SetSelection(wxNOT_FOUND) (Adrian Secord) + +wxUniv: + +- Fix wxTextCtrl::SetSelection(-1, -1) to behave as documented (Anders Larsen) +- Fix wxComboBox::SetSelection(wxNOT_FOUND) +- Fix setting background colour for controls with transparent background + + +2.8.3 +----- + +All: + +- Shut down the sockets gracefully (Sergio Aguayo) +- Fix extra indentation in wxHTML_ALIGN_JUSTIFY display (Chacal) + +wxMac: + +- Corrected top border size for wxStaticBox with empty label (nusi) + +wxMSW: + +- Fixed wxFileName::GetSize() for large files + +wxGTK: + +- Fixed handling of accelerators using PageUp/Down keys + + +2.8.2 +----- + +All: + +- Added wxSizerFlags::Shaped() and FixedMinSize() methods. +- Added wxCSConv::IsOk() (Manuel Martin). +- Added wxDateTime::GetDateOnly(). +- Made wxTextFile work with unseekable files again (David Hart). +- Added wxCONFIG_USE_SUBDIR flag to wxFileConfig (Giuseppe Bilotta). +- Added wxSearchCtrl::[Get|Set]DescriptiveText. +- Fixed detection of number of processors under Linux 2.6 +- Fixed Base64 computation in wxHTTP (p_michalczyk) +- Fix handling of wxSOCKET_REUSEADDR in wxDatagramSocket (troelsk) + +Unix Ports: + +- Fixed crash in wxGetUserName() in Unicode build + +wxMSW + +- Fix lack of spin control update event when control lost focus. +- Corrected drawing of bitmaps for disabled menu items. + +wxGTK + +- Fix hang on startup when using GTK+ options in Unicode build + +wxMac + +- Fix position of the centered windows (didn't take menu bar size into account) +- Added support for the wxFRAME_FLOAT_ON_PARENT style. + +wxX11: + +- Don't crash in wxWindow dtor if the window hadn't been really Create()d. + +wxUniv: + +- Fixed wxComboBox always sorted. + + +2.8.1 +----- + +All: + +- Fix compilation with wxUSE_STL=1. +- wxGrid::GetBestSize() returns same size the grid would have after AutoSize(). +- Added wxTreeCtrl::CollapseAll[Children]() and IsEmpty() (Francesco Montorsi). +- Several RTL-related positioning fixes (Diaa Sami). +- Fix wxConfig::DeleteGroup() for arguments with trailing slash (David Hart). +- Fix memory leak in wxGrid::ShowCellEditControl() (Christian Sturmlechner). + +wxMSW: + +- Fixed compilation with Borland C++ in Unicode mode but without MSLU. +- Show taskbar icon menu on right button release, not press. + +wxGTK: + +- Don't crash if command line is not valid UTF-8 (Unicode build only). + +wxUniv: + +- It is now possible to set background colour of wxStaticText. + + +2.8.0 +----- + +All: + +- Added wxSearchCtrl (Vince Harron). +- wxCSConv("UTF-16/32") now behaves correctly, i.e. same as wxMBConvUTF16/32. +- 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). + +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 @@ -59,25 +643,44 @@ All: - Added wxDir::FindFirst() (Francesco Montorsi). - Added wxPlatformInfo class (Francesco Montorsi). - Added wxLocale::IsAvailable() (Creighton). -- Added Malay translations (Mahrazi Mohd Kamal) +- 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: @@ -88,10 +691,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 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() +- Added wxTLW::UseNativeDecorations() and UseNativeDecorationsByDefault(). 2.7.0