+ // set the widths array to NULL
+ void InitWidths();
+
+ // free the status widths arrays
+ void FreeWidths();
+
+ // reset the widths
+ void ReinitWidths() { FreeWidths(); InitWidths(); }
+
+ // same, for field styles
+ void InitStyles();
+ void FreeStyles();
+ void ReinitStyles() { FreeStyles(); InitStyles(); }
+
+ // same, for text stacks
+ void InitStacks();
+ void FreeStacks();
+ void ReinitStacks() { FreeStacks(); InitStacks(); }
+
+ // calculate the real field widths for the given total available size
+ wxArrayInt CalculateAbsWidths(wxCoord widthTotal) const;
+
+ // use these functions to access the stacks of field strings
+ wxListString *GetStatusStack(int i) const;
+ wxListString *GetOrCreateStatusStack(int i);
+
+ // the current number of fields
+ int m_nFields;
+
+ // the widths of the fields in pixels if !NULL, all fields have the same
+ // width otherwise
+ int *m_statusWidths;
+
+ // the styles of the fields
+ int *m_statusStyles;
+
+ // stacks of previous values for PushStatusText/PopStatusText
+ // this is created on demand, use GetStatusStack/GetOrCreateStatusStack
+ wxListString **m_statusTextStacks;
+
+ DECLARE_NO_COPY_CLASS(wxStatusBarBase)