Commit Graph

233 Commits

Author SHA1 Message Date
Dimitri Schoolwerth
d13b34d3f2 No code changes, fixed various typos.
Applied patch by snowleopard2 fixing typos in interface/. Extended the fixes throughout trunk.

Closes #13076.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67384 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-03 20:31:32 +00:00
Václav Slavík
34b239ec5d wxDataViewChoiceRenderer's editor control should have the same size as the cell.
It looks weird when it's significantly shorter than the content cell being edited.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67328 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-28 14:10:31 +00:00
Vadim Zeitlin
98f8e6666b Add the possibility to disable invisible wxDataViewCtrl items.
Add new wxDataViewModel::IsEnabled() and wxDataViewListStore::IsEnabledByRow()
methods and implement support for actually disabling the items in wxOSX/Cocoa
native implementation of wxDataViewCtrl and limited support for it in the
generic version.

We need to implement this in wxGTK using GtkCellRenderer "sensitive" propriety
later.

Closes #12686.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66403 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-19 15:02:56 +00:00
Václav Slavík
f0ccd2cbfa Add wxDataViewRendererBase::PrepareForItem() helper.
For calling SetValue() and SetAttr() consistently, instead of having the
same code duplicated all over the place.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65950 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-30 15:57:55 +00:00
Václav Slavík
86755098f5 Account for text attrs in generic wxDataViewCtrl's renderers.
When determining cell content's size, GetSize() measured the text using
wxDataViewCtrl's font, even though it could be renderer in bold or
italics.

Corrected by setting the attributes - and not only the value - prior to
GetSize() calls, and by using the right font in GetTextExtent() calls.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65949 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-30 15:57:49 +00:00
Vadim Zeitlin
ce00f59b5b No changes whatsoever, just remove trailing whitespace.
There are no real changes in this commit but it removes all trailing white
space from our source files. This avoids problems when applying patches and
making diffs and it would be nice to prevent it from reappearing.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65680 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-30 11:44:45 +00:00
Robert Roebling
d8090b5e2c Further work on wxDataViewListModel::Reset()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65538 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-13 20:02:01 +00:00
Robert Roebling
673810eeb8 Moved 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.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65533 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-12 20:07:28 +00:00
Vadim Zeitlin
80ce465c64 Add wxDataViewCtrl::{Set,Get}CurrentItem().
Current item is the same as the selected item in single selection mode but in
multiple selection mode there was no way to neither get this item nor change
it before so add the new functions to allow doing this now.

The new methods are implemented for the generic, GTK and OS X/Cocoa versions
but only stubs are provided for OS X/Carbon.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65228 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-10 12:53:03 +00:00
Václav Slavík
9ba389145a Created the model in wxDataViewListCtrl::Create().
It was totally unexpected that construction through the ctor behaved
differently from Create(). Also, the behavior now actually matches
documentation.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65120 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-27 21:45:37 +00:00
Robert Roebling
a3669fa95b Let wxChoice determine its size for wxDataViewChoiceRenderer itself, fixes #12193: wxDataViewChoiceRenderer size
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64804 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-04 08:22:06 +00:00
Robert Roebling
65887bd0f1 Second try to get wxDataViewChoiceByIndex and its name right, hopefully fixes #11970: wxDataViewChoiceRenderer set/get methods should use the current selection
index not a string

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64378 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-21 20:13:49 +00:00
Robert Roebling
559c42a5b2 Make GetIndexOf() and get_path() work for virtual list models, fixes #12073: wxDataViewCtrl crashes when deleting an item
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64362 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-20 18:39:20 +00:00
Robert Roebling
0bddfd416f Don't call super class explicitly so overriding is possible, closes #12025 (wxDataViewVirtualListModel calls super-class' version of certain virtual methods).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64320 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-16 14:44:58 +00:00
Vadim Zeitlin
fd61f68445 No changes, just make wxDataViewEditorCtrlEvtHandler private.
This class is used by wxDataViewCtrl implementation only, there is no need for
it to be in a public header.

Move the class declaration from wx/dataview.h to datavcmn.cpp.

See #11732.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64217 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-05 12:45:14 +00:00
Vadim Zeitlin
66c02e6e33 Pop event handler from wxDVC edit control before destroying it.
This fixes the assert in wxWindow dtor checking that all event handlers pushed
on the window were removed.

Also fix a memory leak by not creating an unnecessary object of wxKillRef
class. In fact remove this class entirely.

Closes #11732.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64216 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-05 12:45:09 +00:00
Vadim Zeitlin
2d6bba4118 Fix memory leak in wxDataViewListStore::DeleteItem().
The item data needs to be deleted in addition to simply removing it from the
internal storage.

Closes #11757.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63635 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-03-05 23:55:31 +00:00
Vadim Zeitlin
c3fe02e952 Use correct width in wxDataViewCustomRendererBase::RenderText().
The text should be ellipsized to fit in the text rectangle, not the total cell
one (which is larger).

See #11558.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62939 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-19 11:17:25 +00:00
Vadim Zeitlin
9e9cfb9115 Restore the use of correct alignment in wxDVC renderers.
The code from old CalculateAlignment() was somehow lost during the
refactoring, restore it in wxDataViewCustomRendererBase::RenderText().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62639 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-11-14 15:51:50 +00:00
Robert Roebling
8ddda15ba5 Implement and document wxDataViewTreeCtrl::IsContainer(), use it in the sample to not add items to non-containers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62630 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-11-13 14:14:44 +00:00
Robert Roebling
9c20523110 Correct sorting in wxDataViewTreeStore, fixes #11436, part II
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62628 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-11-13 13:56:32 +00:00
Vadim Zeitlin
0e17930f43 Fix width of the wxDataViewTreeCtrl column under OSX/Cocoa.
Set the column resizing mode to "automatic" instead of "none" if the control
doesn't show the header. This allows the native control to properly resize the
only tree control column to always take up the entire window size (provided we
don't explicitly create it resizeable, so don't do this).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-11-10 17:42:58 +00:00
Vadim Zeitlin
62265c2c67 Allow custom wxDataViewCtrl renderers to easily use attributes.
Set up the DC passed to wxDataViewCustomRenderer::Render() to use the font and
colour defined by the item attribute by default so that any calls to
RenderText() from it will use them automatically.

Also added public wxDataViewCustomRenderer::GetAttr() to allow retrieving the
attribute explicitly in Render().

The column using custom renderer in the dataview sample now works as expected
in the generic version; the native ones will be corrected in the upcoming
commits.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62590 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-11-10 17:41:11 +00:00
Vadim Zeitlin
0ead57d528 No real changes, just fix a typo in wxDataViewModel::Compare().
Return -1 from the comparison function instead of -11 when comparing
wxDateTime values. It shouldn't matter which value is returned as long as it's
negative but it is definitely tidier.

Closes #11381.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62517 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-31 15:57:58 +00:00
Vadim Zeitlin
2feacb6eb3 Add wxDataViewListModel base class for list models.
Introduce a base class for wxDataViewIndexListModel and
wxDataViewVirtualListModel instead of duplicating the same code in both of
them making the code difficult to maintain and change.

For now this class is not documented as it is used just to avoid duplication
in the implementation but maybe we should make it public to allow defining
other flat list data models (if this can be made to work in Carbon version).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62499 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-24 21:41:54 +00:00
Vadim Zeitlin
43c64cc6c9 Create model and column in wxDataViewTreeCtrl::Create(), not ctor.
Old code created the tree model and its unique built-in column only in
wxDataViewTreeCtrl ctor but not in Create(), meaning that the behaviour was
very different depending on whether you used base class ctor call or Create()
in a derived class. This was confusing and completely inconsistent with wx API
in which using the default ctor and Create() is supposed to always have
exactly the same effect as using non-default ctor so change this to create the
model in Create() so that it's always done.

Slightly update the documentation and also add wxDataViewTreeCtrl::Init() for
consistency.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62498 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-24 21:41:44 +00:00
Vadim Zeitlin
795dac4c86 Add wxDataViewModel::ChangeValue() and use it in wxDVC implementation.
ChangeValue() is a trivial wrapper calling both SetValue() and ValueChanged().
It allows to replace many calls to SetValue() immediately followed by
ValueChanged() with a single function call which is significantly shorter and
less error-prone (e.g. most of the existing code didn't test SetValue() return
code at all).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62489 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-23 23:49:16 +00:00
Vadim Zeitlin
9aa2e298ae Fixes to comparison operators for wxDVC classes.
Comparison operators for wxDataViewItem and wxDataViewIconText were not inline
and not exported, resulting in linking errors for any code using them in
shared wx build. Fix this by making them inline.

Also correct wxDataViewIconText operator==() implementation to compare icons
as well and to return true when comparing the object with itself.

Finally add operator!=() matching existing operator==() as a class having one
of these operators is supposed to have the other one as well and it costs
nothing to define it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62401 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-14 17:00:28 +00:00
Vadim Zeitlin
03647350fc No changes, just removed hard tabs and trailing white space.
This commit is huge but there are no non-white-space changes in it.

Some files containing third-party sources (src/msw/wince/time.cpp,
src/x11/pango*.cpp) were left unchanged.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61724 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-21 10:41:26 +00:00
Vadim Zeitlin
3569e0d042 Implement wxDataViewTreeStore::DeleteAllItems().
Just delete all root children.

Closes #11063.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61595 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-03 20:42:49 +00:00
Robert Roebling
ca21a4e729 Reduce size of virtual list before sending out delete notification, fixes #10966: wxDataViewVirtualListModel row deletion bug
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61361 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-09 18:26:47 +00:00
Vadim Zeitlin
47a8b1e1ff added EVT_DATAVIEW_CACHE_HINT event (closes #9891)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61331 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-05 15:21:52 +00:00
Robert Roebling
9330d5afb6 Many more corrections and clarifications to virtual index list model use
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61078 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-06-16 17:59:09 +00:00
Robert Roebling
b879becf6a Correct wxDataViewListModel::RowPrepended
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61066 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-06-15 19:36:59 +00:00
Robert Roebling
86ba79ed17 In virtual list mode, map first row to 1, not to 0 as this is reserved for an invalid item
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60996 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-06-11 15:10:52 +00:00
Robert Roebling
0a807957e6 Closes #10495: wxDataViewCtrl needs a way to start the label editor programmatically, also Windows port now emits vetoable ..._EDITING_STARTED event
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60857 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-06-01 13:57:38 +00:00
Robert Roebling
e86edab05b Add wxDataViewCtrl implementation for OSX/Cocoa (closes #10617: wxDataView for wxOSX-Cocoa)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60552 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-05-08 17:07:50 +00:00
Vadim Zeitlin
657a8a3598 first round of debug/release merge: introduce wxDEBUG_LEVEL, for now defined as 1 if __WXDEBUG__ is defined, i.e. no real changes; don't use __WXDEBUG__ in the headers to keep debug and release builds ABI-compatible; add functions to customize or disable asserts handling
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59711 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-21 23:36:37 +00:00
Robert Roebling
862de7b3d9 Make wxDataViewModel::Compare() const
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59469 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-10 13:37:26 +00:00
Robert Roebling
3e978cf7b2 Add wxDataViewEvent for vetoing label editing (see also #10495)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59456 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-09 20:48:04 +00:00
Robert Roebling
c937344c8f Commit most parts of #10495 wxDataViewCtrl needs a way to start the label editor programmatically
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59438 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-08 21:41:57 +00:00
Francesco Montorsi
8af28fabff fix crash when using wxDataViewListStore::DeleteAllItems
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59359 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-06 00:01:11 +00:00
Vadim Zeitlin
9b11752c4f require semicolon after wxDECLARE/DEFINE_EVENT() (closes #10456)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58718 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-07 18:59:25 +00:00
Vadim Zeitlin
f54e5c1a4f another fix for wxUSE_DRAG_AND_DROP==0 build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58485 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-28 21:36:57 +00:00
Robert Roebling
0cdbed4cfa Compilation fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58258 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-21 13:59:35 +00:00
Paul Cornett
8c2654ce3d build fixes and cleanup
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58245 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-20 17:50:51 +00:00
Robert Roebling
e4de825ee6 Add event based Drop API
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58240 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-20 13:46:21 +00:00
Robert Roebling
591cc82deb Simplified event based Drag API for wxDataViewCtrl
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58238 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-20 11:58:52 +00:00
Robert Roebling
15cac64f75 New eventb based Drag interface for wxDataViewCtrl
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58236 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-19 22:27:06 +00:00
Robert Roebling
95b20f41b6 Rename XxxxCol() -> XxxxColumn() and resolve inheritance problems from it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58231 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-19 14:44:47 +00:00