]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/generic/dataview.h
Remove unused wxLocale::GetUntranslatedString().
[wxWidgets.git] / include / wx / generic / dataview.h
index c2cf345a4c69e5fdec7e227e28d19e7e05dc916d..396c81ba6c93bece57ebe4d4fd26318fd92a25a8 100644 (file)
@@ -3,7 +3,6 @@
 // Purpose:     wxDataViewCtrl generic implementation header
 // Author:      Robert Roebling
 // Modified By: Bo Yang
-// Id:          $Id$
 // Copyright:   (c) 1998 Robert Roebling
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
@@ -70,7 +69,7 @@ public:
 
     virtual bool IsSortKey() const { return m_sort; }
 
-    virtual void UnsetAsSortKey() { m_sort = false; UpdateDisplay(); }
+    virtual void UnsetAsSortKey();
 
     virtual void SetSortOrder(bool ascending);
 
@@ -182,6 +181,8 @@ public:
 
     virtual void SetFocus();
 
+    virtual bool SetFont(const wxFont & font);
+
 #if wxUSE_DRAG_AND_DROP
     virtual bool EnableDragSource( const wxDataFormat &format );
     virtual bool EnableDropTarget( const wxDataFormat &format );
@@ -199,6 +200,8 @@ public:
 protected:
     virtual void EnsureVisible( int row, int column );
 
+    // Notice that row here may be invalid (i.e. >= GetRowCount()), this is not
+    // an error and this function simply returns an invalid item in this case.
     virtual wxDataViewItem GetItemByRow( unsigned int row ) const;
     virtual int GetRowByItem( const wxDataViewItem & item ) const;
 
@@ -240,10 +243,18 @@ private:
     void UpdateColWidths();
 
     wxDataViewColumnList      m_cols;
-    // cached column best widths or 0 if not computed, values are for
+    // cached column best widths information, values are for
     // respective columns from m_cols and the arrays have same size
-    wxVector<int>             m_colsBestWidths;
-    // m_colsBestWidths partially invalid, needs recomputing
+    struct CachedColWidthInfo
+    {
+        CachedColWidthInfo() : width(0), dirty(true) {}
+        int width;  // cached width or 0 if not computed
+        bool dirty; // column was invalidated, header needs updating
+    };
+    wxVector<CachedColWidthInfo> m_colsBestWidths;
+    // This indicates that at least one entry in m_colsBestWidths has 'dirty'
+    // flag set. It's cheaper to check one flag in OnInternalIdle() than to
+    // iterate over m_colsBestWidths to check if anything needs to be done.
     bool                      m_colsDirty;
 
     wxDataViewModelNotifier  *m_notifier;