virtual size_t GetNumberOfRows() = 0;
virtual size_t GetNumberOfCols() = 0;
- // as reported by wxVariant
+ // return type as reported by wxVariant
virtual wxString GetColType( size_t col ) = 0;
+ // get value into a wxVariant
virtual wxVariant GetValue( size_t col, size_t row ) = 0;
+ // set value, call ValueChanged() afterwards!
+ virtual bool SetValue( wxVariant &variant, size_t col, size_t row ) = 0;
// delegated notifiers
bool RowAppended();
bool RowInserted( size_t before );
bool RowDeleted( size_t row );
bool RowChanged( size_t row );
- bool ValueChanged( size_t row, size_t col );
+ bool ValueChanged( size_t col, size_t row );
bool Cleared();
void SetNotifier( wxDataViewListModelNotifier *notifier );
virtual bool SetValue( const wxVariant &value ) { return true; }
virtual bool GetValue( wxVariant &value ) { return true; }
+ virtual bool Validate( wxVariant &value ) { return true; }
virtual bool BeginEdit() { return true; }
virtual bool EndEdit() { return true; }
- virtual bool Render( wxRect cell, wxRect exposed, wxDC *dc, int state ) { return true; }
+ wxString GetVariantType() { return m_variantType; }
void SetOwner( wxDataViewColumn *owner ) { m_owner = owner; }
wxDataViewColumn* GetOwner() { return m_owner; }
- wxString GetVariantType() { return m_variantType; }
-
-private:
+protected:
wxDataViewCellMode m_mode;
wxString m_variantType;
wxDataViewColumn *m_owner;
virtual bool AssociateModel( wxDataViewListModel *model );
wxDataViewListModel* GetModel();
- virtual bool AppendStringColumn( const wxString &label, size_t model_column );
+ virtual bool AppendTextColumn( const wxString &label, size_t model_column );
+ virtual bool AppendToggleColumn( const wxString &label, size_t model_column );
+ virtual bool AppendProgressColumn( const wxString &label, size_t model_column );
virtual bool AppendColumn( wxDataViewColumn *col );
virtual size_t GetNumberOfColumns();
virtual bool DeleteColumn( size_t pos );