The code sending the event must check whether the event was vetoed or not, not
whether it was skipped or not. This is the minimal change resulting in correct
behaviour even if an event handler does skip the event.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68866 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Using setlocale() can thoroughly confuse wxNumValidator because it results in
a mismatch between the decimal and/or thousands separators it uses, returned
by wxLocale, and the actual separators in the strings, formatted by the CRT.
So mention in the documentation that using setlocale() is a bad idea.
Closes#12970.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68863 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Under wxMSW it's possible to have mismatch between the CRT locale (used by
various printf-related functions) and the system locale (queried by
wxLocale::GetInfo()).
Warn if such a mismatch occurs and tell people to use wxLocale instead of just
setlocale() to change the locale.
See #12970.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68861 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Don't use WXDLLEXPORT_DATA when defining the variable, it can be only used
when declaring it.
This fixes wxMSW DLL build with MSVC.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68860 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Having wxBITMAP_TYPE_TIFF and wxBITMAP_TYPE_TIFF_RESOURCE is more consistent with already using the complete short name of an image format elsewhere (e.g. wxBITMAP_TYPE_JPEG, not wxBTMAP_TYPE_JPG, and wxTIFFHandler as opposed to wxTIFHandler). Renamed all existing occurrences and kept the old enum values for backwards compatibility.
Also renamed occurrences of wxBITMAP_TYPE_RESOURCE to the already existing wxBITMAP_TYPE_BMP_RESOURCE.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68859 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Native wxAnyButton headers were being included but the sources aren't used in wxUniv. Fixed this by not including any native header in wxUniv and instead made wxAnyButton a typedef of wxAnyButtonBase.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68858 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Make use of HasImageList() and GetImageList() instead of accessing the now private m_imageList directly. Fixed for wxUniv, wxGTK1, and wxOS2 (the latter 2 blindly). Changes are similar to r68856 and should have been a part of that.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68857 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
wxUniv's wxNotebook was accessing m_imageList which now is a private in wxWithImages since r68809. Fixed by using wxWithImages::HasImageList.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68856 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
If the text of any of wxDataViewCtrl cells was set before the control was
realized (e.g. during its creation), the code tried to refresh the not yet
shown widget resulting in GTK+ errors.
Avoid this by only refreshing the tree if it's realized.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68853 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Non-const wxWindow pointers are unfortunately needed quite often in wx API so
return a non-const pointer here to allow using it with e.g. wxRendererNative
(whose methods all take non-const wxWindow pointers) in the derived classes.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68852 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add IsSameAs() to make it simpler to call from the derived class operator==()
implementation.
Also make comparison operators themselves members instead of global functions
to avoid considering them as matches for all operator==() uses in the program,
there is really no need for this as we do _not_ want to allow implicitly
converting something to wxDataViewIconText when comparing.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68851 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The standard size of the small icons in list controls under MSW is
traditionally 16*16 so return this from wxMSW wxArtProvider.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68850 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
wxDataViewCtrl::GetSelection() now always returns invalid item if more than
a single item is selected in a multi-selection control.
Also add HasSelection() and GetSelectedItemsCount() to allow checking if any
items are selected.
Updated the documentation, all ports and added a test for all these functions.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68844 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
CPPUNIT_ASSERT_EQUAL() gives more informative error messages in case of
failure which is important when running tests unattended on build slaves.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68843 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add an extremely simple RAII wrapper around GList and use it.
Also add wxGtkTreePathList which also automatically frees its contents to
simplify working with the lists of GtkTreePaths.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68842 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Doing this is unnecessary and results in compilation errors in PPC and x86
builds when using old (4.0.1) version of the compiler.
So make WXEXPORT added in r67575 specific to 64 bit builds.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68841 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Move it from wxButtonXmlHandler into a reusable wxXmlResourceHandler::
GetDirection() that can used by the other handlers too.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68839 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This allows to provide just a single image (in "generic" subdirectory) for the
generic controls that look the same in all ports instead of having to create
three identical ones (in "wxmsw", "wxgtk" and "wxmac" subdirectories) that are
required by @appearance.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68837 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The code in generic wxDataViewCtrl implementation didn't take the space taken
by tree expander button nor the indentation of child nodes into account, so
the coordinates passed to LeftClick() could be completely wrong.
Fix this by offsetting them to ensure that click coordinates are always
relative to the cell client area.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68836 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add wxItemId<> template which can be used to identify items in different
{tree,list}-like controls, including wxDataViewCtrl (where it replaces, in
backwards compatible way, wxDataViewItem), wxTreeCtrl (where it replaces
wxTreeItemId) and the upcoming wxTreeListCtrl.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68812 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Existing declarations used -1 in several places to indicate the absence of the
image which wasn't especially clear and was also inconsistent with other
places that used wxNOT_FOUND which didn't make much sense in this context.
Add a new symbolic constant NO_IMAGE in wxWithImages and use it in the classes
deriving from it. This still doesn't help with wx{Tree,List}Ctrl but improves
clarity for the other classes.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68810 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Avoid defining SetImageList() in several different places in wx API as not
only this resulted in (trivial) code duplication but this method also had
different semantics before: it didn't take ownership of the pointer passed to
it in wxTreeCtrl, wxListCtrl and wxBookCtrl and derived classes but did take
its ownership in wxDataViewTreeCtrl and wxRichTextFormattingDialog.
Harmonize this for all the classes now: SetImageList() never takes ownership
while AssignImageList() (which is now available in all classes having
SetImageList()) always does.
Also add convenience wxWithImages::GetImage() helper to avoid (more) code
duplication in wxDataViewTreeCtrl code.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68809 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
IsEmpty() didn't exist in all ports (notably not wxMSW) and its meaning was
unclear anyhow, so remove it even from the ports where it did exist and add
clear Is{List,Text}Empty() replacements instead.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68808 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The new names make it more clear that the functions don't just set an
invalidated flag, but that they actually do some recalculations.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68807 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Column widths were recomputed too soon -- after the model changed, but
before the control's own data structures were updated to reflect the
change. This could lead to incorrect calculations or worse, crashes.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68806 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The recently added BMP images in tests/image/ were not being copied. Added them to test.bkl and regenerated makefiles.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68791 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775