X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/673810eeb8e16599b599f3a851692c323bc20165..f2b099261f9e46d65f1fbcfd2a35aa816d5a2818:/include/wx/dataview.h diff --git a/include/wx/dataview.h b/include/wx/dataview.h index b0c7fde7af..d816a2c558 100644 --- a/include/wx/dataview.h +++ b/include/wx/dataview.h @@ -125,9 +125,9 @@ public: virtual bool ItemsChanged( const wxDataViewItemArray &items ); virtual bool ValueChanged( const wxDataViewItem &item, unsigned int col ) = 0; virtual bool Cleared() = 0; - - // this is needed for the virtual list model under GTK+ - virtual bool BeforeReset( size_t WXUNUSED(old_size), size_t WXUNUSED(new_size) ) { return true; } + + // some platforms, such as GTK+, may need a two step procedure for ::Reset() + virtual bool BeforeReset() { return true; } virtual bool AfterReset() { return Cleared(); } virtual void Resort() = 0; @@ -163,7 +163,7 @@ public: void SetItalic( bool set ) { m_italic = set; } // accessors - bool HasColour() const { return m_colour.Ok(); } + bool HasColour() const { return m_colour.IsOk(); } const wxColour& GetColour() const { return m_colour; } bool HasFont() const { return m_bold || m_italic; } @@ -172,6 +172,9 @@ public: bool IsDefault() const { return !(HasColour() || HasFont()); } + // Return the font based on the given one with this attribute applied to it. + wxFont GetEffectiveFont(const wxFont& font) const; + private: wxColour m_colour; bool m_bold; @@ -231,6 +234,13 @@ public: return false; } + // Override this if you want to disable specific items + virtual bool IsEnabled(const wxDataViewItem &WXUNUSED(item), + unsigned int WXUNUSED(col)) const + { + return true; + } + // define hierachy virtual wxDataViewItem GetParent( const wxDataViewItem &item ) const = 0; virtual bool IsContainer( const wxDataViewItem &item ) const = 0; @@ -249,8 +259,8 @@ public: bool ValueChanged( const wxDataViewItem &item, unsigned int col ); bool Cleared(); - // this is needed for the virtual list model under GTK+ - bool BeforeReset( size_t old_size, size_t new_size ); + // some platforms, such as GTK+, may need a two step procedure for ::Reset() + bool BeforeReset(); bool AfterReset(); @@ -301,10 +311,18 @@ public: return false; } + virtual bool IsEnabledByRow(unsigned int WXUNUSED(row), + unsigned int WXUNUSED(col)) const + { + return true; + } + // helper methods provided by list models only virtual unsigned GetRow( const wxDataViewItem &item ) const = 0; + // returns the number of rows + virtual unsigned int GetCount() const = 0; // implement some base class pure virtual directly virtual wxDataViewItem @@ -339,6 +357,12 @@ public: return GetAttrByRow( GetRow(item), col, attr ); } + virtual bool IsEnabled(const wxDataViewItem &item, unsigned int col) const + { + return IsEnabledByRow( GetRow(item), col ); + } + + virtual bool IsListModel() const { return true; } }; @@ -677,6 +701,12 @@ public: virtual void HitTest( const wxPoint & point, wxDataViewItem &item, wxDataViewColumn* &column ) const = 0; virtual wxRect GetItemRect( const wxDataViewItem & item, const wxDataViewColumn *column = NULL ) const = 0; + virtual bool SetRowHeight( int WXUNUSED(rowHeight) ) { return false; } + + virtual void StartEditor( const wxDataViewItem & WXUNUSED(item), + unsigned int WXUNUSED(column) ) + { } + #if wxUSE_DRAG_AND_DROP virtual bool EnableDragSource(const wxDataFormat& WXUNUSED(format)) { return false; } @@ -748,7 +778,7 @@ public: m_model(event.m_model), m_value(event.m_value), m_column(event.m_column), - m_pos(m_pos), + m_pos(event.m_pos), m_cacheFrom(event.m_cacheFrom), m_cacheTo(event.m_cacheTo) #if wxUSE_DRAG_AND_DROP @@ -1148,7 +1178,7 @@ public: wxDataViewItem GetNthChild( const wxDataViewItem& parent, unsigned int pos ) const; int GetChildCount( const wxDataViewItem& parent ) const; - + void SetItemText( const wxDataViewItem& item, const wxString &text ); wxString GetItemText( const wxDataViewItem& item ) const; void SetItemIcon( const wxDataViewItem& item, const wxIcon &icon );