save the current status text for each pane inside wxStatusBarPane: native controls now store the (eventually) ellipsized version of the string; remove code for managing the status strings currently inside the [native|generic] control; add ellipsization support under wxMSW; now that all SetFieldsCount() implementation rrely on wxStatusBarBase::SetFieldsCount document how it behaves when adding new panes.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58786 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -134,7 +134,7 @@ void wxStatusBarUniv::DoDraw(wxControlRenderer *renderer)
|
||||
flags |= wxCONTROL_SIZEGRIP;
|
||||
}
|
||||
|
||||
m_renderer->DrawStatusField(dc, rect, m_statusText[n], flags, m_panes[n].nStyle);
|
||||
m_renderer->DrawStatusField(dc, rect, GetStatusText(n), flags, m_panes[n].nStyle);
|
||||
}
|
||||
|
||||
rect.x += rect.width + borderBetweenFields;
|
||||
@@ -159,24 +159,17 @@ void wxStatusBarUniv::SetStatusText(const wxString& text, int number)
|
||||
wxCHECK_RET( number >= 0 && (size_t)number < m_panes.GetCount(),
|
||||
_T("invalid status bar field index in SetStatusText()") );
|
||||
|
||||
if ( text == m_statusText[number] )
|
||||
if ( text == GetStatusText(number) )
|
||||
{
|
||||
// nothing changed
|
||||
return;
|
||||
}
|
||||
|
||||
m_statusText[number] = text;
|
||||
wxStatusBarBase::SetStatusText(text, number);
|
||||
|
||||
RefreshField(number);
|
||||
}
|
||||
|
||||
wxString wxStatusBarUniv::GetStatusText(int number) const
|
||||
{
|
||||
wxCHECK_MSG( number >= 0 && (size_t)number < m_panes.GetCount(), wxEmptyString,
|
||||
_T("invalid status bar field index") );
|
||||
|
||||
return m_statusText[number];
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// fields count/widths
|
||||
@@ -184,7 +177,6 @@ wxString wxStatusBarUniv::GetStatusText(int number) const
|
||||
|
||||
void wxStatusBarUniv::SetFieldsCount(int number, const int *widths)
|
||||
{
|
||||
m_statusText.SetCount(number);
|
||||
wxStatusBarBase::SetFieldsCount(number, widths);
|
||||
|
||||
m_widthsAbs.Empty();
|
||||
|
||||
Reference in New Issue
Block a user