Commit Graph

212 Commits

Author SHA1 Message Date
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
Robert Roebling
2f21b2be1b Forgot DeleteChildren()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58223 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-19 11:53:34 +00:00
Robert Roebling
e700e2964b Move model notification code of tree store from the store to the control, implement Insert() methods
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58222 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-19 11:42:54 +00:00
Robert Roebling
dc813e6c7e Added wxDataViewListCtrl, use it in the sample
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58136 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-16 15:04:00 +00:00
Robert Roebling
8eff6c56f0 Change GetValue() and SetValue() to GetValueByRow() and SetValueByRow() in row based interface, Add wxDataViewListStore (WIP)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58124 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-16 11:23:37 +00:00
Vadim Zeitlin
3c77890141 add more flexible and safer template Connect() overloads (#10000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58039 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-12 14:26:13 +00:00
Robert Roebling
4219d8b027 Add wxDataViewCtrl::ExpandAncestors() and call it from both EnsureVisible() and Select()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57511 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-23 14:56:07 +00:00
Robert Roebling
a881f34e49 Call Expand on an item's parent chain in EnsureVisible
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57441 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-20 15:11:38 +00:00
Robert Roebling
5179bc0bca Fixes #10247: wxDataViewCtrl - event is generated when clicking on a non existing row
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57377 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-16 21:57:40 +00:00
Vadim Zeitlin
4bfd0ed552 don't access inexistent column in wxDataViewTreeCtrl::OnSize() (this bug also probably explains why this code doesn't actually work: size event is generated before we have any columns)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57189 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-08 13:25:09 +00:00
Vadim Zeitlin
e2bfe6731e - Rewrite wxHeaderCtrl to be virtual-like: even if we don't need an infinite
number of columns in it, it turns out that getting column information from
  the associated control is much easier than copying it into the control.
- Provide wxHeaderCtrlSimple derived class which can be used easily if
  callback approach of wxHeaderCtrl is not needed.
- Because of wxHeaderCtrl virtualization, port-specific implementations of
  wxHeaderColumn are not needed any more and were removed.
- Use wxHeaderCtrl in the generic wxDataViewCtrl: this means that column
  events are broken right now in it as they haven't been implemented by
  wxHeaderCtrl yet, this will be fixed a.s.a.p.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57161 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-07 14:47:55 +00:00
Vadim Zeitlin
e215c9959c suppress (harmless) unused parameter warnings
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57137 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-05 22:48:25 +00:00
Vadim Zeitlin
56873923f3 extract (and expand and clean up and document) the header window implementation used inside the generic wxDataViewCtrl in a separate wxHeaderCtrl class which could be reused in (generic) wxListCtrl and, most importantly, wxGrid later
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57093 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-03 21:53:10 +00:00
Robert Roebling
7448d67c49 Added wxChoice renderer to wxDataViewCtrl
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56725 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-10 14:08:38 +00:00
Francesco Montorsi
23318a5358 declare all NameStr[] strings as const char using the correct WXDLLIMPEXP_DATA_ macros; in the process, change wxPropGrid window classes to take 'const wxString& name' arguments instead of 'const wxChar *name'
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56651 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-02 22:16:14 +00:00
Vadim Zeitlin
5c33522fca replace wx_{const,static,reinterpret}_cast with their standard C++ equivalents
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56644 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-02 02:39:52 +00:00
Robert Roebling
724852daae Enable intercepting ENTER in wxSpinCtrl under wxMac by using wxTE_PROCESS_ENTER
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56379 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-10-16 22:18:04 +00:00
Robert Roebling
33a1719a95 Dont't finish any editing if there is no control
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56378 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-10-16 21:32:26 +00:00
Vadim Zeitlin
e913be3465 fixed another pointer-to-int-of-lesser-size conversion warning
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54000 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-06 23:40:00 +00:00
Vadim Zeitlin
777f9cef02 fix MSVC warnings about conversions between pointers and longs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53722 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-05-23 12:18:27 +00:00
Robert Roebling
19723525ce Added InsertColumn( pos, col ), some reformating
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53684 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-05-21 08:47:21 +00:00
Robert Roebling
095a322160 Correct weak ref usage which triggered an assert
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53164 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-04-14 09:40:11 +00:00