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;
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
// 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 );