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;
friend class wxDataViewColumn;
public:
- wxDataViewCtrl() : wxScrollHelperNative(this)
+ wxDataViewCtrl() : wxScrollHelper(this)
{
Init();
}
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 );
}
virtual void Expand( const wxDataViewItem & item );
virtual void Collapse( const wxDataViewItem & item );
+ virtual bool IsExpanded( const wxDataViewItem & item ) const;
virtual void SetFocus();
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
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 );