Undo removal of text alignment for wxDataViewCtrl's RenderText()

Revert e2e7d3d391 (Fix wxELLIPSIZE_END with wxALIGN_RIGHT in wxMSW
wxDataViewCtrl, 2016-03-18). This fix is no longer needed after
the previous commit reverted b642747fd2.

Reverting also allows for text to be drawn vertically aligned again
instead of always using top-left alignment. While the difference in
appearance by not having alignment can be minor with default row
heights, it becomes more noticeable with taller rows:
a wxDataViewCheckIconText column with a tall icon will have its text
stuck to the top of a row while other columns have their text vertically
centered. This already occurs by default when not explicitly specifying
an alignment (wxDVR_DEFAULT_ALIGNMENT) which results in
wxALIGN_CENTRE_VERTICAL being used for row alignment when rendering.
This commit is contained in:
Dimitri Schoolwerth
2021-02-13 13:56:54 +01:00
parent 7a8b210dff
commit 9dd88e0159

View File

@@ -1090,17 +1090,12 @@ wxDataViewCustomRendererBase::RenderText(const wxString& text,
if ( !(GetOwner()->GetOwner()->IsEnabled() && GetEnabled()) ) if ( !(GetOwner()->GetOwner()->IsEnabled() && GetEnabled()) )
flags |= wxCONTROL_DISABLED; flags |= wxCONTROL_DISABLED;
// Notice that we intentionally don't use any alignment here: it is not
// necessary because the cell rectangle had been already adjusted to
// account for the alignment in WXCallRender() and using the alignment here
// results in problems with ellipsization when using native MSW renderer,
// see https://trac.wxwidgets.org/ticket/17363, so just don't do it.
wxRendererNative::Get().DrawItemText( wxRendererNative::Get().DrawItemText(
GetOwner()->GetOwner(), GetOwner()->GetOwner(),
*dc, *dc,
text, text,
rectText, rectText,
wxALIGN_NOT, GetEffectiveAlignment(),
flags, flags,
GetEllipsizeMode()); GetEllipsizeMode());
} }