]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/dataview.h
Revert the strict aliasing "fix". As per Michael Wetherell it isn't correct as we...
[wxWidgets.git] / include / wx / dataview.h
index 42da39cab3115f5ff8f9b520a0f50a2b75838d08..47c7b9ad1062cd38b499626c9a49c5ddff1e8c51 100644 (file)
@@ -80,9 +80,12 @@ public:
 
     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();
@@ -90,7 +93,7 @@ public:
     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 );
@@ -129,17 +132,16 @@ public:
 
     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;
@@ -200,7 +202,9 @@ public:
     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 );