X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e2bfe6731edfca732418012b03438db85b4aa0dd..6f97a0d599100c2eb6d84ac0480bfc8d3dadc747:/include/wx/generic/dataview.h diff --git a/include/wx/generic/dataview.h b/include/wx/generic/dataview.h index 05ce149b3d..ee027d7ad7 100644 --- a/include/wx/generic/dataview.h +++ b/include/wx/generic/dataview.h @@ -359,11 +359,6 @@ private: m_sortAscending = true; } - // like SetWidth() but does not ask the header window of the - // wxDataViewCtrl to reflect the width-change. - void SetInternalWidth(int width); - - wxString m_title; int m_width, m_minWidth; @@ -384,8 +379,8 @@ private: WX_DECLARE_LIST_WITH_DECL(wxDataViewColumn, wxDataViewColumnList, class WXDLLIMPEXP_ADV); -class WXDLLIMPEXP_ADV wxDataViewCtrl: public wxDataViewCtrlBase, - public wxScrollHelperNative +class WXDLLIMPEXP_ADV wxDataViewCtrl : public wxDataViewCtrlBase, + public wxScrollHelper { friend class wxDataViewMainWindow; friend class wxDataViewHeaderWindowBase; @@ -394,7 +389,7 @@ class WXDLLIMPEXP_ADV wxDataViewCtrl: public wxDataViewCtrlBase, friend class wxDataViewColumn; public: - wxDataViewCtrl() : wxScrollHelperNative(this) + wxDataViewCtrl() : wxScrollHelper(this) { Init(); } @@ -403,7 +398,7 @@ public: const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, const wxValidator& validator = wxDefaultValidator ) - : wxScrollHelperNative(this) + : wxScrollHelper(this) { Create(parent, id, pos, size, style, validator ); } @@ -451,6 +446,7 @@ public: virtual void Expand( const wxDataViewItem & item ); virtual void Collapse( const wxDataViewItem & item ); + virtual bool IsExpanded( const wxDataViewItem & item ) const; virtual void SetFocus(); @@ -468,8 +464,8 @@ protected: virtual wxDataViewItem GetItemByRow( unsigned int row ) const; virtual int GetRowByItem( const wxDataViewItem & item ) const; - wxDataViewColumn* GetSortingColumn() { return m_sortingColumn; } - void SetSortingColumn( wxDataViewColumn* column ) { m_sortingColumn = column; } + int GetSortingColumnIndex() const { return m_sortingColumnIdx; } + void SetSortingColumnIndex(int idx) { m_sortingColumnIdx = idx; } public: // utility functions not part of the API @@ -482,17 +478,28 @@ public: // utility functions not part of the API // called by header window after reorder void ColumnMoved( wxDataViewColumn* col, unsigned int new_pos ); - // updates the header window after a change in a column setting - void OnColumnChange(); + // update the display after a change to an individual column + void OnColumnChange(unsigned int idx); + + // update after a change to the number of columns + void OnColumnsCountChanged(); wxWindow *GetMainWindow() { return (wxWindow*) m_clientArea; } + // return the index of the given column in m_cols + int GetColumnIndex(const wxDataViewColumn *column) const; + + // return the column displayed at the given position in the control + wxDataViewColumn *GetColumnAt(unsigned int pos) const; + private: wxDataViewColumnList m_cols; wxDataViewModelNotifier *m_notifier; wxDataViewMainWindow *m_clientArea; wxDataViewHeaderWindow *m_headerArea; - wxDataViewColumn *m_sortingColumn; + + // the index of the column currently used for sorting or -1 + int m_sortingColumnIdx; private: void OnSize( wxSizeEvent &event );