]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/dataview/mymodels.h
Always add libwxscintilla in monolithic mode.
[wxWidgets.git] / samples / dataview / mymodels.h
index 7412e9517817db7f1cd5e9402f6ddbc09534d4e0..996bd3ec6e5936b2a75ade1259182c5bf4ce02a3 100644 (file)
@@ -6,7 +6,7 @@
 // Created:     06/01/06
 // RCS-ID:      $Id$
 // Copyright:   (c) Robert Roebling
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 
@@ -124,6 +124,7 @@ public:
     // helper method for wxLog
 
     wxString GetTitle( const wxDataViewItem &item ) const;
+    wxString GetArtist( const wxDataViewItem &item ) const;
     int GetYear( const wxDataViewItem &item ) const;
 
     // helper methods to change the model
@@ -140,7 +141,7 @@ public:
     // 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
 
@@ -162,6 +163,9 @@ public:
     virtual bool SetValue( const wxVariant &variant,
                            const wxDataViewItem &item, unsigned int col );
 
+    virtual bool IsEnabled( const wxDataViewItem &item,
+                            unsigned int col ) const;
+
     virtual wxDataViewItem GetParent( const wxDataViewItem &item ) const;
     virtual bool IsContainer( const wxDataViewItem &item ) const;
     virtual unsigned int GetChildren( const wxDataViewItem &parent,
@@ -187,6 +191,15 @@ private:
 class MyListModel: public wxDataViewVirtualListModel
 {
 public:
+    enum
+    {
+        Col_EditableText,
+        Col_IconText,
+        Col_TextWithAttr,
+        Col_Custom,
+        Col_Max
+    };
+
     MyListModel();
 
     // helper methods to change the model
@@ -201,31 +214,36 @@ public:
 
     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();
-    }
-
     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;
 };
 
+// ----------------------------------------------------------------------------
+// MyListStoreDerivedModel
+// ----------------------------------------------------------------------------
+
+class MyListStoreDerivedModel : public wxDataViewListStore
+{
+public:
+    virtual bool IsEnabledByRow(unsigned int row, unsigned int col) const;
+};