This keyword is not expanded by Git which means it's not replaced with the
correct revision value in the releases made using git-based scripts and it's
confusing to have lines with unexpanded "$Id$" in the released files. As
expanding them with Git is not that simple (it could be done with git archive
and export-subst attribute) and there are not many benefits in having them in
the first place, just remove all these lines.
If nothing else, this will make an eventual transition to Git simpler.
Closes#14487.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The wxEVT_DATAVIEW_ITEM_BEGIN_DRAG event wasn't triggered if the mouse moved
below the last item or beyond the last column of a control or left the window
completely.
Fix this by checking for the beginning of the drag before checking for the
mouse being out of items area and also force the drag to start if the mouse is
leaving the window as we would never do it otherwise.
Closes#15258.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74308 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This change reverts the changes of r73835 and r73838 to
wxDataViewToggleRenderer::WXActivateCell() and instead fix the bug with mouse
hit testing in this function in the wxDataViewMainWindow::OnMouse() itself.
The problem there was that it offset the coordinates of the event differently
depending on whether the column alignment was set or left as default. Now
always make the coordinates relative to the item (not cell) rectangle for
compatibility with GTK+ native version, which is enough to make the original,
i.e. before the changes of r73835, code work.
See #15144.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73854 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix incorrect conflict resolution between the changes of r73823 and r73850:
the first renamed wxEVT_COMMAND_DATAVIEW_COLUMN_HEADER_RIGHT_CLICKED to
wxEVT_COMMAND_DATAVIEW_COLUMN_HEADER_RIGHT_CLICK while the latter renamed it
to wxEVT_DATAVIEW_COLUMN_HEADER_RIGHT_CLICKED. The proper new name is
wxEVT_DATAVIEW_COLUMN_HEADER_RIGHT_CLICK, use it instead.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73851 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Use the same short names as are used by the event table macros for the event
type constants themselves. This makes them much more comfortable to use, e.g.
Bind(wxEVT_BUTTON) compared to Bind(wxEVT_COMMAND_BUTTON_CLICKED).
The old long names are still kept for backwards compatibility and shouldn't be
removed as it doesn't really cost anything to continue providing them, but all
new event types should only use the short versions.
Closes#10661.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73850 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The changes of r73835 fixed hit testing in horizontal direction but broke it
in the vertical one as the computed checkbox rectangle was not relative to the
cell rectangle as it should have been. Do fix this now.
See #15144.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73838 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Handle clicks on the checkboxes in generic wxDataViewCtrl correctly by taking
into account that the checkbox rectangle is centred inside the total cell
rectangle.
Closes#15144.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73835 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
We could keep using the column previously used for sorting even after
UnsetAsSortKey() was called on it. Ensure that this doesn't happen by
resetting the owner wxDataViewCtrl sort column index too.
Closes#15160.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73834 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Don't sort the contents of wxDataViewCtrl while it is frozen and resort it
only when it is thawed. This dramatically speeds up adding items to the
control when sorting is used as we only sort it once now instead of doing it
after adding every item.
Closes#14073.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73635 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
No real changes, just add SortColumn_XXX symbolic constants which are somewhat
more clear than -1 and -2 used before. Although the code based on the global
variables remains as bad as before.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73634 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
We should either set the cell value in the event object everywhere or not do
it anywhere and as currently the native GTK and OS X versions don't do it at
all and the generic version only does it for ITEM_CONTEXT_MENU events, it's
easier to not do it at all.
See #14163.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73623 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This is consistent with Windows behaviour and as the generic wxDataViewCtrl is
mostly used under Windows, it makes sense to follow Windows convention in it.
Closes#15082.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Initialize m_clientArea to NULL to avoid crash in SetFont() which is called
during the control creation.
This might still be not 100% correct as the initial font is not set at all for
the client area but at least it fixes the crash.
See #15056.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73601 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The changes of r72632 resulted in focus not being given to
wxDataViewMainWindow on right or middle click, restore this behaviour.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72960 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Also change the code changing the current item to collect the range checks
inside OnVerticalNavigation() itself instead of doing them in the caller.
Closes#14802.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72906 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Since the changes of r72325, the root item could be collapsed and marked as
not having any children but this was wrong because no items could be added to
it after this.
Just ignore any attempts to collapse it.
Closes#14801.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72905 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Clicking on the control to give it focus must not start editing the label of
an item in it, this is bad UI as you need to carefully select where do you
click to avoid starting to edit the label and nobody else does it like this
(probably because of the former reason).
As a side note, it would be really great to abstract the item handling in a
class that could be reused by all these controls instead of having to update 3
slightly different versions of the same code every time.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72634 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Only set focus if the left button was pressed for consistency with just about
everything else. Also, just skip the event instead of setting the focus
explicitly.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72632 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
A model may be dissociated from a still existing control, don't crash if it
happens (notice that we still would crash in the native GTK version right now,
so this still remains to be fixed there).
See #14616.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72590 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Ensure that a parent item that doesn't have any children any more isn't left
with a "-" expander icon, it can't be collapsed any more but only expanded
again (possibly adding children under it dynamically). This results in better
behaviour in e.g. the last page of the dataview sample where the container
item remained with a "+" icon even after its both children were deleted.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72325 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
r62940 fixed an appearance problem with the checkboxes in wxDataViewCtrl but
introduced another one: as the checkbox was now always drawn in the entire
cell rectangle, the cell alignment was not taken into account any more.
Fix this by only increasing the checkbox rectangle up to the required minimal
size but not any more.
Closes#14504.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72294 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Have an explicit per-column dirty flag and use that to determine whether
we need to call wxHeaderCtrl::UpdateColumn(). Previously, the lack of
computed best width was used as an indicator, but this didn't work
correctly if some code called GetWidth() after invalidation but before
wxDataViewCtrl::UpdateColWidths() was called at idle time. This resulted
in header's column widths getting out of sync with the control itself.
Fixes#14167.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71335 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The best column widths are computed from "realized" items that are
available as rows in wxDataViewCtrl. This information changes when a
previously collapsed node is expanded and new items become available for
column width calculation.
Fixes#14167.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71334 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Allow specifying the drag operation flags and retrieving the drop effect when
it's over for wxDataViewCtrl drag-and-drop.
Currently this is only implemented in the generic version.
Closes#12583.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71324 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
wxDataViewIconTextRenderer changed the icon to that of the last item drawn by
it when editing a cell. Fix this by getting the original icon directly from
the model instead of from the last item.
Closes#14187.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71105 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This function is called in many places in the code with possibly invalid (i.e.
out of range) row, so handle it gracefully inside it in virtual list control
case. This is consistent with the behaviour in non-virtual case and with that
of GetRowByItem().
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70717 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Provide wxDataViewCtrl::SetAlternateRowColour() to specify the colour to use
for odd rows explicitly but determine it automatically from the background
colour if no explicit colour was specified.
Closes#12834.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70576 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This is more consistent with other wxDVC methods (taking column pointer
as its argument) and other DVC-like classes where the name EditLabel()
is used for similar purposes.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70377 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
When ScrollTo() or EnsureVisible() was called in the generic
wxDataViewCtrl implementation with unspecified column, horizontal scroll
position was reset to left-most position, which doesn't make much sense.
Instead, leave horizontal position unchanged in this case and only
change it when explicitly requested.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70001 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Define EVT_CHAR_HOOK handlers to ensure that pressing Escape/Return while an
in-place edit control is active affects only it and is not used for the
keyboard navigation.
Closes#9102.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69897 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Generic control only accounted for actual content, but didn't consider
indentation level when calculating width of the expander column.
Fixes#13629.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69819 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
They now use the same height that Windows 7's Explorer uses. This makes
more inline editor controls fit comfortably.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69800 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
If the normal Enter or Space processing (sending activate event or doing
activatable editing respectively) isn't handled by the control, use
these keys to trigger inline editing too, as F2 does.
This makes the Windows control more similar to OS X and GTK+ ones and
makes discovering editability easier.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69695 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
When adding items to the model in bulk and then calling ItemsAdded(),
internal representation in both the generic and GTK+ versions wasn't
updated correctly if the order of the notifications was such that an
item would be inserted after other new, but not yet inserted, items.
Fixes bug #13587.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69547 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix confusion of what cell activation is and inconsistence with native
handling in GTK+. Document the distinction between activating (~
editing) a cell and activating (double-clicking) the whole item.
Deprecate wxDataViewCustomRenderer::LeftClick() and Activate() methods,
replace them with single ActivateCell() that is called for both kinds of
activation.
Fix implementations so that ActivateCell() is not called on
double-click, when it shouldn't, and vice versa: don't send
wxEVT_COMMAND_DATAVIEW_ITEM_ACTIVATED for cell activation.
Partially reverts r67099 -- restores old 2.9 signatures of compatibility
LeftClick() and Activate() methods.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69473 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775