Restore drawing item focus rectangle in generic wxDataViewCtrl
The current, but not selected, item was not visually marked in any way
since the changes of 4ac0250f90 which
replaced the calls to wxRendererNative::DrawFocusRect() with the calls
to DrawItemSelectionRect() which is not called when the item is not
selected.
Restore DrawFocusRect() call in this case and also pass
wxCONTROL_FOCUSED to DrawItemSelectionRect() even though this doesn't
seem to change much in practice.
Closes https://github.com/wxWidgets/wxWidgets/pull/1089
Closes #18304.
This commit is contained in:
parent
288d26598c
commit
f09b3de914
1 changed files with 19 additions and 1 deletions
|
|
@ -2455,6 +2455,24 @@ void wxDataViewMainWindow::OnPaint( wxPaintEvent &WXUNUSED(event) )
|
|||
colRect.x += colRect.width;
|
||||
}
|
||||
}
|
||||
else // Not using column focus.
|
||||
{
|
||||
flags |= wxCONTROL_CURRENT | wxCONTROL_FOCUSED;
|
||||
|
||||
// We still need to show the current item if it's not
|
||||
// selected.
|
||||
if ( !selected )
|
||||
{
|
||||
wxRendererNative::Get().DrawFocusRect
|
||||
(
|
||||
this,
|
||||
dc,
|
||||
rowRect,
|
||||
flags
|
||||
);
|
||||
}
|
||||
//else: The current item is selected, will be drawn below.
|
||||
}
|
||||
}
|
||||
|
||||
// draw selection and whole-item focus:
|
||||
|
|
@ -2465,7 +2483,7 @@ void wxDataViewMainWindow::OnPaint( wxPaintEvent &WXUNUSED(event) )
|
|||
this,
|
||||
dc,
|
||||
rowRect,
|
||||
flags | wxCONTROL_CURRENT
|
||||
flags
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue