]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/dataview.h
remove SetBackgroundStyle call from OnInternalIdle, it should be done from realize...
[wxWidgets.git] / include / wx / dataview.h
index c99fe07fe7a3053d6019fc296dfdd511ccb4863e..1252be4a4349d7d4994d581a636fc0e7be09f419 100644 (file)
@@ -143,6 +143,7 @@ public:
     void SetColour(const wxColour& colour) { m_colour = colour; }
     void SetBold( bool set ) { m_bold = set; }
     void SetItalic( bool set ) { m_italic = set; }
     void SetColour(const wxColour& colour) { m_colour = colour; }
     void SetBold( bool set ) { m_bold = set; }
     void SetItalic( bool set ) { m_italic = set; }
+    void SetBackgroundColour(const wxColour& colour)  { m_bgColour = colour; }
 
     // accessors
     bool HasColour() const { return m_colour.IsOk(); }
 
     // accessors
     bool HasColour() const { return m_colour.IsOk(); }
@@ -152,7 +153,10 @@ public:
     bool GetBold() const { return m_bold; }
     bool GetItalic() const { return m_italic; }
 
     bool GetBold() const { return m_bold; }
     bool GetItalic() const { return m_italic; }
 
-    bool IsDefault() const { return !(HasColour() || HasFont()); }
+    bool HasBackgroundColour() const { return m_bgColour.IsOk(); }
+    const wxColour& GetBackgroundColour() const { return m_bgColour; }
+
+    bool IsDefault() const { return !(HasColour() || HasFont() || HasBackgroundColour()); }
 
     // Return the font based on the given one with this attribute applied to it.
     wxFont GetEffectiveFont(const wxFont& font) const;
 
     // Return the font based on the given one with this attribute applied to it.
     wxFont GetEffectiveFont(const wxFont& font) const;
@@ -161,6 +165,7 @@ private:
     wxColour m_colour;
     bool     m_bold;
     bool     m_italic;
     wxColour m_colour;
     bool     m_bold;
     bool     m_italic;
+    wxColour m_bgColour;
 };
 
 
 };
 
 
@@ -663,7 +668,15 @@ public:
     wxDataViewItem GetCurrentItem() const;
     void SetCurrentItem(const wxDataViewItem& item);
 
     wxDataViewItem GetCurrentItem() const;
     void SetCurrentItem(const wxDataViewItem& item);
 
-    virtual wxDataViewItem GetSelection() const = 0;
+    // Selection: both GetSelection() and GetSelections() can be used for the
+    // controls both with and without wxDV_MULTIPLE style. For single selection
+    // controls GetSelections() is not very useful however. And for multi
+    // selection controls GetSelection() returns an invalid item if more than
+    // one item is selected. Use GetSelectedItemsCount() or HasSelection() to
+    // check if any items are selected at all.
+    virtual int GetSelectedItemsCount() const = 0;
+    bool HasSelection() const { return GetSelectedItemsCount() != 0; }
+    wxDataViewItem GetSelection() const;
     virtual int GetSelections( wxDataViewItemArray & sel ) const = 0;
     virtual void SetSelections( const wxDataViewItemArray & sel ) = 0;
     virtual void Select( const wxDataViewItem & item ) = 0;
     virtual int GetSelections( wxDataViewItemArray & sel ) const = 0;
     virtual void SetSelections( const wxDataViewItemArray & sel ) = 0;
     virtual void Select( const wxDataViewItem & item ) = 0;