Add the possibility to disable invisible wxDataViewCtrl items.
Add new wxDataViewModel::IsEnabled() and wxDataViewListStore::IsEnabledByRow() methods and implement support for actually disabling the items in wxOSX/Cocoa native implementation of wxDataViewCtrl and limited support for it in the generic version. We need to implement this in wxGTK using GtkCellRenderer "sensitive" propriety later. Closes #12686. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66403 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -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; }
|
||||
};
|
||||
|
Reference in New Issue
Block a user