Changelogs
Overview
These changelogs reflect the history of all files in the Subversion repository. The changelog has been generated at 2016-05-09 08:38:04
Changelog for wxWidgets (70435 changes):
2010-09-21 13:44 VZ, revision 655792010-09-20 17:38 JMS, revision 65577Fix wxStaticBox label redrawing when "Alt" is pressed in wxMSW. The default handling for Alt key press in the standard control is to redraw the label to account for showing of the keyboard queues (i.e. if the mnemonics were initially hidden, they are shown when Alt is pressed) but it doesn't redraw it in the correct colour resulting in any custom label colour being lost whenever Alt is pressed anywhere in the window containing the box. Fix this by forcing the box refresh which will result in repainting it using our code which does use the correct colour. Also update the static page of the widgets sample to allow changing the colours of all static controls on this page, including the wxStaticBox, and not just the main wxStaticText. Closes #12497.
2010-09-20 16:14 VZ, revision 65576Call SetToolTip() for the property editor control when wxPG_EX_HELP_AS_TOOLTIPS style is used
2010-09-20 15:15 VZ, revision 65575PCH-less compilation fix to GDI+ wxMSW code. Closes #12496.
2010-09-20 15:11 VZ, revision 65574Correctly recognize when wglChoosePixelFormatARB() fails. This function returns TRUE even if it failed to find any matching formats, so test not only its return value but also the number of formats it found. Closes #12474.
2010-09-20 15:10 VZ, revision 65573Always use native task dialog for wxProgressDialog under MSW if supported. Use task dialogs even for the dialogs with wxPD_AUTO_HIDE style flag and without wxPD_CAN_ABORT one. Generic fallback was used in this case as native task dialog doesn't support dialogs without buttons but it is finally better to create a dummy button and use the native dialog nevertheless. We already have a mostly disabled "Close" button for the dialogs without wxPD_AUTO_HIDE style so it seems logical to also have it (but just never enable it at all) when this style is used. Closes #12462.
2010-09-20 14:52 VZ, revision 65572Ignore time component of SYSTEMTIME in wxMSW wxDatePickerCtrl. This is similar to the fix of r64208 for wxCalendarCtrl and ignores the time component of SYSTEMTIME objects returned by the native functions in wxDatePickerCtrl too to ensure that we operate with pure dates only. Closes #12493.
2010-09-20 14:52 VZ, revision 65571Don't use native MSW functions in wxString::CmpNoCase(). While the native CompareString() is much more efficient than MSVC CRT version of _wcsicmp(), it gives unexpected results for non-letter characters, so don't use it but use the slow but correct wxStricmp() instead. At least don't use char-by-char comparison (in non-UTF-8 case) as it's the slowest possible implementation of this function, the new one using wxStricmp() is 3 times faster (by comparison, using CompareString() is 16 times faster still -- but wrong). Closes #10375.
2010-09-20 14:52 VZ, revision 65570Add benchmarks for various ways to compare strings. Benchmark the abstraction overhead of wxString methods compared to plain functions and also benchmark native functions for string comparison under MSW.
2010-09-19 18:06 PMO, revision 65569Flush output after every benchmark. This purely cosmetic change simply allows to see the output of the benchmarks sooner which is more user-friendly when running several long benchmarks.
- M /wxWidgets/branches/wxQT/build/bakefiles/files.bkl
- M /wxWidgets/branches/wxQT/include/wx/qt/button.h
- M /wxWidgets/branches/wxQT/include/wx/qt/calctrl.h
- M /wxWidgets/branches/wxQT/include/wx/qt/clrpicker.h
- M /wxWidgets/branches/wxQT/include/wx/qt/listctrl.h
- M /wxWidgets/branches/wxQT/include/wx/qt/radiobox.h
- M /wxWidgets/branches/wxQT/include/wx/qt/tglbtn.h
- M /wxWidgets/branches/wxQT/include/wx/qt/treectrl.h
- M /wxWidgets/branches/wxQT/Makefile.in
- M /wxWidgets/branches/wxQT/src/qt/button.cpp
- M /wxWidgets/branches/wxQT/src/qt/calctrl.cpp
- M /wxWidgets/branches/wxQT/src/qt/clrpicker.cpp
- M /wxWidgets/branches/wxQT/src/qt/listctrl.cpp
- M /wxWidgets/branches/wxQT/src/qt/radiobox.cpp
- M /wxWidgets/branches/wxQT/src/qt/tglbtn.cpp
- M /wxWidgets/branches/wxQT/src/qt/treectrl.cpp
2010-09-19 12:02 SJL, revision 65568Minimal implementation for wxTreeCtrl, wxBitmapToggleButton, wxToggleButton, wxRadioBox, wxListCtrl
- M /wxWidgets/trunk/tests/controls/listbasetest.cpp
- M /wxWidgets/trunk/tests/controls/treectrltest.cpp
2010-09-18 18:26 VZ, revision 65565Increase the number of expected events in TreeCtrlTestCase::KeyDown and ListBaseTestCase::KeyDown from four to six as this is the number of events seen when testing using their samples. This also stops the tests failing after the recent keyboard event improvements.
2010-09-18 18:26 VZ, revision 65564Really fix setting fonts in RichEdit 4.1 controls. The fix applied in r64394 wasn't enough and the control could still decide to overwrite the font used by default when non-ASCII characters were inserted into it. To really force it to use the font we want we apparently must send it EM_SETCHARFORMAT with SCF_ALL flag (MSDN also documents SCF_DEFAULT but it's not clear if we should use it instead or together with SCF_ALL, for now it doesn't seem to be necessary).
2010-09-18 18:26 VZ, revision 65563No changes, just refactor wxTextCtrl::SetStyle() in wxMSW. Split this overly long function into MSWSetCharFormat() and MSWSetParaFormat(). No real changes otherwise except for the use of PARAFORMAT instead of PARAFORMAT2 if wxUSE_RICHEDIT2 is not set as it was certainly intended (but the fact that nobody complained about this problem means that nobody must be compiling without wxUSE_RICHEDIT2 by now so arguably we should just remove it completely).
2010-09-17 21:07 RR, revision 65562Set wxTextCtrl::m_verRichEdit to 4 for RichEdit 4.1. Set m_verRichEdit to a different value for the version 4.1 of the control as it behaves subtly differently from the previous versions. Also clarify that value of 2 is used for both 2.0 and 3.0 versions of the control. No real changes yet.
2010-09-17 13:17 DS, revision 65561Postpone EnsureVisible() to idle as this sometimes seems to be required, fixes #12480: wxDataViewCtrl::EnsureVisible does not make item visible in some circumstances on GTK
- M /wxWidgets/trunk/samples/clipboard/clipboard.cpp
- M /wxWidgets/trunk/samples/uiaction/uiaction.cpp
- M /wxWidgets/trunk/src/common/cairo.cpp
- M /wxWidgets/trunk/src/common/uiactioncmn.cpp
- M /wxWidgets/trunk/src/gtk/print.cpp
- M /wxWidgets/trunk/src/os2/minifram.cpp
- M /wxWidgets/trunk/src/os2/snglinst.cpp
- M /wxWidgets/trunk/src/osx/bmpbuttn_osx.cpp
- M /wxWidgets/trunk/src/osx/button_osx.cpp
- M /wxWidgets/trunk/src/osx/carbon/nonownedwnd.cpp
- M /wxWidgets/trunk/src/osx/checkbox_osx.cpp
- M /wxWidgets/trunk/src/osx/choice_osx.cpp
- M /wxWidgets/trunk/src/osx/combobox_osx.cpp
- M /wxWidgets/trunk/src/osx/core/evtloop_cf.cpp
- M /wxWidgets/trunk/src/osx/core/glgrab.cpp
- M /wxWidgets/trunk/src/osx/core/mimetype.cpp
- M /wxWidgets/trunk/src/osx/core/sound.cpp
- M /wxWidgets/trunk/src/osx/core/timer.cpp
- M /wxWidgets/trunk/src/osx/dataview_osx.cpp
- M /wxWidgets/trunk/src/osx/dialog_osx.cpp
- M /wxWidgets/trunk/src/osx/dnd_osx.cpp
- M /wxWidgets/trunk/src/osx/gauge_osx.cpp
- M /wxWidgets/trunk/src/osx/glcanvas_osx.cpp
- M /wxWidgets/trunk/src/osx/listbox_osx.cpp
- M /wxWidgets/trunk/src/osx/menuitem_osx.cpp
- M /wxWidgets/trunk/src/osx/menu_osx.cpp
- M /wxWidgets/trunk/src/osx/nonownedwnd_osx.cpp
- M /wxWidgets/trunk/src/osx/notebook_osx.cpp
- M /wxWidgets/trunk/src/osx/printdlg_osx.cpp
- M /wxWidgets/trunk/src/osx/radiobut_osx.cpp
- M /wxWidgets/trunk/src/osx/scrolbar_osx.cpp
- M /wxWidgets/trunk/src/osx/slider_osx.cpp
- M /wxWidgets/trunk/src/osx/sound_osx.cpp
- M /wxWidgets/trunk/src/osx/spinbutt_osx.cpp
- M /wxWidgets/trunk/src/osx/srchctrl_osx.cpp
- M /wxWidgets/trunk/src/osx/statbox_osx.cpp
- M /wxWidgets/trunk/src/osx/statline_osx.cpp
- M /wxWidgets/trunk/src/osx/stattext_osx.cpp
- M /wxWidgets/trunk/src/osx/textctrl_osx.cpp
- M /wxWidgets/trunk/src/osx/textentry_osx.cpp
- M /wxWidgets/trunk/src/osx/tglbtn_osx.cpp
- M /wxWidgets/trunk/src/osx/toolbar_osx.cpp
- M /wxWidgets/trunk/src/osx/uiaction_osx.cpp
- M /wxWidgets/trunk/src/osx/utils_osx.cpp
- M /wxWidgets/trunk/src/osx/window_osx.cpp
- M /wxWidgets/trunk/src/unix/uiactionx11.cpp
- M /wxWidgets/trunk/tests/controls/label.cpp
- M /wxWidgets/trunk/tests/graphics/measuring.cpp
- M /wxWidgets/trunk/tests/misc/garbage.cpp
- M /wxWidgets/trunk/tests/toplevel/toplevel.cpp
2010-09-16 21:36 VZ, revision 65560Set svn properties on .cpp files. Add missing svn:eol-style property to all .cpp files. Also set svn:keywords for .cpp files which don't have that property yet to Id, including src/osx/core/glgrab.cpp for consistency (it doesn't make use of the property).
2010-09-16 21:36 VZ, revision 65559Allow setting Mac-specific menu item ids to wxID_NONE to suppress them. If s_macAboutMenuItemId or s_macPreferencesMenuItemId was explicitly set to wxID_NONE by the application, don't add them to the standard menu at all, otherwise they would be present there but be always disabled and useless. This is still not documented because we really need a better API for this but it at least provides a temporary workaround for having useless menu items under OS X.
2010-09-16 13:05 VZ, revision 65558Allow use of report mode non-native wxListCtrl in wxListBook under Mac. The use of wxListBook in report mode was disabled for wxOSX in r54001 and r54318 (see #9484) because it created problems with the native wxListCtrl implementation but the report mode can be used if we're using the generic wxListCtrl version so do allow to use it if the system option governing the choice of the version to use is set to "generic". Of course, the real fix would be to correct the bugs in the native wxListCtrl version and use report mode always but for now this at least restores correct behaviour with the generic version.
2010-09-16 13:05 VZ, revision 65557Only use wxFORCE_LINK_MODULE() in mediaplayer sample in static build. The linking optimization this macro protects against can't happen when using DLL and so using it is at best useless and actually harmful (because it doesn't contain the correct DLL export declarations) in the latter case.
2010-09-16 11:05 VS, revision 65556Compilation fixes for non-MSVC 9 compilers after r65555. Somehow MSVC 9 compiled invalid wxT(__FUNCTION__) expressions but both MinGW and MSVC 6 (correctly) failed. Don't use this construct at all but instead call wxLogLastError() with the real function name. Also refactor the code slightly to avoid having to repeat this fix thrice.
2010-09-16 01:04 VZ, revision 65555Fix wxMSW rendering artifacts with modal dialogs. When a modal dialog showed another modal dialog, parts of the parent window weren't refreshed correctly. This demonstrated itself as rendering artifacts when moving the child dialog to another position: parts of the dialog were shown as disabled, parts as enabled. Fixed by explicitly refreshing the window.
2010-09-16 00:13 DS, revision 65554Remove display information caching from MSW wxDisplay implementation. Don't cache display rectangle and client rectangle as they can both change during the program lifetime (especially the latter which changes whenever taskbar is moved or shown/hidden) and retrieving them every time they're needed doesn't seem to be a problem performance-wise anyhow. We still cache the list of all the monitors, ideally we'd refresh it when we receive a notification about a display being [dis]connected. Closes #4582.
2010-09-16 00:10 VZ, revision 65553Fix possible errors introduced while generating Xcode project. Under some unknown circumstances two added source files are concatenated into one faulty entry in an Xcode project (this probably occurs either at the Xcode or XMLTools2 level). Try to detect these errors in the Python script and fix them by patching up the project.pbxproj file.
2010-09-16 00:10 VZ, revision 65552Document limitations of the generic wxTextEntry hints. Calling methods other than SetValue() or ChangeValue() doesn't update the display correctly currently, see #12475.
2010-09-16 00:10 VZ, revision 65551Update the text hint display correctly when ChangeValue() is called. wxTextEntry::ChangeValue() doesn't generate any events so we need to explicitly update the text stored by wxTextEntryHintData when it is called to ensure that it corresponds to the real controls value.
2010-09-16 00:10 VZ, revision 65550Fix several bugs in generic text entry hints implementation. The text controls contents and colour was not updated correctly in several situations (see #12475). The old code was completely wrong as it didn't store the actual value of the control at all and so could never work. Do store and update it now and show the hint if and only if the real contents is empty. Also handle "text updated" event to correctly update the hint when the control becomes [non-]empty. Closes #12475.
2010-09-15 13:45 DS, revision 65549Fix wxTextEntry::SelectAll() in presence of hints in wxGTK. Translation of wx (-1, -1) selection to (0, GetValue().length()) in wxTextCtrl::SetSelection() was unnecessary as it ended up calling the base class wxTextEntry::SetSelection() version which didn't need it. Moreover, this translation was actually harmful when the text control happened to show a hint string as its official value was empty in this case and so SetSelection(0, 0) was called which didn't do anything and broke clearing/changing the controls text when it was showing a hint. Simply don't translate the indices when using a single line control to fix this. See #12475.
2010-09-15 13:29 DS, revision 65548Use a unique namespace for generating identifiers. Instead of using uuid.NAMESPACE_DNS as namespace use a newly generated UUID. Also minor cleanup of import uuid statement.
2010-09-14 20:35 VS, revision 65547Make Xcode identifier consecutive when there is a collision. Making them consecutive groups source files that are repeated next to each other in the project file like Xcode does, instead of creating a complete new random identifier which resulted in creating a distance between the source files after they were sorted.
2010-09-14 19:35 PJC, revision 65544Click on wxOwnerDrawnComboBox's animating popup should close it. Previously, it behaved differently from native combo box: clicking the popup while its opening animation was running had no effect. This was different from the native control, which would close the popup in this case (just like when it's fully opened).
2010-09-14 15:18 VZ, revision 65541Fix incorrect behaviour of wxRibbonGallery::EnsureVisible when the ribbon is vertical rather than horizontal.
- M /wxWidgets/trunk/include/wx/generic/private/listctrl.h
- M /wxWidgets/trunk/src/generic/listctrl.cpp
2010-09-14 12:24 VZ, revision 65540Fix drawing of items with custom background in wxGenericListCtrl. This was broken by the changes of r64879 which erroneously used wxRendererNative::DrawItemSelectionRect() even for the non-selected items. Now only use DrawItemSelectionRect() for the selected items to make them appear natively while drawing the non-selected items with custom background colour ourselves. Also refactor the code to avoid (the not quite and hence especially pernicious) duplication between wxListLineData::Draw() and DrawInReportMode(): rename SetAttributes() to ApplyAttributes() and draw the item background in this function now instead of doing it in both Draw() and DrawInReportMode().
2010-09-13 22:12 RR, revision 65539Fix hang on termination of wxProgressDialog with wxPD_AUTO_HIDE style. We don't need to run a modal event loop waiting for the wxProgressDialog to be closed when it has wxPD_AUTO_HIDE style because it does it on its own. Closes #12472.
2010-09-13 22:02 RR, revision 65538Document wxDataViewListModel as common abstract base class for wxDataViewIndexListModel and wxDataViewVirtualListModel. Add wxDataViewListModel::GetCount() as both have it.
- M /wxWidgets/trunk/include/wx/dataview.h
- M /wxWidgets/trunk/samples/dataview/mymodels.cpp
- M /wxWidgets/trunk/samples/dataview/mymodels.h
- M /wxWidgets/trunk/src/common/datavcmn.cpp
- M /wxWidgets/trunk/src/gtk/dataview.cpp
2010-09-13 00:58 VZ, revision 65537Further work on wxDataViewListModel::Reset()
2010-09-13 00:58 VZ, revision 65536Update wxRibbonPanel documentation to mention use of sizers. This documents the changes of r65436. Closes #12418.
2010-09-13 00:58 VZ, revision 65535Delete wxListCtrl item data after handling its deletion event in wxMSW. We deleted the data associated with the item too soon as we did it before the handler for the item deletion event was run and this handler could still access this data. Only free the data after the handler returns now. Closes #12449.
2010-09-13 00:05 VZ, revision 65534Fix compilation of EnumerateLoadedModules() call for MinGW64 4.5. Our logic for detection of whether the first argument of PENUMLOADED_MODULES_CALLBACK is const or not didn't work for MinGW64 4.5. Replace it with a less error-prone (even if more ugly) version which simply casts the callback to the type expected by the function. Closes #12465.
2010-09-12 22:07 RR, revision 65533Define MAPVK_VK_TO_CHAR to fix wxMSW compilation with old SDK headers. At least MinGW headers don't define this constant.
- M /wxWidgets/trunk/include/wx/dataview.h
- M /wxWidgets/trunk/include/wx/gtk/dataview.h
- M /wxWidgets/trunk/src/common/datavcmn.cpp
- M /wxWidgets/trunk/src/gtk/dataview.cpp
2010-09-12 18:16 JS, revision 65532Moved more code from wxDataViewCtrl to wxDataViewCtrlInternal. Add new special API for wxDataViewVirtualIndexModel::Reset() as wxDataViewModel::Clear is something different and needs a different, two step API under GTK+, one for destroying the current view and one for rereading the new contents. Added ::BeforeReset() and ::AfterReset() notifications for that purpose.
2010-09-12 18:16 JS, revision 65531Fix for % symbols going missing from style parameter
2010-09-11 13:20 VZ, revision 65528Fix for % symbols going missing from style parameter
2010-09-11 12:19 VZ, revision 65527Compilation fix for wxOSX. Remove stray closing brace. Also fix a warning about unused parameter.
- M /wxWidgets/trunk/interface/wx/event.h
- M /wxWidgets/trunk/src/gtk/window.cpp
- M /wxWidgets/trunk/tests/events/keyboard.cpp
2010-09-11 12:19 VZ, revision 65526Generate the same flags for modifier key events in wxGTK as in wxMSW. Resolve the discrepancy between modifier flags of the key events corresponding to the modifier key itself between wxMSW and wxGTK by changing the latter to follow wxMSW behaviour. Clearly document the now officially correct behaviour of the modifiers for the key events corresponding to the modifiers keys themselves in the manual. This fix also makes it unnecessary to work around this bug in the keyboard unit test so remove it from there.
- M /wxWidgets/trunk/interface/wx/event.h
- M /wxWidgets/trunk/src/gtk/window.cpp
- M /wxWidgets/trunk/tests/events/keyboard.cpp
2010-09-11 12:19 VZ, revision 65525Generate unshifted Unicode key codes in wxEVT_KEY_XXX events in wxGTK. wxGTK generated wxEVT_KEY_XXX with key codes corresponding to the unshifted state of the key (except for the letters) but Unicode key codes corresponding to the current shift state. This was inconsistent with wxMSW and also with the idea that key events, unlike char ones, don't depend on the modifiers states. Change wxGTK to behave as wxMSW and use unshifted values for Unicode key codes as well. Remove the now unnecessary workaround for different key event Unicode codes from test. Also try to explain the difference between normal and Unicode keys and key and char events even better and mention that the Unicode key codes for the key events are also untranslated in the documentation.
- M /wxWidgets/trunk/include/wx/msw/private/keyboard.h
- M /wxWidgets/trunk/src/msw/listctrl.cpp
- M /wxWidgets/trunk/src/msw/window.cpp
2010-09-11 12:18 VZ, revision 65524Fix generation of key events for non-alphabetic keys under Windows. Don't hardcode the values of VK_OEM_XXX keys which are completely nonsensical on keyboards with non-US layouts. Use the real unshifted value of the key as its key code instead -- at least if it's a Latin-1 character. Otherwise, use WXK_NONE as the key code and pass the character generated by the key as Unicode character code. Also generate WXK_NONE events for dead keys to avoid confusing them with the corresponding normal key events.
2010-09-11 12:18 VZ, revision 65523Improve printing out of pressed keys in the keyboard sample. Add missing elements of wxKeyCode enum ("Windows" and "Command" keys) to the GetVirtualKeyCodeName() function in the sample. Also output "unknown" and not blank for WXK_NONE.
- A /wxWidgets/trunk/include/wx/msw/private/keyboard.h
- M /wxWidgets/trunk/include/wx/msw/window.h
- M /wxWidgets/trunk/src/msw/accel.cpp
- M /wxWidgets/trunk/src/msw/listctrl.cpp
- M /wxWidgets/trunk/src/msw/uiaction.cpp
- M /wxWidgets/trunk/src/msw/window.cpp
2010-09-11 12:18 VZ, revision 65522Rename wxCharCode{MSWToWX,WXToMSW}() and move them to a separate header. These functions were confusingly named as they work with MSW (virtual) key codes and not character codes, rename them to better indicate what they do. They also don't need to be in wx/msw/window.h included by all wx code when they are only really needed in a couple of files, so move them to a private header. No changes in behaviour.
- M /wxWidgets/trunk/docs/changes.txt
- M /wxWidgets/trunk/include/wx/msw/window.h
- M /wxWidgets/trunk/interface/wx/event.h
- M /wxWidgets/trunk/samples/keyboard/keyboard.cpp
- M /wxWidgets/trunk/src/msw/combobox.cpp
- M /wxWidgets/trunk/src/msw/listctrl.cpp
- M /wxWidgets/trunk/src/msw/treectrl.cpp
- M /wxWidgets/trunk/src/msw/window.cpp
2010-09-11 12:18 VZ, revision 65521Fixes to key codes in keyboard events generated by wxMSW. Only set Unicode key code if the event corresponds to a character key and set it to (newly added) WXK_NONE for the other ones to avoid nonsensical values in it for e.g. "Home" key presses. Also set non-Unicode key to WXK_NONE for the characters that can't be represented in the current locale. This is consistent with wxGTK and avoids conflicts between special key values and Unicode keys. Clearly document the above behaviour. Notice that implementing the correct behaviour in wxMSW involved untangling previously interwoven WM_KEY{DOWN,UP} and WM_CHAR messages handlers. Clearly separate them now as they get different input (key codes for the former, characters for the latter) and especially don't try to convert from both kinds of input using a single wxCharCodeMSWToWX() function. As this function doesn't need to distinguish between keys and characters any more it can simply return the converted value in all cases instead of returning 0 sometimes to indicate a character value instead of a key. Simplify the code using this function accordingly.
- M /wxWidgets/trunk/include/wx/defs.h
- M /wxWidgets/trunk/interface/wx/defs.h
- M /wxWidgets/trunk/interface/wx/event.h
- M /wxWidgets/trunk/src/common/event.cpp
Add WXK_NONE symbolic constant indicating absence of a key. wxKeyEvent::GetKeyCode() and GetUnicodeKey() return 0 to indicate that the key code or Unicode character is not available, give symbolic name to this 0 to make the code using these methods more clear.