Patch from Bo, adapt generic code to new API, add GetItemRect and HitTest
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48223 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -25,7 +25,7 @@
|
||||
|
||||
#if defined(__WXGTK20__)
|
||||
// for testing
|
||||
// #define wxUSE_GENERICDATAVIEWCTRL 1
|
||||
#define wxUSE_GENERICDATAVIEWCTRL 1
|
||||
#elif defined(__WXMAC__)
|
||||
#else
|
||||
#define wxUSE_GENERICDATAVIEWCTRL 1
|
||||
@@ -154,7 +154,7 @@ public:
|
||||
// default compare function
|
||||
virtual int Compare( const wxDataViewItem &item1, const wxDataViewItem &item2,
|
||||
unsigned int column, bool ascending );
|
||||
|
||||
|
||||
protected:
|
||||
// the user should not delete this class directly: he should use DecRef() instead!
|
||||
virtual ~wxDataViewModel() { }
|
||||
@@ -487,6 +487,11 @@ public:
|
||||
|
||||
virtual void EnsureVisible( const wxDataViewItem & item,
|
||||
wxDataViewColumn *column = NULL ) = 0;
|
||||
|
||||
virtual void HitTest( const wxPoint &point,
|
||||
wxDataViewItem &item, unsigned int &column ) const = 0;
|
||||
virtual wxRect GetItemRect( const wxDataViewItem &item,
|
||||
unsigned int column ) const = 0;
|
||||
|
||||
protected:
|
||||
virtual void DoSetExpanderColumn() = 0 ;
|
||||
|
||||
@@ -326,6 +326,7 @@ class WXDLLIMPEXP_ADV wxDataViewCtrl: public wxDataViewCtrlBase,
|
||||
public:
|
||||
wxDataViewCtrl() : wxScrollHelperNative(this)
|
||||
{
|
||||
m_sortingColumn = 0;
|
||||
Init();
|
||||
}
|
||||
|
||||
@@ -353,12 +354,22 @@ public:
|
||||
virtual void DoSetExpanderColumn();
|
||||
virtual void DoSetIndent();
|
||||
|
||||
virtual wxDataViewItem GetSelection();
|
||||
virtual int GetSelections( wxDataViewItemArray & sel ) const;
|
||||
virtual void SetSelections( const wxDataViewItemArray & sel );
|
||||
virtual void Select( const wxDataViewItem & item );
|
||||
virtual void Unselect( const wxDataViewItem & item );
|
||||
virtual bool IsSelected( const wxDataViewItem & item ) const;
|
||||
|
||||
virtual void SelectAll();
|
||||
virtual void UnselectAll();
|
||||
|
||||
virtual void EnsureVisible( const wxDataViewItem & item,
|
||||
wxDataViewColumn *column = NULL );
|
||||
virtual void HitTest( const wxPoint & point, wxDataViewItem & item, unsigned int & column ) const;
|
||||
virtual wxRect GetItemRect( const wxDataViewItem & item, unsigned int column ) const;
|
||||
|
||||
protected:
|
||||
virtual int GetSelections( wxArrayInt & sel ) const;
|
||||
virtual void SetSelections( const wxArrayInt & sel );
|
||||
virtual void Select( int row );
|
||||
@@ -367,15 +378,13 @@ public:
|
||||
virtual void SelectRange( int from, int to );
|
||||
virtual void UnselectRange( int from, int to );
|
||||
|
||||
virtual void SelectAll();
|
||||
virtual void UnselectAll();
|
||||
|
||||
virtual void EnsureVisible( int row );
|
||||
virtual void EnsureVisible( const wxDataViewItem & item, wxDataViewColumn *column = NULL );
|
||||
|
||||
virtual wxDataViewItem GetItemByRow( unsigned int row ) const;
|
||||
virtual int GetRowByItem( const wxDataViewItem & item ) const;
|
||||
|
||||
unsigned int GetSortingColumn() { return m_sortingColumn; }
|
||||
void SetSortingColumn( unsigned int column ) { m_sortingColumn = column; }
|
||||
|
||||
public: // utility functions not part of the API
|
||||
|
||||
@@ -394,6 +403,7 @@ private:
|
||||
wxDataViewModelNotifier *m_notifier;
|
||||
wxDataViewMainWindow *m_clientArea;
|
||||
wxDataViewHeaderWindow *m_headerArea;
|
||||
unsigned int m_sortingColumn;
|
||||
|
||||
private:
|
||||
void OnSize( wxSizeEvent &event );
|
||||
|
||||
@@ -317,6 +317,12 @@ public:
|
||||
|
||||
virtual void EnsureVisible( const wxDataViewItem & item, wxDataViewColumn *column = NULL );
|
||||
|
||||
virtual void HitTest( const wxPoint &point,
|
||||
wxDataViewItem &item, unsigned int &column ) const;
|
||||
virtual wxRect GetItemRect( const wxDataViewItem &item,
|
||||
unsigned int column ) const;
|
||||
|
||||
|
||||
static wxVisualAttributes
|
||||
GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user