Commit Graph

372 Commits

Author SHA1 Message Date
Paul Cornett
b1fa69a2ce Fix clipped cell contents with custom renderers and GTK3, see #17116 2015-08-20 21:15:08 -07:00
Simon Richter
711827a6ee Remove duplicate code from wxGTK wxDataViewCtrl.
Code checking got wxDATAVIEW_CELL_INSENSITIVE was repeated twice, leave just
one copy of it.

Closes #17047.
2015-06-30 15:58:29 +02:00
Paul Cornett
f0a2a6472f Fix GTK warnings after 4b9485a when TLW is closed while editor is still shown, see #16850 2015-04-26 11:01:44 -07:00
Paul Cornett
4b9485a497 Fix drawing of cell editing controls with GTK3
Get rid of the ugly and unnecessary hack of making the control a child
of the GtkTreeView "behind its back", which was a terrible idea and
bound to cause problems.
See #16850
2015-04-24 09:52:47 -07:00
Dimitri Schoolwerth
8f8d58d193 Use wx-prefixed macros throughout the repository.
Change {DECLARE,IMPLEMENT}_*CLASS and {DECLARE,BEGIN,END}_EVENT_TABLE
occurrences to use the wx-prefixed version of the macros.
2015-04-23 22:00:35 +04:00
Vadim Zeitlin
24c0401e81 Fix spurious assert in wxGTK wxDataViewCtrl::EditItem().
The assert in wxGtkTreeSelectionLock ctor failed after the first time this
object was created as it doesn't reset the selection function to NULL with
wxGTK2, fix this by checking for different values depending on whether it's
actually the first time we do it or not.

In the future we should just reset the selection function to NULL as it does
work in GTK+ 3, also update the comment explaining the problem to mention this.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78471 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-02-10 23:14:53 +00:00
Vadim Zeitlin
6ad2d4f264 Fix handling of disabled cells in wxGTK wxDataViewCtrl.
The original code (see r66404 and r66416) didn't work because it used
wxDataViewRenderer::SetMode() to make the renderer inactive but then used its
GetMode() to restore the previous state -- which was lost. The result of this
was that if the overridden IsEnabled() in the model ever returned false for
any row, all the cells in this column, in all the rows, became insensitive, as
could be seen by the inability to edit any rating in the first page of the
dataview sample (even though it was disabled for a single row only) and any
checkboxes on its third page (even though only the last two of them were
supposed to be disabled).

Fix this simply by making the renderer insensitive at GTK level only, but do
not change the mode at wx level.

See #12686.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78470 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-02-10 23:14:48 +00:00
Vadim Zeitlin
fddf5b78aa Don't warn if model cell value is empty in wxGTK wxDVC.
Make wxGTK consistent with the generic version and, generally speaking, more
reasonable by allowing to leave any cell empty by just not filling in the
wxVariant in the model GetValue() for it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78293 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-12-22 01:31:10 +00:00
Vadim Zeitlin
c8f2416e8d Replace wxLogError() with wxLogDebug() in wxGTK wxDVC code.
The type mismatch between the value returned from the model and the one
returned by the control cannot be due to any user action, so it is quite
useless to show it to the user, it is only relevant for the developers.

Use wxLogDebug() and not wxASSERT() because asserting in a wxEVT_PAINT
callback would result in a crash due assert reentrancies.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78292 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-12-22 01:31:07 +00:00
Vadim Zeitlin
93f080bd99 Fix arguments of type mismatch error message in wxGTK wxDVC.
The "required" and "actual" arguments were exchanged, making the message
pretty confusing.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78291 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-12-22 01:31:03 +00:00
Paul Cornett
b74403baca Remove gtk_tree_view_set_fixed_height_mode() call from AssociateModel()
The check for wxDV_VARIABLE_LINE_HEIGHT is already done in Create(), and the
IsVirtualListModel() check was probably an attempt to get around a performance
problem (#16680), but it's not a valid criteria for changing the height mode.
closes #16683


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78170 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-11-22 19:12:41 +00:00
Paul Cornett
daa8fd03f3 fix "wrong type" error when using wxDataViewChoiceByIndexRenderer, closes #15955
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78168 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-11-21 17:00:29 +00:00
Vadim Zeitlin
cbe6495307 Allow dropping data outside of item area in wxDataViewCtrl.
Implement this change for the generic and the native GTK versions and document
it.

Closes #16152.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76416 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-04-27 22:41:40 +00:00
Paul Cornett
8b4ae731d3 use wxOVERRIDE
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76220 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-30 00:02:23 +00:00
Paul Cornett
726d6f006e avoid crash with GTK3 when deleting an item, closes #15786
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75639 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-01-17 16:50:13 +00:00
Václav Slavík
bae200a453 Fix selection behavior on right-click in wxGTK wxDataViewCtrl.
Select the item under the cursor even when right-clicking it, because
it's expected behavior (Nautilus does it too).

Fixes #13531.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75273 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-23 10:56:09 +00:00
Václav Slavík
210a35e384 Allow NULL model in wxGTK's wxDataViewCtrl.
This is consistent with other ports.

Fixes #14616.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75272 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-23 10:56:03 +00:00
Vadim Zeitlin
9b31387508 Merge the changes from 3.0 branch.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75178 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-12 18:06:37 +00:00
Paul Cornett
e9d1a6f393 fully initialize GTypeInfo structure
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75168 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-10 18:26:05 +00:00
Paul Cornett
54e89f14bb use G_VALUE_INIT
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75163 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-10 18:13:27 +00:00
Vadim Zeitlin
3f66f6a5b3 Remove all lines containing cvs/svn "$Id$" keyword.
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
2013-07-26 16:02:46 +00:00
Vadim Zeitlin
3bc1418b81 Fix wxEVT_DATAVIEW_COLUMN_HEADER_RIGHT_CLICK event type name.
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
2013-04-25 11:56:55 +00:00
Vadim Zeitlin
ce7fe42e84 Provide shorter synonyms for wxEVT_XXX constants.
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
2013-04-25 10:11:03 +00:00
Paul Cornett
1897abe1d8 avoid functions deprecated in GTK3
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73013 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-25 03:41:42 +00:00
Paul Cornett
7fff16b863 Simplify GetDefaultAttributesFromGTKWidget() by passing the widget to use,
rather than a pointer to a function to create the widget


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73010 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-25 02:23:34 +00:00
Paul Cornett
8ab7533289 Disconnect all GTK signals referencing a wx object which is being destructed
or which is destroying the associated GTK object


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72696 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-17 16:23:18 +00:00
Paul Cornett
84f623f883 remove some unnecessary casts
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72605 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-02 16:19:33 +00:00
Vadim Zeitlin
ea6e973ca2 No real changes, just remove an unnecessary variable assignment.
Initialize m_gtk_model with its correct value immediately, without setting it
to NULL first.

Closes #14673.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72522 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-09-20 15:47:03 +00:00
Paul Cornett
c49ba2113c no real changes, just remove unnecessary indentation and scoping after r72001
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72002 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-10 17:17:53 +00:00
Paul Cornett
4e621d2471 update minimum GTK2 version requirement to 2.6
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72001 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-10 16:39:44 +00:00
Paul Cornett
9dc44eff02 support for GTK3
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71894 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-30 20:39:06 +00:00
Paul Cornett
d5027818a4 fix warnings about conversion to bool, closes #14381
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71685 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-07 05:18:30 +00:00
Vadim Zeitlin
530a50ecf0 Don't assert if no icon is specified for a wxDataViewCtrl item.
An item in a column using wxDataViewIconTextRenderer might not have any valid
icon associated with it, don't assert in case it doesn't in the native GTK
version.

Notice that the generic wxDataViewCtrl implementation already supports this
but not perfectly: no space is reserved for the icon in the images without
one, so giving the image to only some of them looks ugly. The GTK version
aligns both the items with and without icon properly and simply leaves the
image part blank and it would be better to modify the generic version to do
the same thing in the future.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71427 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-13 21:37:16 +00:00
Vadim Zeitlin
f330dce9b7 No changes, just refactor common IsSorted() tests in wxGTK wxDataViewCtrl.
Add wxDataViewCtrlInternal::ShouldBeSorted() helper instead of testing for
both IsSorted() and wxDataViewModel::HasDefaultCompare() in several places.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71327 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-04-29 23:22:34 +00:00
Vadim Zeitlin
87cf085e96 No real changes, just make wxDataViewCtrlInternal::IsSorted() const.
This is a simple accessor, should have been const since the beginning.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71326 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-04-29 23:22:32 +00:00
Vadim Zeitlin
167fc10e3b Set the data size in wxEVT_COMMAND_DATAVIEW_ITEM_DROP_POSSIBLE in wxGTK.
Allow wxEVT_COMMAND_DATAVIEW_ITEM_DROP_POSSIBLE handler to examine the data
being dragged by setting not only the pointer to it but also its size, as
otherwise it's impossible to do anything with it.

See #12583.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71323 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-04-29 23:22:21 +00:00
Vadim Zeitlin
7e98c451df Minor fixes to wxDataViewCtrl::HitTest() in wxGTK.
Initialize the return parameters with invalid values and use const_cast<>.

See #12582.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70457 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-25 00:05:03 +00:00
Václav Slavík
907f09f44b Replace wxDataViewCtrl::StartEditor() with EditItem().
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
2012-01-17 14:05:17 +00:00
Václav Slavík
ee1377e1fa Add wxDataViewCtrl::GetCurrentColumn().
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70375 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-17 14:05:07 +00:00
Paul Cornett
02800dde9e move render params out of wxDataViewCustomRenderer
they only need to exist for the duration of the render() call

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70300 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-09 06:31:07 +00:00
Paul Cornett
2df9f4581c use correct signature for init functions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70293 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-08 07:12:35 +00:00
Paul Cornett
8a724edb3d remove unnecessary class definitions and variables
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70292 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-08 06:40:26 +00:00
Paul Cornett
8945688a86 remove unnecessary finalize overrides
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70291 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-08 06:30:55 +00:00
Vadim Zeitlin
7eff714407 Fix warning about non-virtual dtor in wxDataViewCtrlInternal.
This class doesn't need a virtual dtor but g++ warned about its absence
because it unnecessarily defined a virtual method. Just make this method
non-virtual to avoid the warning.

Closes #13395.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70125 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-27 01:21:43 +00:00
Vadim Zeitlin
6549dd3ce3 Suppress gcc -Wint-to-pointer-cast warnings in GTK wxDataViewCtrl.
Use wxUIntToPtr to avoid the warnings about casts from smaller (in 64 bit
build) int type to pointer.

Closes #13394.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70124 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-27 01:21:39 +00:00
Vadim Zeitlin
4fb1e79b4d Remove all unwanted occurrences of -mt/-pthread in configure.
Remove all inappropriate compiler options and not just the first one as they
can occur multiple times because they may come from pkg-config output for
several different libraries.

Closes #13647.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69720 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-11-10 00:30:04 +00:00
Václav Slavík
5bb82ad49f Fix incorrect handling of ItemsAdded() in wxDataViewCtrl.
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
2011-10-26 17:10:27 +00:00
Václav Slavík
dc73d7f5d4 Cleanup of wxDataViewCtrl cell activation code.
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
2011-10-19 16:20:17 +00:00
Václav Slavík
1d3a930e82 Use wxDatePickerCtrl in wxDataViewDateRenderer.
Inline editor is more in line with the behavior of other editors,
requiring double click to edit values was unexpected.

Also merge the two almost-but-not-quite identical implementations in
generic and GTK+ versions.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69471 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-19 16:20:06 +00:00
Václav Slavík
fc55eaa0be Set wxDataViewCtrl::m_focusWidget in wxGTK.
The GtkTreeView control that should get the focus in in scrolled window;
the same is already done for wxListBox.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69436 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-15 14:19:22 +00:00