Don't allow editing "inert" cells in wxDataViewCtrl under OS X.
The cell/renderer mode should override the state at the model level, this is how the generic and (probably?) GTK versions behave. Closes #15911.
This commit is contained in:
committed by
Vadim Zeitlin
parent
a788351eb6
commit
bf4426ac10
@@ -1799,7 +1799,19 @@ outlineView:(NSOutlineView*)outlineView
|
|||||||
// set the state (enabled/disabled) of the item: this must be done first as
|
// set the state (enabled/disabled) of the item: this must be done first as
|
||||||
// even if we return below because the cell is empty, it still needs to be
|
// even if we return below because the cell is empty, it still needs to be
|
||||||
// disabled if it's not supposed to be enabled
|
// disabled if it's not supposed to be enabled
|
||||||
renderer->OSXApplyEnabled(model->IsEnabled(dvItem, colIdx));
|
bool enabled = true;
|
||||||
|
switch ( renderer->GetMode() )
|
||||||
|
{
|
||||||
|
case wxDATAVIEW_CELL_INERT:
|
||||||
|
enabled = false;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case wxDATAVIEW_CELL_ACTIVATABLE:
|
||||||
|
case wxDATAVIEW_CELL_EDITABLE:
|
||||||
|
enabled = model->IsEnabled(dvItem, colIdx);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
renderer->OSXApplyEnabled(enabled);
|
||||||
|
|
||||||
// check if we have anything to render
|
// check if we have anything to render
|
||||||
wxVariant value;
|
wxVariant value;
|
||||||
|
Reference in New Issue
Block a user