X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/86755098f52bd0f2c180d2d5ed2202c5d0e25df2..f2049b683752950d1fe91aec07318e7f2122ff16:/include/wx/dataview.h?ds=sidebyside diff --git a/include/wx/dataview.h b/include/wx/dataview.h index 8950f40567..be3ce240a8 100644 --- a/include/wx/dataview.h +++ b/include/wx/dataview.h @@ -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; } @@ -234,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; @@ -304,6 +311,12 @@ 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; @@ -344,6 +357,11 @@ 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; } }; @@ -683,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; } @@ -739,7 +763,8 @@ public: m_column(NULL), m_pos(-1,-1), m_cacheFrom(0), - m_cacheTo(0) + m_cacheTo(0), + m_editCancelled(false) #if wxUSE_DRAG_AND_DROP , m_dataObject(NULL), m_dataBuffer(NULL), @@ -754,9 +779,10 @@ 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) + m_cacheTo(event.m_cacheTo), + m_editCancelled(event.m_editCancelled) #if wxUSE_DRAG_AND_DROP , m_dataObject(event.m_dataObject), m_dataFormat(event.m_dataFormat), @@ -777,6 +803,10 @@ public: const wxVariant &GetValue() const { return m_value; } void SetValue( const wxVariant &value ) { m_value = value; } + // for wxEVT_COMMAND_DATAVIEW_ITEM_EDITING_DONE only + bool IsEditCancelled() const { return m_editCancelled; } + void SetEditCanceled(bool editCancelled) { m_editCancelled = editCancelled; } + // for wxEVT_DATAVIEW_COLUMN_HEADER_CLICKED only void SetDataViewColumn( wxDataViewColumn *col ) { m_column = col; } wxDataViewColumn *GetDataViewColumn() const { return m_column; } @@ -816,6 +846,7 @@ protected: wxPoint m_pos; int m_cacheFrom; int m_cacheTo; + bool m_editCancelled; #if wxUSE_DRAG_AND_DROP wxDataObject *m_dataObject;