X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/94709f191133613e115fdbf913eba5a81ddd207e..5c8ac0b6ca243b5bcc6c5e98b229c66abe932884:/docs/changes.txt diff --git a/docs/changes.txt b/docs/changes.txt index 20946da1c0..5f4de91df5 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -1,6 +1,786 @@ ---------------------------------------------------------------- -wxWidgets Change Log - For more verbose changes, see the manual ---------------------------------------------------------------- +------------------------------------------------------------------------------- + wxWidgets Change Log +------------------------------------------------------------------------------- + +INCOMPATIBLE CHANGES SINCE 2.8.x +================================ + +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. + +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 + +- 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. + +- Funtions 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. + +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 + + +Major new features in this release +---------------------------------- + + +2.9.0 +----- + +All: + +- Added wxJoin() and wxSplit() functions (Francesco Montorsi) +- 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) +- wxLogInterposer has been added to replace wxLogPassThrough and new + wxLogInterposerTemp was added + +All (GUI): + +- Added wxH[V]ScrolledWindow (Brad Anderson, Bryan Petty) +- 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 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) + +wxGTK: + +- Support for markup and ellipsization in wxStaticText (Francesco Montorsi) +- Native implementation for wxHyperlinkCtrl (Francesco Montorsi) +- Native keyboard navigation implementation +- 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 + +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) + +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 natively, especially under XP (Marcin Malich) + +wxX11: + +- Added mouse wheel support (David Hart) +- Make Enter key activate the default button (David Hart) + + +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) + +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) + +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 + + +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: + +- 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 +----- + +All: + +- Added wxDir::FindFirst() (Francesco Montorsi). +- Added wxPlatformInfo class (Francesco Montorsi). +- Added wxLocale::IsAvailable() (Creighton). +- 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: + +- Add parameter to the --enable-universal_binary configure option for the path + to the SDK. + +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(). + + +2.7.0 +----- + +All: + +- Added positional parameters support to wxVsnprintf() (Francesco Montorsi). +- wx(F)File, wxTextFile and wxInputStreams recognize Unicode BOM now. +- Many fixes for UTF-16/32 handling in Unicode builds. +- wxLaunchDefaultBrowser() now supports wxBROWSER_NEW_WINDOW flag. +- Added wxStandardPaths::GetResourcesDir() and GetLocalizedResourcesDir() +- Added wxStandardPaths::GetDocumentsDir() (Ken Thomases). +- Added wxStringTokenizer::GetLastDelimiter(); improved documentation. +- Fixed wxTextFile in Unicode build. +- Added possibility to specify dependencies for a wxModule. +- Speed improvements to wxRegEx when matching is done in a loop such as + during a search and replace. +- Fix regerror and regfree name conficts when built-in regex and system regex + are both used in the same program. +- Basic authentication supported added to wxHTTP. +- wxCondition::WaitTimeout() now returns correct value when timeout occurs. +- Fixed occasional wxThread cleanup crash. +- Bug in wxLogStream::DoLogString in Unicode builds fixed. +- Added support for memo fields to wxODBC. +- Fixed Unicode builds using SunPro compiler by defining__WCHAR_TYPE__. +- wxFileName now also looks for TMPDIR on Unix. +- Fixed build error in list.h with VC++ 2005. +- Fixed wxODBC buffer overflow problem in Unicode builds. +- Fixed wxSocketBase::InterruptWait on wxBase. +- Important code cleanup (Paul Cornett). +- Added support for wxLongLong in wx stream classes (Mark Junker). +- wxSOCKET_REUSEADDR can be used with wxSocketClient. +- Overloaded Connect() and SetLocal() methods for binding to local address/port. +- Albanian translation added (Besnik Bleta). +- Assert messages now show the function in which assert failed. +- wxApp::OnAssertFailure() should now be used instead the old wxApp::OnAssert(). +- Fixed several bugs in wxDateTime::ParseDate(). +- The WXK*PRIOR and WXK*NEXT constants are now aliases for WXK*PAGEUP + and WXK*PAGEDOWN. If you have switch statements that use both + constants from a set then you need to remove the PRIOR/NEXT + versions in order to eliminate compiler errors. +- Fixed bug where wxDateTime::Now() would sometimes return an incorrect value + the first time it was called. +- Added wxString::rbegin() and rend(). +- Added wxString::EndsWith(). +- wxSocket::_Read continues reading from socket after exhausting pushback buffer. + Previously, only the buffer would be returned, even if more data was requested. +- Added wxPowerEvent (currently MSW-only). +- Make wx-config compatible with Bourne shells. +- Fixed wxDb::Open(wxDbConnectInf) when using connection string (Hellwolf Misty). +- Fixed crash in wxDb::Open() in Unicode build (Massimiliano Marretta). +- Fixed wxTimeSpan::Format() for negative time spans. +- Optionally count repeating wxLog messages instead of logging all (Lauri Nurmi). + +All (GUI): + +- New AUI (Advanced User Interface) library for docking windows and much more. +- Added wxComboCtrl and wxOwnerDrawnComboBox (Jaakko Salli). +- Added wxTreebook (uses a wxTreeCtrl to control pages). +- Added wxColour/Dir/File/Font/PickerCtrls (Francesco Montorsi). +- Added wxDC::GradientFillLinear/Concentric(). +- Added wxHyperlinkCtrl (Francesco Montorsi). +- Added clipboard events (wxEVT_COMMAND_TEXT_COPY/CUT/PASTE). +- Allow to reorder wxGrid columns by drag-and-drop (Santiago Palacios). +- Added wxRadioBox::SetItemToolTip(). +- Added support for CMYK JPEG images loading (Robert Wruck). +- Added wxListCtrl::GetSubItemRect() and subitem hit testing (Agron Selimaj). +- Added wxKeyEvent::GetModifiers(). +- Added wxDialog::SetEscapeId(). +- wxItemContainerImmutable::FindString unified (affects wxRadioBox, wxListBox, + wxComboBox and wxChoice). +- wxWindow::Fit() now works correctly for frames and dialogs too. +- Added access to the border size between pages and controller in book + based controls (wxBookCtrlBase::Get/SetInternalBorder). +- Added initial wxRichTextCtrl implementation. +- All book based controls (notebook, treebook etc.) share now the same + options for orientation (wxBK_TOP, wxBK_DEFAULT, ...) instead of duplicated + wxLB_TOP, wxNB_TOP, wxCHB_TOP, wxTBK_TOP. +- Added parent window parameter to wxHelpController constructor + and added SetParentWindow/GetParentWindow. +- wxMultiChoiceDialog uses now wxCheckListBox if possible, wxListBox if not. +- Added wxBitmapButton::SetHoverBitmap(). +- Access to titles through Get/SetTitle is available now only for top level + windows (wxDialog, wxFrame). +- Fixed memory leak of pending events in wxEvtHandler. +- Added wxRadioBox::IsItemEnabled/Shown(). +- Added space after list item number in wxHTML. +- Implemented and handling in wxHTML (based on patch + by Sandro Sigala). +- Added caption parameter to wxGetFontFromUser and wxGetColourFromUser. +- Added wxGetMouseState function. +- Added wxHtmlHelpWindow, wxHtmlHelpDialog and wxHtmlModalHelp classes, + allowing HTML help to be embedded in an application. +- wxCalendarCtrl positioning and hit-testing fixes for dimensions other than + best size. +- wxCalendarCtrl colour schema changed and adjusted to system settings. +- wxImage::Mirror() and GetSubBitmap() now support alpha (Mickey Rose). +- More checking of image validity before loading into wxImage. +- Added wxImage::ConvertToGreyscale. +- Added ability to use templates with static event tables + with BEGIN_EVENT_TABLE_TEMPLATEn() macros. +- Added play, pause, and state change events to wxMediaCtrl. +- Added double-buffering to wxVListBox and fixed a scrolling issue. +- Added wxToolbook (uses a wxToolBar to control pages). +- Added SetSheetStyle to wxPropertySheetDialog and allowed it to + behave like a Mac OS X settings dialog. +- Added XRC tag for wxToolBar elements and for wxToolBar itself. +- Fixed centering of top level windows on secondary displays. +- Implemented wxDisplay::GetFromWindow() for platforms other than MSW. +- UpdateUI handler can now show/hide the window too (Ronald Weiss). +- More than one filter allowed in in wxDocTemplate filter. +- Added wxListBox::HitTest(). +- Added wxDisplay::GetClientArea(). +- Indices and counts in wxControlWithItems derived API are unsigned. +- Added support for links to wxHtmlListBox; use code has to override + wxHtmlListBox::OnLinkClicked() to take advantage of it. +- Added an easier to use wxMenu::AppendSubMenu(). +- wxString <-> wxColour conversions in wxColour class (Francesco Montorsi). +- Fixed bug with ignoring blank lines in multiline wxGrid cell labels. +- Added wxTextAttr::Merge() (Marcin Simonides). +- Added wxTB_NO_TOOLTIPS style (Igor Korot). +- Added wxGenericDirCtrl::CollapsePath() (Christian Buhtz). +- Added wxTreeCtrl::ExpandAllChildren() (Christian Buhtz) +- Fixed 64-bit issue in wxNotebook causing segfaults on Tru64 Unix. +- Made it possible to associate context help to a region of a window. +- Added support for tabs in wxRichTextCtrl (Ashish More). +- Fixed problem with zoom setting in print preview. +- Moved wxRichTextCtrl from the advanced library to its own. +- 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). +- 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. + +wxMSW: + +- Fixed crash with ownerdrawn menu items accelerators (Perry Miller). +- wxFileDialog respects absence of wxCHANGE_DIR flag under NT (Brad Anderson). +- Switching page of a hidden notebook doesn't lose focus (Jamie Gadd). +- Removed wxImageList *GetImageList(int) const. +- Fixed MDI context menu problem. +- Removed __WIN95__ define. +- Create msw/rcdefs.h in setup.h's directory, which can be included by + resource files. It containts platform/compiler specific defines (such as + target cpu) which can be used in #ifs in .rc files. +- Add support for Win64 manifests and VC++ 8 automatic manifests (see the + wxMSW faq for details). +- New TARGET_CPU=amd64 (or 'ia64') option for the makefile.vc files which + puts 64-bit builds in their own directory and adds /machine:amd64 or ia64 + to the link command. +- wxStatusBar::GetFieldRect now returns correct values under XP. +- wxStatusBar no longer corrupts surrounding windows on resize. +- Enable wxListCtrl in report mode to be able to use images in other + columns, if ComCtl32 >= 470. +- Fixed problem where using SetValue and wxTE_RICH2 would cause control to + show. +- Numpad special keys are now distinguished from normal keys. +- Fixed GDI leak in wxStaticBitmap when setting images after + initial construction. +- Menu codes now stripped before measuring control labels. +- MFC sample now compiles in Unicode mode. +- Fixed SetScrollbar thumb size setting bug (set orientation before triggering + events). +- Fixed icon to cursor conversion problem for bitmaps with masks. +- Fixed wxToolBar background colour problem for some video cards. +- wxGenericDirCtrl now shows volume name. +- Added XP theme support for DrawHeaderButton, DrawTreeItemButton. +- Made the wxActiveXContainer class public and documentated. +- Added a Windows Media Player 9/10 backend for wxMediaCtrl. +- Multiline notebook tab label change now resizes the control + correctly if an extra row is removed or added. +- Fixed a crash when dismissing wxPrintDialog under VC++ 7.1. +- Fixed out by one error in wxTextCtrl::GetStyle. +- Fixed problem with getting input in universal/unicode build of wxMSW. +- Link oleacc.lib conditionally. +- Drag and drop now works inside static boxes. +- Fall back to unthemed wxNotebook if specified orientation not available. +- wxListCtrl and wxTreeCtrl now resize their standard font if the user + changes the system font. +- wxDisplay doesn't require multimon.h now and is enabled by default (Olly Betts). +- Fixed wxChoice/wxComboBox slow appending and infinite recursion + if its size is set within a paint handler (for example when embedded in a + wxHtmlWindow). [Now reverted due to problems in W2K and below.] +- wxDC::GetTextExtent() width calculation is more precise for italics fonts now. +- Warning fixes for VC++ 5.0 (Igor Korot). + +wxGTK: + +- Fixed handling of font encoding in non-Unicode build +- wxEVT_MENU_CLOSE and wxEVT_MENU_OPENED for popup menus are now generated. +- Implemented wxCURSOR_BLANK support. +- wxSlider generates all scroll events now and not only wxEVT_SCROLL_THUMBTRACK. +- Fixed a host of bugs in wxMediaCtrl as well as added a GStreamer 0.10 + implementation. +- Improved configure checks for GStreamer. You may also now specify + --enable-gstreamer8 to force configure to check for GStreamer 0.8. +- Fixed problem with choice editor in wxGrid whereby the editor + lost focus when the combobox menu was shown. +- Fixed focusing with mnemonic accelerator keys on wxStaticText which + is now able to focus on wxComboBox and possibly other controls + previously unable to be focused before. +- Enabled mnemonics and the corresponding accelerator keys for + wxStaticBox and wxRadioBox. +- Fixed problem trying to print from a preview, whereby wrong printer + class was used. +- Worked around pango crashes in strncmp on Solaris 10. +- Polygon and line drawing speeded up if there is no scaling. +- Fixed problems with CJK input method. +- Implemented ScrollLines/Pages() for all windows (Paul Cornett). +- Support underlined fonts in wxTextCtrl. +- Support all border styles; wxListBox honours the borders now. +- wxWindow and wxScrolledWindow now generate line, page and thumb-release scroll events. +- Added file preview support in file dialogs. +- Implemented SetLineSize and GetLineSize for wxSlider. + +wxMac: + +- Fixed problem with clipboard support for custom data flavors. +- Fixed focus handling for generic controls in carbon-cfm. +- Fixed a printing crash bug, for example using File->Print and changing + Popup from 'Copies & Pages' to e.g. 'Layout'. +- Improved support for help and application menu items. +- Added default implementations for wxTextCtrl::Replace and wxTextCtrl::Remove. +- Added support for 10.4 context menu. +- Added support for wxFRAME_EX_METAL and wxDIALOG_EX_METAL styles. +- Added wxNotebook::HitTest support. +- Corrected idle wake-up. +- Corrected wxExecute. +- Now makes use of full printer resolution. +- Corrected CGImage handling in wxBitmap. +- Now uses simple hide/show transition for top-level windows. +- Uses reasonable temporary path for wxFileName::CreateTempFileName. +- Added support for default key handling (escape, enter, command-period) even + if there is no control on the frame or dialog that has the focus. +- Fixed joystick bugs including a link error and a crash if no joysticks + were found. +- Removed an errorneous assertion from wxDir. +- Uses CoreFoundation based and thread-safe implementation for message boxes + under Mach-O. +- wxBitmapButton is created as a content icon if wxBORDER_NONE is + specified, otherwise as a bevel button. +- Mouse event ids set correctly (fixing problems with Connect in particular). +- Fixed wxZipInputStream read error on wxSocketInputStream which signals the + end of file with an error. +- Xcode wxWidgets and minimal sample project files updated to create Universal + binaries. +- Fix for setting wxMenuBar more than once. +- wxListBox minimum size bug fixed. +- Fixed wxNotebook off-by-one bug in HitTest. +- Fixed joystick GetXMin/Max bug. +- Fixed Unix domain socket problem in wxIPC. +- Fixed non-detection of process termination on Intel Macs by + polling for process termination in a separate thread. + +wxCocoa: + +- wxDirDialog is now native (Hiroyuki Nakamura). + +wxWinCE: + +- Pressing build-in joystick on WinCE phones fires wxEVT_JOY_BUTTON_DOWN event. +- Native wxCheckListBox implementation. +- All wxTopLevelWindows resizes accordingly to SIP visibility. +- ::wxGetUserName() implemented. +- wxDisplay enumeration support. +- Fixed wxFileDialog breakage on WinCE due to incorrect structure size. +- New wxSystemOption "wince.dialog.real-ok-cancel" to switch between WinCE + guidelines with Ok-only dialogs and dialogs using wxButtons. +- Checkable items in wxToolMenuBarTool supported. +- Fixed date formatting and mktime. +- Fixed getting standard folder paths on WinCE. +- Support for backspace key on Smartphone. +- Made both windows wxMediaCtrl Windows backends compilable with wxWinCE - it + is recommended that you use wxMEDIABACKEND_WMP10 on this platform + directly, however. +- Added support for the context menu event (wxContextMenuEvent) + and added platform-specific wxWindow::EnableContextMenu. +- Fixed wxGenericFileDialog to work with WinCE. +- Fixed compilation and menubar disappearance on Windows Mobile 5. +- Fixed wxDatePickerCtrl usage. + +wxUniv: + +- Send wxEVT_SCROLL_XXX events from wxSlider (Danny Raynor). +- Implemented wxToggleButton (David Bjorkevik). +- Label in Toolbar tools implemented (Danny Raynor). + +wxX11: + +- 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) + +Unix: + +- NO_GCC_PRAGMA is not used any more, remove checks for it if you used it. + +wxMGL: + +- Fixed NUM_LOCK having no effect. +- Fixed wxFileExists (affecting wxImage::LoadFile). + 2.6.2 ----- @@ -9,43 +789,76 @@ All: - Fixed wxScopeGuard to work with VC++, documented it. - Fixed proxy handling in wxURL. -- Added wxEVT_MEDIA_LOADED event for wxMediaCtrl -- Added new methods to wxMediaCtrl (wxURI version of Load, ShowPlayerControls) -- Added wxZipFSHandler::Cleanup() (Stas Sergeev) -- Added wxImage::RotateHue() and RGB <-> HSV conversions (John Anderson) -- Fixed compilation with IBM xlC compiler +- Added wxEVT_MEDIA_LOADED event for wxMediaCtrl. +- Added new methods to wxMediaCtrl (wxURI version of Load, ShowPlayerControls). +- Added wxZipFSHandler::Cleanup() (Stas Sergeev). +- Added wxImage::RotateHue() and RGB <-> HSV conversions (John Anderson). +- Fixed compilation with IBM xlC compiler. +- wxABI_VERSION, see 'Backward Compatibility' topic overview in the manual. +- Added wxLongLong::ToDouble(). +- Added wxDateTime::[Make]FromTimezone(), fixed several TZ-related bugs. +- Fixed bug in wxStreamBuffer::Read(wxStreamBuffer *) (Paul Cornett). +- Fixed wxListbook and wxChoicebook internal layout. All (GUI): +- Added wxStaticText::Wrap() +- wxChoice and wxComboBox::GetSelection() now returns completed selection, + added a new GetCurrentSelection() function having the old behaviour. - 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). +- wxWizard adapts to PDA-sized screens. +- Unicode fixes for IPC and a new IPC sample (Jurgen Doornik). wxMSW: -- wxMSW now builds with (beta of) MSVC 8 (a.k.a. 2005) +- wxMSW now builds with (beta of) MSVC 8 (a.k.a. 2005). - Separators are now correctly shown in the toolbars under Windows XP. - Fixed multiline tooltips handling. - 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) -- Fixed asynchronous playback of large sound files in wxSound -- Added wxDynamicLibrary::GetSymbolAorW() -- Fixed default size of wxStaticText controls with border being too small - -wxWinCE: - -- RTTI and exceptions enabled by default. +- 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. +- Fixed bugs with wxStatusBar positioning (with or withour sizers) (Jamie Gadd). +- Mouse move events are now generated for all static controls (Jamie Gadd). +- Fixed nested static box display and splitter sash on some themes (Jamie Gadd). +- Made wxJoystick::GetProductName() more useful (John Ratliff). +- Native spline drawing implementation (Wlodzimierz ABX Skiba). wxGTK: -- ShowFullScreen() shows the window if it was still hidden (rpedroso) -- Implemented wxTopLevelWindow::RequestUserAttention() (Mart Raudsepp) +- ShowFullScreen() shows the window if it was still hidden (rpedroso). +- Implemented wxTopLevelWindow::RequestUserAttention() (Mart Raudsepp). - Base library is now binary compatible when built with wxGTK and wxMotif. - wxTextCtrl::XYToPosition, PositionToXY and GetLineLength calls are now - instantaneous in case of GTK+2 multi-line controls (Mart Raudsepp) + instantaneous in case of GTK 2.x multi-line controls (Mart Raudsepp). +- Added support for left, centre and right text alignment attributes under + GTK+2 multi-line text controls (Mart Raudsepp). +- Various wxFont improvements for GTK 2.x builds (Mart Raudsepp). +- Changed order of child deletion in window destructor and + removed focus handlers to avoid spurious events (David Surovell). +- Fixed domain socket handling. + +wxMac: + +- First implementation of native HIToolbar support. +- Added text control context menu (ported from wxMSW). +- More CoreGraphics implementation improvements. +- Various text control bug fixes. +- Automatic menu management improved. +- Fixed crash when wxRadioButton is deleted from a group of radio buttons, + due to dangling cycle pointers. +- Native spline drawing implementation for CoreGraphics (Robert J. Lang). +- Made wxDialog::IsModal meaning the same as other ports (true only when + showing modally). wxOS2 @@ -54,12 +867,29 @@ wxOS2 wxUniv: - Window creation now honours wxVSCROLL. -- Standalone scrollbars generate events of correct type (Jochen Roemmler) +- Standalone scrollbars generate events of correct type (Jochen Roemmler). wxMotif: - Base library is now binary compatible when built with wxGTK and wxMotif. - wxMotif can now display Japanese text under Japanese locale. +- Fixed button size in common dialogs. +- Made wxFileDialog translatable. +- All top level windows should now have a border unless the wxNO_BORDER + flag has been specified. +- Improved wxNotebook support for sizers. It requires the wxNotebook to + be created with a "sensible" initial width. +- Made wxDialog::IsModal meaning the same as other ports (true only when + showing modally). + +wxMGL: + +- Fixed crash on exit. +- Fixed drawing problems when windows are resized. + +wxX11: + +- Various wxFont improvements for unicode builds (Mart Raudsepp). 2.6.1 @@ -116,7 +946,8 @@ wxMSW: - DDE fixed for Unicode. - Fixed ownerdrawn multiline buttons. - wxCheckListBox item background fixed. -- Fixed some wxRegKey bugs. +- Fixed error when trying to read a value from key not accessible for writing. +- Fixed keyboard cue visibility issues under Windows 2000/XP wxWinCE: @@ -2441,5 +3272,3 @@ At this point, the following has been achieved: - utils/wxprop classes working (except maybe wxPropertyFormView) in preparation for use in Dialog Editor. - GNU-WIN32 compilation verified (a month or so ago). - -