wxString, in many cases code using it won't compile any more and NULL
should be replaced with an empty string.
+- Functions returning "const wxChar *" were changed as well. Mostly they now
+ return wxString which is then transparently convertible to either "const char
+ *" or "const wchar_t *" but in some cases, notably wxDateTime::ParseXXX(),
+ the returned string could be NULL and so a separate helper class is used. If
+ you obtain compilation errors because of this, you can always correct them by
+ explicitly assigning the function return value to a variable of wanted type.
+ A slightly more intrusive but better solution is to use ParseXXX() version
+ with wxString::const_iterator output parameter which simply returns bool to
+ indicate the parsing success.
- Some structure fields which used to be of type "const wxChar *" (such as
wxCmdLineEntryDesc::shortName, longName and description fields) are now of
sizes of the sizer items to be in the same proportion as the items
proportions to return to the old behaviour.
+- Interpretation of font height in pixels parameter has changed in wxFont
+ ctor and SetPixelSize() in wxMSW: it is now used as character height and not
+ the total cell height. If you previously used negative height to explicitly
+ request character height matching, you may now change your code to use
+ positive value (passing negative height still works but is undocumented and
+ deprecated). If you used positive height before you should retest your code
+ to check if the changes correspond to your expectations. And if you do need
+ the old behaviour please contact us at wx-dev to let us know about it!
+
- wxWindow::Freeze/Thaw() are not virtual any more, if you overrode them in
- your code you need to override DoFreeze/Thaw() instead now.
+ your code you need to override DoFreeze/DoThaw() instead now.
- wxCalendarCtrl has native implementation in wxGTK, but it has less features
than the generic one. The native implementation is used by default, but you
- Under MSW wxExecute() arguments are now always properly quoted, as under
Unix, and so shouldn't contain quotes unless they are part of the argument.
+- wxDocument::OnNewDocument() doesn't call OnCloseDocument() any more.
+
+- If you use wxScrolledWindow::SetTargetWindow() you must implement its
+ GetSizeAvailableForScrollTarget() method, please see its documentation for
+ more details.
+
+- Processing of pending events now requires a running event loop.
+ Thus initialization code (e.g. showing a dialog) previously done in wxApp::OnRun()
+ or equivalent function should now be done into wxApp::OnEventLoopEnter().
+ See wxApp::OnEventLoopEnter() and wxApp::OnEventLoopExit() docs for more info.
+
+- wxLoadFileSelector() now allows the user to select existing files only.
+
+- Erase background events are now not generated at all when background style is
+ changed. See the updated wxWindow::SetBackgroundStyle() description in the
+ manual for more details.
+
+- wxTreeCtrl::GetSelection now asserts if the tree has the wxTR_MULTIPLE style.
+ Instead use GetSelections() for multiple items; or if you want only the
+ single item last touched, the new wxTreeCtrl::GetFocusedItem.
+
+- Custom log targets should be updated to override wxLog::DoLogRecord() method
+ instead of DoLog() or DoLogString() and must be updated if they call the base
+ class versions of these functions as this won't work any more; please see the
+ documentation of wxLog for more information.
+
+- Confusing wxGridSizer(int cols, int vgap = 0, int hgap = 0) ctor which was
+ easy to mistake for wxGridSizer(int rows, int cols) overload was removed, you
+ will need to specify both vertical and horizontal gap if you want to use this
+ overload or specify both rows and columns and the gap otherwise. Use of the
+ new constructors taking wxSize for the gap argument is preferred. The same
+ applies to wxFlexGridSizer as well.
+
+- wxBoxSizer::AddSpacer(x) now adds space in the direction of the sizer only
+ and not in both this and the orthogonal directions. This behaviour is what
+ most of the people expect but if you really relied on this overload adding
+ space in both directions you should change your code to use AddSpacer(x, x).
+
+- wxTextCtrl::LoadFile no longer sends a text update event.
+
+- wxXmlDocument::Save()'s indentstep argument's interpretation was fixed
+ to match the documentation: it now really is the number of spaces in
+ indentation instead of being its double. Its default value was changed
+ accordingly, to 2.
+
+- wxLOCALE_CONV_ENCODING flag has no effect now, catalogs are converted
+ regardless of whether the flag was specified or not. This only affects
+ legacy ANSI builds.
+
+- wxNotebook::GetSelection() returns the new page index when called from
+ wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED event handler in wxMSW, not the old one.
+ The new behaviour is consistent with wxGTK and more logical but different
+ from the previous versions. Using wxNotebookEvent::GetSelection() instead of
+ querying the notebook selection avoids the problem and is recommended.
+
+- wxMSW-specific wxAutomationObject::GetInstance() method now creates a new
+ instance if needed instead of failing if the application providing the
+ requested ProgID is not running. Pass wxAutomationInstance_UseExistingOnly
+ flag to it to revert to the old behaviour.
+
+
Changes in behaviour which may result in compilation errors
-----------------------------------------------------------
need to review them as wxDC doesn't have any virtual methods any longer and
uses delegation instead of inheritance to present different behaviours.
+- wxWindow::ProcessEvent() (and other wxEvtHandler methods inherited by wxWindow)
+ has been made protected to prevent wrongly using it instead of correct
+ GetEventHandler()->ProcessEvent().
+ New ProcessWindowEvent() was added for convenience.
+
- 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
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
+- wxWindow::Next/PrevControlId() don't exist any more as they couldn't be
implemented correctly any longer because automatically generated ids are not
- necessarily allocated consecutively any more. Use GetChildren() to find the
+ necessarily allocated consecutively now. Use GetChildren() to find the
next/previous control sibling instead.
- Calling wxConfig::Write() with an enum value will fail to compile because
have been changed to accept "wxBitmapType bitmaptype", please use enum
wxBitmapType in your code.
+- wxGridCellEditor::EndEdit() signature has changed and it was split in two
+ functions, one still called EndEdit() and ApplyEdit(). See the documentation
+ of the new functions for more details about how grid editors should be
+ written now.
+
+- wxEVT_GRID_CELL_CHANGE event renamed to wxEVT_GRID_CELL_CHANGED and shouldn't
+ be vetoed any more, use the new wxEVT_GRID_CELL_CHANGING event to do it.
+
+- wxListCtrlCompare function used with wxListCtrl::SortItems() must now declare
+ its third parameter as wxIntPtr and not long (this allows passing pointers
+ to it under 64 bit platforms too).
+
+- Global wxPendingEvents and wxPendingEventsLocker objects were removed.
+ You may use wxEventLoopBase::SuspendProcessingOfPendingEvents instead of
+ locking wxPendingEventsLocker now.
+
+- wxBitmapButton::GetBitmapXXX() overloads returning non-const wxBitmap
+ references have been removed, modifying the returned bitmaps never worked and
+ now results in compile-time error.
+
+- wxLogXXX() are now macros, not functions. Because of this calling them with
+ an explicit scope resolution operator ("::wxLogError()") doesn't work any
+ longer, just remove it. Also notice that using them inside an "if" statement
+ without enclosing parentheses results in warnings from g++ with -Wparentheses,
+ add parentheses around the if statement body to work around it.
+
+- wxList::Member() now returns book and not a pointer/iterator. This shouldn't
+ require any changes as it was always meant to be used for checking for the
+ presence of an element in the list only. If you used it as Find(), simple do
+ use Find() instead.
+
+- wxLongLongFmtSpec is now a normal and not wide string so you will need to
+ change expressions of the form wxT("%") wxLongLongFmtSpec wxT("x") to
+ just "%" wxLongLongFmtSpec "x", i.e. simply remove wxT() from the strings you
+ concatenate with it.
+
+
Deprecated methods and their replacements
-----------------------------------------
"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
-- wxMenuItem::GetLabel has been deprecated in favour of wxMenuItem::GetItemLabelText
-- wxMenuItem::GetText has been deprecated in favour of wxMenuItem::GetItemLabel
-- wxMenuItem::GetLabelFromText has been deprecated in favour of wxMenuItem::GetLabelText
-- wxMenuItem::SetText has been deprecated in favour of wxMenuItem::SetItemLabel
-- wxBrush's, wxPen's SetStyle() and GetStyle() as well as the wxBrush/wxPen ctor now take
- respectively a wxBrushStyle and a wxPenStyle value instead of a plain "int style";
- use the new wxBrush/wxPen style names (wxBRUSHSTYLE_XXX and wxPENSTYLE_XXX) instead
- of the old deprecated wxXXX styles (which however are still available).
+- Various wxMenuItem methods were deprecated in favour of more consisently
+ named new versions:
+ . GetLabel() is now GetItemLabelText()
+ . GetText() is not GetItemLabel()
+ . GetLabelFromText() is now GetLabelText()
+ . SetText() is now SetItemLabel()
+- wxBrush's, wxPen's SetStyle() and GetStyle() as well as the wxBrush/wxPen
+ ctor now take respectively a wxBrushStyle and a wxPenStyle value instead of a
+ plain "int style"; use the new wxBrush/wxPen style names (wxBRUSHSTYLE_XXX
+ and wxPENSTYLE_XXX) instead of the old deprecated wxXXX styles.
+- EVT_GRID_CELL_CHANGE was deprecated, use EVT_GRID_CELL_CHANGED instead if you
+ don't veto the event in its handler and EVT_GRID_CELL_CHANGING if you do.
- EVT_CALENDAR_DAY event has been deprecated, use EVT_CALENDAR_SEL_CHANGED.
- EVT_CALENDAR_MONTH and EVT_CALENDAR_YEAR events are deprecated,
use EVT_CALENDAR_PAGE_CHANGED which replaces both of them.
it with SetDeviceClippingRegion() if this was the correct thing to do in your
code.
- wxTE_AUTO_SCROLL style is deprecated as it's always on by default anyhow.
+- wxThreadHelper::Create() has been renamed to CreateThread which has a better
+ name for a mix-in class, and allows setting the thread type.
+- wxDos2UnixFilename, wxUnix2DosFilename, wxStripExtension, wxGetTempFileName,
+ wxExpandPath, wxContractPath, wxRealPath, wxCopyAbsolutePath, wxSplitPath
+ were deprecated in favour of wxFileName methods. See docs for more info.
+- wxEvtHandler::TryValidator/Parent() are deprecated, override the new and
+ documented TryBefore/After() methods if you used to override these ones.
+- wxGetMultipleChoices() is deprecated, use wxGetSelectedChoices() which has
+ the same signature but returns -1 and not 0 if the dialog was cancelled.
+- building the windows which are placed inside wxStaticBoxes as siblings of the
+ wxStaticBox is still allowed but it's deprecated as it gives some problems
+ on some ports (e.g. wxGTK).
+ You should now create windows placed inside a wxStaticBox as children of
+ the static box itself.
+- wxMouseState::{Left,Middle,Right}Down() were renamed to XXXIsDown() for
+ consistency with wxMouseEvent and the old names were deprecated.
+- wxFont::SetNoAntiAliasing() was deprecated, it never really worked in most
+ ports and was always marked as "experimental" API. It will be replaced with
+ wxDC-level anti-aliasing control in the future.
+- wxValidator::SetBellOnError() incorrectly interpreted its argument (it
+ disabled the bell when it was true) and was replaced by SuppressBellOnError()
+ with more expected semantics.
+- wxPORTRAIT and wxLANDSCAPE are now elements of wxPrintOrientation enum and
+ wxPrintData::SetOrientation(int) takes wxPrintOrientation and not int.
Major new features in this release
- 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.
+- New propgrid library containing wxPropertyGrid and related classes.
+
+- new ribbon library for advanced toolbars.
+
+- Many enhancements to wxDataViewCtrl.
+
+- Event loops, timers and sockets can now be used in wxBase, without GUI.
+
+- Events can now be connected to any functor, not necessarily a method of
+ wxEvtHandler-derived class. The compile-time safety was also improved.
+
+- Documentation for wxWidgets has been converted from LaTex to C++ headers
+ with Doxygen comments and significantly improved in the process (screenshots
+ of various controls were added, more identifiers are now linked to their
+ definition &c). Any reports about inaccuracies in the documentation are
+ welcome (and due to using the simple Doxygen syntax it is now easier than
+ ever to submit patches correcting them! :-)
+
+- Support for persistent objects automatically saving and restoring their state
+ was added.
+
+
+2.9.2:
+------
+
+All:
+
+- Added cwd and env arguments to wxExecute() (Emilien Kia).
+- Added "rest" argument to wxString::Before{First,Last}().
+- Added wxThread::OnKill() and OnDelete() callbacks.
+- Added wxFile::GetLastError() and ClearLastError() (ryazanov).
+- Added negatable command line switches (Armel Asselin).
+- Added wxVersionInfo and various GetLibraryVersionInfo() functions (troelsk).
+- Added wxNumberFormatter for dealing with thousands separators.
+- Added wxIntegerValidator<> and wxFloatingPointValidator<> validators.
+- Added wxIMAGE_OPTION_GIF_COMMENT to read and write GIF comments (troelsk).
+
+Unix:
+
+- Fix spurious errors when writing to child process pipe (ryazanov).
+
+All (GUI):
+
+- Added wxRichMessageDialog (Rickard Westerlund, GSoC 2010 project).
+- Added wxCommandLinkButton (Rickard Westerlund, GSoC 2010 project).
+- Added wxUIActionSimulator (Steven Lamerton, GSoC 2010 project).
+- wxAUI: support auto-orientable toolbars (wsu).
+- wxAUI: add support for icons in pane title bars (triton).
+- Added wxDataViewCtrl::Set/GetCurrentItem().
+- Added possibility to disable individual wxDataViewCtrl items (Neno Ganchev).
+- wxHTML: render in RTL order inside RTL window (Richard Bullington-McGuire).
+- wxRibbon: added EVT_RIBBONGALLERY_CLICKED event (John Roberts).
+- wxRibbon: allow hiding the panels and showing tabs only (snowleopard).
+- Add support for CP-866 encoding to wxEncodingConverter (madnut).
+- Consistency fixes for keyboard events across all major ports.
+- Added EVT_RIBBONBAR_TAB_LEFT_DCLICK event (snowleopard).
+- Fix display of right aligned columns in wxGenericListCtrl (jl).
+- Restore text drag-and-drop in wxSTC broken by Scintilla 2 update (Jens Lody).
+- Improve wxGTK print/page setup dialog (rafravago).
+- Add support for id ranges to XRC (David Hart).
+- Added wxToolbook XRC handler (Andrea Zanellato).
+- Added wxDocManager::FindTemplate() (troelsk).
+- Return bool, not void, from wxImage::ConvertAlphaToMask() (troelsk).
+- Fixed resizing columns in wxGrid when they were reordered.
+- Added wxImage::Rotate180() (Jeff Tupper).
+- Added support for saving TGA files.
+- Added wxArtProvider returning higher quality icons from Tango project.
+- wxPropertyGrid: Added "HasAlpha" attribute for wxColourProperty.
+- Added support for saving PNG files with palette (troelsk).
+- Added support for saving as GIF and animated GIF (troelsk).
+
+GTK:
+
+- Switch to GtkTooltip from deprecated GtkTooltips (Emilien Kia).
+
+MSW:
+
+- Native implementation of wxHyperlinkCtrl and wxProgressDialog under modern
+ Windows versions (Rickard Westerlund, GSoC 2010 project).
+- Fix Cygwin 1.7 build (David Gangola).
+- Allow using wxDC::DrawText() with multiline texts.
+- Fix wxBitmapButton best size determination broken in 2.9.1.
+- Center task dialog-based wxProgressDialog on the parent (John Roberts).
+- wxAutomationObject::GetInstance() creates objects on demand (Kolya Kosenko).
+
+
+
+2.9.1:
+------
+
+INCOMPATIBLE CHANGE SINCE 2.9.0
+
+- wxStandardPaths doesn't use vendor name by default under MSW and OSX to
+ remain compatible with 2.8 behaviour but this makes it incompatible with
+ 2.9.0. Please use UseAppInfo(AppInfo_AppName | AppInfo_VendorName) explicitly
+ to use the vendor name in the paths returned by wxStandardPaths.
+
+- wxDataViewModel::GetAttr() is now const, as it should have been from the very
+ beginning. You will need to change it to be const in your derived model
+ class too if you override it.
+
+
+All:
+
+- Added wxFileSystemWatcher (Bartosz Bekier, Google Summer of Code project).
+- Added wxStd{Input,Output}Stream classes (Jonathan Liu).
+- Include port number in host header in wxHTTP (Marcin 'Malcom' Malich).
+- Added wxTempFile::Flush().
+- Added support for wxLongLong and wxULongLong in wxVariant.
+- Added wxVector::swap().
+- Many wxLog improvements:
+ * wxLogXXX() functions are now thread-safe.
+ * Log levels can now be set independently for different log components.
+ * wxLog::DoLogRecord() has access to the location of the log message
+ (file, line and function name) and id of the thread which generated it.
+ * SetThreadActiveTarget() allows to set up thread-specific log targets.
+- Fix output buffer overflow in wxBase64Decode() (Eric W. Savage).
+- Added bilinear image resizing algorithm to wxImage (bishop).
+- Fix bug with position argument in wxImage::Size() (Byron Sorgdrager).
+- Added wxImage::ClearAlpha() (Javier Torres).
+- Fix bug with parsing concatenated switches in wxCmdLineParser (Mike Funduc).
+- Added wxMBConv::cMB2WC(wxCharBuffer) and cWC2MB(wxWCharBuffer) overloads.
+- Added wxAny class; a modern, backwards-incompatible replacement for
+ wxVariant.
+- wxDateTime timezone functions now dynamic (no caching).
+- Added wxHttp::GetCookie and wxHttp::HasCookies (dodge).
+- Added support for unique volume names to wxFileName (Neno Ganchev).
+- Correct bugs when using wxTextInputStream with wxConvAuto (Leon Buikstra).
+- Don't crash when input is empty in wxFileConfig ctor (Lukasz Michalski).
+- Correct wxSocket::Peek() to not block (Anders Larsen).
+- Added IEC and SI units support to GetHumanReadableSize() (Julien Weinzorn).
+- Add convenient wxString::ToStd{String,Wstring}() helpers.
+- Added wxTranslations class to allow localization without changing locale.
+ It provides more flexible languages enumeration API as well.
+- Added wxResourceTranslationsLoader for loading translations from Windows
+ resources.
+- Added wxMessageQueue::Clear().
+- Added wxConfig::Read(float *) overload (Terry Farnham).
+- Always use decimal point (and not the current locale separator) in wxConfig.
+- Fix posting of binary data using wxHTTP (Catalin Raceanu).
+
+Unix:
+
+- Return signed return code from wxExecute(wxEXEC_SYNC).
+- Allow to use WX_APPNAME_DATA_DIR environment var to override the return value
+ of wxStandardPaths::GetDataDir().
+
+All (GUI):
+
+- Added support for showing bitmaps in wxButton.
+- Added wxInfoBar.
+- Added stretchable spaces support to wxToolBar.
+- Added support for corner, row and column headers renderers to wxGrid.
+- wxWindow::SetAutoLayout() now works for all windows, not just panels.
+- Support wxListCtrl columns, items and image lists in XRC (Kinaou Hervé).
+- Added support for wxFileCtrl to XRC (Kinaou Hervé).
+- Added ownfg, ownbg and ownfont tags to XRC.
+- Added wxEditableListBox XRC handler.
+- Added multiple selection support to wxDirCtrl (Steve Lamerton).
+- wxGrid: add possibility to prevent resizing of individual rows/columns.
+- wxGrid: allow changing the horizontal alignment of numeric cells.
+- wxHTML: add support for table borders width (Laurent Humbertclaude).
+- wxHTML: add limited support for span elements styles (Nigel Paton).
+- Added wxMouseEventsManager.
+- Building OpenGL library is now enabled by default.
+- Fixed wxDataViewCtrl::Set{Foreground,Background}Colour().
+- Added wxDataViewRenderer::EnableEllipsize().
+- Improve wxTreeCtrl::ScrollTo() in generic version (Raanan Barzel).
+- Added wxFont::[Make]{Bold,Italic,Smaller,Larger} and Scale[d]() methods.
+- Added wxDC::CopyAttributes() and use it in wxBufferedDC.
+- Added wxTextWrapper helper class useful for wrapping lines of text.
+- Added EVT_DATAVIEW_CACHE_HINT() event (Trigve).
+- Added wxLB_NO_SB style (implemented for MSW only; Dario Senic).
+- Added long version field to wxAboutDialogInfo (Jeff Tupper).
+- Added wxWindow::CanScroll() behaving like the old HasScrollbar() and made
+ HasScrollbar() really check for the scrollbar existence.
+- Added wxKeyEvent::IsKeyInCategory() (Jeff Tupper).
+- Add A0 and A1 paper formats support (Martin Perktold).
+- Fixed wxComboCtrl popup size on Mac (scrollbars were always shown).
+- Fixed wxComboCtrl focus problem on Mac (first-time popup
+ dismissed immediately as text control grabbed the focus).
+- wxPropertyGrid: added wxPG_EX_MULTIPLE_SELECTION.
+- wxPropertyGrid: added functions for editing property labels.
+- wxPropertyGrid: many fixes to property validation failure behavior. Added
+ new flags: wxPG_VFB_SHOW_MESSAGEBOX and wxPG_VFB_SHOW_MESSAGE_ON_STATUSBAR.
+- wxPropertyGrid: Added wxPropertyGrid::DedicateKey().
+- wxPropertyGrid: wxArrayStringProperty now uses wxEditableListBox.
+- wxPropertyGrid: Added "Delimiter" attribute for wxArrayStringProperty.
+- wxPropertyGridManager: added wxPG_NO_INTERNAL_BORDER,
+ wxPG_EX_NO_TOOLBAR_DIVIDER and wxPG_EX_TOOLBAR_SEPARATOR styles for finer
+ control over borders. Borders around property grid are now native for
+ consistency.
+- Added wxPropertyGridManager::ShowHeader().
+- Added wxXmlResource::LoadObjectRecursively().
+- Added wxColour::Set/GetRGB() and Set/GetRGBA() methods (Marcel Haß).
+- wxRTC: added wxRICHTEXT_HANDLER_USE_CSS flag for HTML handler to use CSS
+ where possible.
+- wxRTC: corrected centring and right-justification spacing.
+- wxRTC: fixed style selection reset after editing a style.
+- wxRTC: can now edit line spacing in .1 increments from 1 to 2.
+- wxRTC: added PaintAboveContent function for drawing on top of text.
+- Added wxBORDER_THEME to XRC.
+- wxGraphicsContext is now enabled by default if supported by the platform.
+- Fix building with using system libpng 1.4 (Volker Grabsch).
+- Add wxComboBox::Popup() and Dismiss() methods (Igor Korot).
+- Added wxTreeCtrl::SelectChildren() (Nikolay Tiushkov).
+- Show pages icons in window list menu in wxAuiNotebook (Ronny Krüger).
+- Add "initial selection" parameter to wxGetSingleChoice() (Nikolay Tiushkov).
+- Implement wxDocument::Revert() (troelsk).
+- Allow overriding print preview frame creation in docview (troelsk).
+- Added support for gradient stops in wxGraphicsContext (Kit Bishop).
+- Added wxTransparentColour.
+- Added wxToolBar::GetToolByPos().
+- Added wxProgressDialog::Was{Cancelled,Skipped}() (Julien Weinzorn).
+- Added wxTreeCtrl::{Clear,Set}FocusedItem() (Nikolay Tiushkov).
+- Added "filter changed" event to wxFileCtrl (Bill Jones).
+- wxAUI: update floating window position and not only size on resize (MacGyver).
+- Added wxComboCtrl::SetTextCtrlStyle().
+- Also update client data in wxRearrangeList control (John Roberts).
+- Generate more click events in wxGrid when using native header (John Roberts).
+
+GTK:
+
+- wxRadioBox constructor uses default consistent with other ports now.
+- Implement wxMask copy ctor.
+- Partially implemented wxTextCtrl::GetStyle() (Igor Romanov).
+- Corrected themed border display.
+- Fix wxClipboard::GetData() for asymmetric wxDataObjects (Timothy Lee).
+
+Mac:
+
+- Implement wxWindow::ShowWithEffect() in wxOSX/Cocoa.
+- Correct min/max pages display in the print dialog (Auria).
+- Fix wxDataViewColumn::GetWidth() in Cocoa (Neno Ganchev).
+
+MSW:
+
+- Translate wxMessageDialog labels to the language of the current locale.
+- Allow changing the height of wxChoice and wxComboBox.
+- Update CRT environment block in wxSetEnv() too.
+- Fix wxMDIChildFrame::SetSize() (Lars Rosenboom).
+- Fix wxTreeCtrl::UnselectItem() in single selection controls.
+- Allow customizing wxStandardPaths logic for program directory determination.
+- Use time in wxDateTime <-> SYSTEMTIME conversion (troelsk).
+- Setting colours for wxSpinCtrl now works.
+- Worked around child window and caret positioning bug (in Windows) when using
+ wxBORDER_THEME in a container window.
+- Suppressed spurious character event for decimal key in numeric keypad.
+- Allow to not create wxPaintDC in EVT_PAINT handler.
+- Fix sending of wxEVT_COMMAND_LIST_COL_DRAGGING events in wxListCtrl.
+- Allow putting the UAC symbol on buttons (Chris Spencer).
+- Fix wxTaskBarIcon for older Windows systems (Daniel Wyatt).
+- Fixed wxOwnerDrawnComboBox keyboard handling: drop-down is no longer
+ displayed when arrow key is pressed (without Alt).
+- In some rare cases wxOwnerDrawnComboBox drop-down animation could display
+ as garbage. This has now been greatly reduced (mcben).
+- Fixed wxComboCtrl::SetButtonPosition() on Vista/Win7.
+
+i18n:
+
+- Korean translations added (Sungkee Jung).
+- Romanian translations added (Manuel Ciosici).
2.9.0
All:
-- Added (experimental) IPv6 support to wxSocket (Arcen)
+- Added (experimental) IPv6 support to wxSocket (Arcen).
- Cleaned up wxURI and made it Unicode-friendly.
-- Add support for wxExecute(wxEXEC_ASYNC) in wxBase (Lukasz Michalski)
-- Added wxXLocale class and xlocale-like functions using it
-- Allow loading message catalogs from wxFileSystem (Axel Gembe)
+- Add support for wxExecute(wxEXEC_ASYNC) in wxBase (Lukasz Michalski).
+- Added wxXLocale class and xlocale-like functions using it.
- 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 wxMutex::LockTimeout() (Aleksandr Napylov).
- Added wxMemoryInputStream(wxInputStream&) ctor (Stas Sergeev).
- Implemented wxMemoryInputStream::CanRead().
+- Implemented wxMemoryFSHandler::FindFirst/Next().
+- Added wxEventLoop::DispatchTimeout().
+- Added wxZlibStream::SetDictionary() (Axel Gembe).
- Added wxEXEC_BLOCK flag (Hank Schultz).
- Add support for wxStream-derived classes to wxRTTI (Stas Sergeev).
- Added wxStreamBuffer::Truncate() (Stas Sergeev).
Linnakangas).
- wxVariant::Unshare allows exclusive allocation of data that must be shared,
if the wxVariantData::Clone function is implemented.
-- Added wxWeakRef<T>, wxScopedPtr<T>, wxSharedPtr<T> class templates
+- Added wxWeakRef<T>, wxScopedPtr<T>, wxScopedArray<T>, wxSharedPtr<T> templates
+ and renamed old wx/ptr_{scpd,shrd}.h headers to wx/scoped{ptr,array}.h and
+ wx/sharedptr.h (but old headers are still provided for compatibility).
- Added wxVector<T> class templates
- Added wxON_BLOCK_EXIT_SET() and wxON_BLOCK_EXIT_NULL() to wx/scopeguard.h.
- Added wxEvtHandler::QueueEvent() replacing AddPendingEvent() and
- Corrected bug in wxTimeSpan::IsShorterThan() for equal time spans.
- Use std::unordered_{map,set} for wxHashMap/Set if available (Jan van Dijk).
- Added wxString::Capitalize() and MakeCapitalized().
+- Added wxArray::swap().
- Added wxSHUTDOWN_LOGOFF and wxSHUTDOWN_FORCE wxShutdown() flags (troelsk).
+- Added wxSocket::ShutdownOutput().
+- Handle exceptions thrown from overridden wxView::OnCreate() gracefully.
+- Added wxPATH_RMDIR_FULL/RECURSIVE wxFileName::Rmdir() flags (Marcin Malich).
+- Added wxStandardPaths::GetAppDocumentsDir().
+- Added wx-prefixed versions of DECLARE_NO_{COPY,ASSIGN}_CLASS macros.
+- Added wxFileName::ReplaceEnvVariable and wxFileName::ReplaceHomeDir.
+- Added wxProtocol::SetDefaultTimeout(); the default timeout for both wxHTTP and wxFTP
+ protocols is 60 seconds.
+- Added wxStrnlen() for safe computation of string length.
+- Added wxImage::Clear() (troelsk).
+- Added wxLog::Log().
+- Added wxProtocolLog and use it in wxFTP.
+- Added wxXmlResource::GetResourceNode().
+- Optimize wxString::Replace() to use an O(N) algorithm (Kuang-che Wu).
+- Added support of %l format specifier to wxDateTime::ParseFormat().
+- wxImage handlers can now support multiple extensions (Ivan Krestinin).
+- Added wxFileName::StripExtension() (troelsk).
+- Added wxLOCALE_DATE/TIME_FMT support to wxLocale::GetInfo().
+- Store page setup data directly in wxDocManager (troelsk).
All (Unix):
- Added wx-config --optional-libs command line option (John Labenski).
+- Noticeably (by a factor of ~150) improve wxIPC classes performance.
+- Configure options --with-opengl and --enable-mediactrl now default to "auto":
+ if OpenGL and GStreamer libraries are available the "gl" and "media" wx libraries
+ are automatically built.
All (GUI):
-- Added wxDataViewCtrl class and helper classes
-- Provide native implementation of wxCalendarCtrl under wxMSW and wxGTK
-- Added {wxTextCtrl,wxComboBox}::AutoComplete() and AutoCompleteFileNames()
+- Added wxDataViewCtrl class and helper classes.
+- Integrated wxPropertyGrid in wxWidgets itself (Jaakko Salli).
+- Provide native implementation of wxCalendarCtrl under wxMSW and wxGTK.
+- Added wxHeaderCtrl and allow using it in wxGrid.
+- Added wxRearrangeList, wxRearrangeCtrl and wxRearrangeDialog.
+- 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 (Arne Steinarson)
-- Added wxSpinCtrlDouble (John Labenski)
+- Added wxNotificationMessage class for non-intrusive notifications.
+- Added wxWindow::Show/HideWithEffect().
+- Added wxWrapSizer (Arne Steinarson).
+- Added wxSpinCtrlDouble (John Labenski).
+- Support custom labels in wxMessageDialog (Gareth Simpson for wxMac version).
+- Added wxScrolledWindow::ShowScrollbars().
+- Also added wxCANCEL_DEFAULT to wxMessageDialog.
+- Allow copying text in the log dialogs.
- Added multisample (anti-aliasing) support to wxGLCanvas (Olivier Playez).
+- Added wxEVT_COMMAND_COMBOBOX_DROPDOWN/CLOSEUP events (Igor Korot).
+- Added wxCAL_SHOW_WEEK_NUMBERS wxCalendarCtrl style (Sören Meyer-Eppler).
- Initialize wx{Client,Paint,Window}DC with fonts/colours of its window.
-- Added wxNativeContainerWindow to allow embedding wx into native windows
-- Added custom controls support to wxFileDialog (Diaa Sami and Marcin Wojdyr)
+- Added wxNativeContainerWindow to allow embedding wx into native windows.
+- Added custom controls support to wxFileDialog (Diaa Sami and Marcin Wojdyr).
- 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 wxListCtrl::Set/GetColumnsOrder() (Yury Voronov).
+- Added wxTextEntry::SetHint().
- Made wxLogWindow thread-safe (Barbara Maren Winkler).
-- 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 wxWindow::AlwaysShowScrollbars() (Julian Scheid).
+- Added wxMouseEvent::GetClickCount() (Julian Scheid).
+- Added wxBG_STYLE_TRANSPARENT background style (Julian Scheid).
+- Added support for drop-down toolbar buttons to XRC.
+- 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.
- 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
+- 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 wxGenericStaticBitmap suitable for display of large bitmaps.
- Support wxListCtrl::GetViewRect() in report view too.
- Implement wxListCtrl::GetSubItemRect() in generic version (David Barnard).
+- Add column parameter to wxListCtrl::GetItemText() (Allann Jones).
- Added wxVListBox::GetItemRect() (Javier Urien).
- Show busy cursor in wxLaunchDefaultBrowser and add wxBROWSER_NOBUSYCURSOR.
- Added wxFlexGridSizer::Is{Row,Col}Growable() (Marcin Wojdyr).
- Added "enabled" and "hidden" attributes to radio box items in XRC.
+- wxWindow::IsBeingDeleted() now returns true not only if the window itself is
+ marked for destruction but also if any of its parent windows are.
+- Improved drawing of the hint during column move in wxGrid (Santo Pfingsten).
+- Add wxGridSelectRowsOrColumns selection mode to wxGrid.
+- Add wxEVT_GRID_CELL_CHANGING event matching wxEVT_GRID_CELL_CHANGED.
+- Get/HasModifiers() of wxKeyEvent are now also available in wxMouseEvent.
+- Provide new/old cell value in wxEVT_GRID_CELL_CHANGING/CHANGED events.
+- Added wxArtProvider::GetNativeSizeHint(); GetSizeHint() as well as
+ GetNativeSizeHint() now return more sensible values in wxMSW and wxMac and
+ no longer return bogus values.
+- Added wxControl::SetLabelText() and EscapeMnemonics().
+- Added support for wxFILTER_EMPTY and wxFILTER_DIGITS styles to wxTextValidator;
+ added also the SetCharIncludes() and SetCharExcludes() utilities.
+- Added wxIMAGE_OPTION_PNG_FILTER and many wxIMAGE_OPTION_PNG_COMPRESSION_* options
+ to wxImage and wxPNGHandler to allow for custom compression levels when saving PNGs
+ (Perdana Panduwana)
+- Added GetValue(), GetRange(), GetMessage() functions to wxProgressDialog
+- Moved yield functions to wxEventLoopBase and implemented for wxMSW and wxGTK
+ a selective wxEventLoopBase::YieldFor() function.
+ Added also wxEventLoopBase::IsYielding to help cure re-entrancy problems with Yield().
+- Render <th> element contents in bold in wxHTML.
+- Added wxGrid::{Set,Get}{Row,Col}Sizes() methods (Andrey Putrin).
+- Add support for wxSP_WRAP in the generic version of wxSpinCtrlDouble.
+- Add alignment flags support to wxSpinCtrl[Double] (Andrew Radke).
+- Added wxGetSelectedChoices() replacing wxGetMultipleChoices() (Kolya Kosenko).
+- Check whether document fits into page horizontally in wxHtmlPrintout, see the
+ new CheckFit() method for more information.
+- Allow reading GIFs with incorrectly specified animation size.
+- Return number of frames in animated GIF from wxGIFHandler::GetImageCount().
+- Improved anchors handling in wxHTML.
wxGTK:
- Support for markup and ellipsization in wxStaticText (Francesco Montorsi).
+- Ellipsize long strings in wxStatusBar (Francesco Montorsi)
- Native implementation for wxHyperlinkCtrl (Francesco Montorsi).
- Native keyboard navigation implementation.
- Added wxCB_SORT support to wxComboBox (Evgeniy Tarassov).
- Added gtk.tlw.can-set-transparency system option.
- Added support for GTK+ print backend
- Fix changing font/colour of label in buttons with images (Marcin Wojdyr).
+- Fix wxDC::Blit() support for user scale and source offset (Marcin Wojdyr).
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
+- Implement wxLocale::GetInfo() using CFLocale.
+- Native wxCollapsiblePane implementation.
wxMSW:
+- Fix many problems with selection in multi-selection wxTreeCtrl (Jonathan Liu).
- 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).
+- wxCheckListBox now also supports use of client data (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)
-- Show resize gripper on resizeable dialogs (Kolya Kosenko)
-- Implement support for display enumeration under WinCE (Vince Harron)
-- Use different Win32 class names in different wx instances (Thomas Hauk)
+- Fix centering wxFileDialog and allow positioning it.
+- Allow centering wxMessageDialog on its parent window (troelsk).
+- Use vertical scrollbar in wxMessageDialog if it's too big to fit on screen.
+- Show resize gripper on resizeable dialogs (Kolya Kosenko).
+- Implement support for display enumeration under WinCE (Vince Harron).
+- Use different Win32 class names in different wx instances (Thomas Hauk).
- Support multiline labels for wxCheckBox and wxToggleButton.
- Print preview is now rendered in the resolution used by printer and
accurately represents what will be printed. This fixes wxHtmlEasyPrinting
preview inaccuracies on Windows; on other platforms, native preview
should be used.
+- Implement wxFileName::SetTimes() for directories (Steve Lamerton).
+- Added wxToolTip::SetMaxWidth() and improved default wrapping (Joachim Hönig).
+- Changed default toolbar bitmaps size from obsolete 16x15 to 24x24 used
+ by modern apps.
+- Ellipsize long strings in wxStatusBar (Francesco Montorsi)
+- Fix spurious repaint when changing tooltip text (Jonathan Liu).
+- Fix wxSP_WRAP and wxSP_ARROW_KEYS in wxSpinCtrlDouble (Andrew Radke).
wxX11:
- Implement wxBitmap ctor from XBM data.
+i18n:
+-----
+
+- Slovak translations added (Ivan Masár).
+
+
+2.8.10:
+-------
+
+All:
+
+- wxHashMap::insert() doesn't update the value if it didn't insert the element
+ any more (Marcin Malich).
+- Correct bug in wxTimeSpan::Format() for negative spans.
+- Correct several bugs in wxList using end() iterators (Suzumizaki-Kimitaka).
+- Added Vietnamese translation (Tran Ngoc Quan).
+- Updated Slovenian translation (Martin Srebotnjak).
+- Corrected Serbian locale name (Cody Precord).
+- Fix wxURL::GetInputStream() for URLs with special characters in credentials
+ (Robert Wruck).
+- Fix wxURI::GetUser() for URIs without password.
+- Correct wxDateTime DST computation for 2006 and later (Christopher Barker).
+
+All (GUI):
+
+- wxRTC: fixed input that uses Alt on Mac OS X, for example Polish Pro input.
+ Also fixed a bug whereby e.g. Croatian keys didn't work, by moving more code
+ to key down handler.
+- wxRTC: fixed a problem with HTML list generation.
+- wxRTC: no longer deletes a character when content is selected before
+ pressing Delete.
+- wxRTC: fixed inability to select no superscript and no subscript in
+ formatting dialog.
+- wxRTC: fixed centering and right-justification when combined with left
+ indentation.
+- wxRTC: fixed lack of right margin when centering or right-justifying.
+- wxRTC: fixed wrong descent when wrapping lines with different font sizes.
+- wxRTC: fixed wrapping problem for long lines.
+- wxRTC: all buffer margins now respected.
+- wxRTC: Added wxRE_CENTRE_CARET to centre the caret line vertically.
+- Fixed wxHTML's pagebreaks computation in tables (D.J.Stauffer).
+- Fixed wxHtmlWindow::SelectionToText() to correctly insert newlines after
+ single-cell paragraphs.
+- Fixed wxHTML's line breaks handling in <pre> blocks broken in 2.8.8 (#10120).
+- wxHTML: don't include extra whitespace in table cells.
+- Implemented wxWindow::DragAcceptFiles() on all platforms.
+- Added wxAUI_MGR_LIVE_RESIZE flag to wxAuiManager and made it the default on
+ wxMac with CoreGraphics where sash drawing isn't implemented.
+- Use bitmap mask in wxSplashScreen.
+- Translate "(c)" and "(C)" to the real copyright sign in wxAboutBox.
+- Fix painting of highlight border for merged cells in wxGrid (K. Jones).
+- Fix handling of long lines in wxGridCellAutoWrapStringRenderer.
+
+All (Unix):
+
+- Return false from wxSingleInstanceChecker::IsAnotherRunning() if an error
+ occurred while opening or reading the lock file (Lauri Nurmi).
+
+wxMSW:
+
+- Fixed bug with using non default encoding in wxTextCtrl in ANSI build.
+- Restored generation of events for accelerators when there is no menu bar.
+- Fixed wxArtProvider::GetSizeHint() to return 16x16 for wxART_FRAME_ICON.
+- Fixed toolbar buttons so that they don't disappear temporarily when clicked
+ if the event handler causes window update.
+- Fix display enumeration under WinCE (Vince Harron).
+- Fix best size calculation for wxNotebook with multiple rows (Alex McCarthy).
+- Correct coordinates of wxDropFilesEvent (Dmitriy Maksimov).
+- Fix handling of abandoned mutexes in wxMutex (David Heffernan).
+- Avoid warnings about deprecated localtime with MSVC8/9 (Chris Stankevitz).
+- Fixed invisible CHM tooltip text bug when window text colour is black.
+- Automatically adjust toolbar's tool size if the provided bitmaps
+ don't fit into the default size.
+- Don't generate EVT_LISTBOX_DCLICK events with incorrect indices.
+- Don't reuse the double click handled by activation event handler for toggling
+ the item in wxTreeCtrl.
+
+
+wxMSW/CE:
+
+- Don't hardcode the menu bar height (Michele Spighi).
+
+wxGTK:
+
+- Fixed printing to use fonts sizes adjustment consistent with wxMSW.
+- Make colours used by list, tree and status bar controls more consistent with
+ the system theme settings (Tim Kosse).
+- Worked around bug in GTK+ < 2.14 where enabling some controls such
+ as wxButton didn't re-enable sensitivity until the mouse was moved.
+
+wxOS2:
+
+- Added implementation for wxSingleInstanceChecker contributed by Lauri Nurmi
+
+
+2.8.9
+-----
+
+All:
+
+- Optimize wxString::Replace() for single character arguments.
+- Updated Hindi translation (Priyank Bolia).
+- Use tr1::unordered_{map,set} for wxHash{Map,Set} implementation if available
+ in STL build; in particular do not use deprecated hash_{map,set} which
+ results in a lot of warnings from newer g++ (Jan Van Dijk and Pete Stieber).
+
+All (GUI):
+
+- Added support for reading alpha channel in BMP format (Kevin Wright).
+- Fixed help viewer bug whereby the splitter sash in wxHtmlHelpWindow could
+ go underneath the left-hand pane, permanently, after resizing the
+ help window.
+- Fixed wxHTML default font size for printing to be 12pt regardless of the
+ platform, instead of depending on GUI toolkit's screen configuration.
+- Support wxDP_ALLOWNONE style in generic wxDatePickerCtrl version.
+- Set wxKeyEvent::m_uniChar correctly in the events generated by generic
+ wxListCtrl (Mikkel S).
+- Fix changing size of merged cells in wxGrid (Laurent Humbertclaude).
+- Fixed wrapping bug in wxRichTextCtrl when there were images present;
+ now sets the cursor to the next line after pressing Shift+Enter.
+- Fixed Cmd+Back, Cmd+Del word deletion behaviour in wxRichTextCtrl.
+- Fix crash when reading malformed PCX images.
+- Fix bug with wrong transparency in GIF animations (troelsk).
+- Store palette information for XPM images in wxImage (troelsk).
+- Fixed selection bugs and auto list numbering in wxRichTextCtrl.
+- Significantly optimize wxGrid::BlockToDeviceRect() for large grids (kjones).
+- Introduced new wxAuiToolBar class for better integration and look-and-feel.
+- Fix a crash in wxAuiFrameManager when Update() was called in between mouse-up
+ and mouse-down events
+- wxAUI: added various NULL-ptr asserts.
+- Fixed problem with Floatable(false) not working in wxAuiFrameManager.
+- Fixed maximize bug in wxAUI.
+- Allow period in link anchors in wxHTML.
+- Fixed memory corruption in wxHTML when parsing "&;" in the markup.
+- Fixed event type in EVT_GRID_CMD_COL_MOVE and EVT_GRID_COL_MOVE.
+- wxGrid doesn't steal focus when hiding editor any more (Tom Eckert).
+
+All (Unix):
+
+- MIME types reading fixed when running under GNOME, reading .desktop
+ files and also the default application list.
+- Added filesys.no-mimetypesmanager system option so that applications that
+ must load an XRC file at program startup don't have to incur the
+ mime types manager initialization penalty.
+
+wxMSW:
+
+- Potentially incompatible change: wxExecute() arguments are now quoted if they
+ contain spaces and existing quotes are escaped with a backslash. However, to
+ preserve compatibility, the argument is unchanged if it is already quoted.
+ Notice that this behaviour will change in wxWidgets 3.0 where all arguments
+ will be quoted, please update your code now if you are affected and use only
+ wxWidgets 2.8.9 or later.
+- Fix keyboard support in wxSpinCtrl broken in 2.8.8.
+- Compile fix for WinCE in window.cpp (no VkKeyScan in Windows CE).
+- Support disabling items before adding them to the menu (Christian Walther).
+- Allow to call SetFont(wxNullFont) to reset the font to default.
+- Implement UUID::operator==() and !=() (SQLAware Corporation).
+- Fixed long standing (introduced in 2.6.3) bug which resulted in always
+ creating a DIB and not DDB in wxBitmap(const wxImage&) ctor.
+- Fix the bug with wxFileDialog not being shown at all if the default file name
+ was invalid.
+- Fix hang in keyboard navigation code with radio buttons under Windows 2000.
+- Implement wxWinINetInputStream::GetSize() (spicerno).
+- Always copy "has alpha" flag when copying bitmaps (SQLAware Corporation).
+
+wxGTK:
+
+- Fixed masking of disabled bitmaps in wxMenuItem and wxStaticBitmap.
+- Fixed generation of events for an initially empty wxDirPickerCtrl.
+- Fixed detection of Meta key state so that NumLock isn't misdetected
+ as Meta (requires GTK+ 2.10).
+- Fix changing font/colour of label in buttons with images (Marcin Wojdyr).
+
+wxMac:
+
+- Fixed a glitch where clicking on a scrollbar (but not moving the scrollbar)
+ would cause the window to scroll.
+
2.8.8
-----
- 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).
+- 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.
- 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)
+- Implemented child process termination notifications (David Björkevik)
Unix:
- Added wxXmlResource::Unload().
- Possibility of modeless wxWizard dialog (with presentation in sample).
- Fixed a rare crash due to malformed HTML in wxHTML (Xavier Nodet).
-- Ctrl+mouse wheel changes zoom factor in print preview (Zbigniew Zagórski).
+- Ctrl+mouse wheel changes zoom factor in print preview (Zbigniew Zagórski).
- Cross-compile now supported for wxGTK, wxX11 and wxMotif.
- Cygwin compilation of wxX11, wxGTK and wxMotif now supported.
- Now reads "help" parameter for all windows (context help text).
- Fixed wxSlider::GetSelEnd() (Atilim Cetin).
- Fixed accelerators of menu items added to already attached submenus.
- Position of wxEVT_MOUSEWHEEL events is now in client, not screen, coordinates.
-- Handle absence of wxListCtrl column image better (Zbigniew Zagórski).
+- Handle absence of wxListCtrl column image better (Zbigniew Zagórski).
- Fixed asynchronous playback of large sound files in wxSound.
- Added wxDynamicLibrary::GetSymbolAorW().
- Fixed default size of wxStaticText controls with border being too small.
use accessors methods now (Mart Raudsepp)
- new classes for reading and writing ZIP files (M.J.Wetherell)
- large files support for wxFFile (M.J.Wetherell)
-- classes in the manual are now cross-referenced (Zbigniew Zagórski)
-- Norwegian (Bokmål) translation added (Hans F. Nordhaug)
+- classes in the manual are now cross-referenced (Zbigniew Zagórski)
+- Norwegian (Bokmål) translation added (Hans F. Nordhaug)
- wxDynamicLibrary::HasSymbol() added
- added wxEXEC_NODISABLE flag to be used with wxExecute(wxEXEC_SYNC)
- added wxTextInputStream::operator>>(wchar_t) for compilers which support this
- added wxMediaCtrl
- added wxDatePickerCtrl
- wxHtmlWindow now supports background images given in <body> tag
-- wxSplitterWindow now supports gravity parameter (Zbigniew Zagórski)
+- wxSplitterWindow now supports gravity parameter (Zbigniew Zagórski)
- recursive wxSizer::GetItem returns item of given window, sizer or nth index
- wxLayoutConstraints now use best size, not current size, for AsIs() condition
- wxSizer::Add/Insert etc. now returns pointer to wxSizerItem just added and this
All:
-- event table macros now do some minimal type safety checks (Michael Sögtrop)
+- event table macros now do some minimal type safety checks (Michael Sögtrop)
- added wxGzipInput/OutputStream, bug fixes in wxZlibStreams (M.J.Wetherell)
- wxDateTime::ParseDateTime() implemented (Linus McCabe)
- wxHTTP::GetResponse() added (David Nock)
- 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)
+- 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
wxBase:
- added Watcom makefiles
-- fixed bug with searching in sorted arrays (Jürgen Palm)
+- fixed bug with searching in sorted arrays (Jürgen Palm)
All GUI ports:
- polygon support in wxRegion (Klaas Holwerda)
- wxStreamToTextRedirector to allow easily redirect cout to wxTextCtrl added
- fixed bug with using wxExecute() to capture huge amounts of output
-- new wxCalendarCtrl styles added (Søren Erland Vestø)
+- new wxCalendarCtrl styles added (Søren Erland Vestø)
- wxWizard changes: loading from WXR support, help button (Robert Cavanaugh)
- wxDirSelector() added (Paul A. Thiessen)
- wxGrid cell editing veto support (Roger Gammans)
- wxZipFSHandler::FindFirst() and FindNext() now correctly list directories
- wxMimeTypesManager now can create file associations too (Chris Elliott)
- wxCopyFile() respects the file permissions (Roland Scholz)
-- wxFTP::GetFileSize() added (Søren Erland Vestø)
+- wxFTP::GetFileSize() added (Søren Erland Vestø)
- wxDateTime::IsSameDate() bug fixed
- wxTimeSpan::Format() now behaves more as expected, see docs
- wxLocale now provides much more convenient API for setting language and