// override sorting to always sort branches ascendingly
int Compare( const wxDataViewItem &item1, const wxDataViewItem &item2,
- unsigned int column, bool ascending );
+ unsigned int column, bool ascending ) const;
// implementation of base class virtuals to define model
class MyListModel: public wxDataViewVirtualListModel
{
public:
+ enum
+ {
+ Col_EditableText,
+ Col_IconText,
+ Col_TextWithAttr,
+ Col_Custom,
+ Col_Max
+ };
+
MyListModel();
// helper methods to change the model
virtual unsigned int GetColumnCount() const
{
- return 3;
+ return Col_Max;
}
virtual wxString GetColumnType( unsigned int col ) const
{
- if (col == 1)
+ if (col == Col_IconText)
return wxT("wxDataViewIconText");
return wxT("string");
virtual unsigned int GetRowCount()
{
- return m_array.GetCount();
+ return m_textColValues.GetCount();
}
virtual void GetValueByRow( wxVariant &variant,
unsigned int row, unsigned int col ) const;
- virtual bool GetAttrByRow( unsigned int row, unsigned int col, wxDataViewItemAttr &attr );
+ virtual bool GetAttrByRow( unsigned int row, unsigned int col,
+ wxDataViewItemAttr &attr ) const;
virtual bool SetValueByRow( const wxVariant &variant,
unsigned int row, unsigned int col );
private:
- wxArrayString m_array;
+ wxArrayString m_textColValues;
+ wxArrayString m_iconColValues;
wxIcon m_icon[2];
int m_virtualItems;
};