+ // we don't need to refresh the fields whose width didn't change, so find
+ // the first field whose width did change and refresh starting from it
+ int field;
+ if ( m_statusWidths )
+ {
+ for ( field = 0; field < m_nFields; field++ )
+ {
+ if ( m_statusWidths[field] < 0 )
+ {
+ // var width field
+ break;
+ }
+ }
+ }
+ else // all fields have the same width
+ {
+ // hence all fields widths have changed
+ field = 0;
+ }
+
+ if ( field < m_nFields )
+ {
+ // call this before invalidating the old widths as we want to use them,
+ // not the new ones
+ wxRect rect = DoGetFieldRect(field);