Don't pop explicitly changed status messages.
Calls to SetStatusText() in between Push/PopStatusText() were simply lost before, now the text explicitly changed by SetStatusText() is preserved by the next call to PopStatusText(). This required adding a new virtual method, called DoUpdateStatusText(), which is now implemented in all the derived classes instead of overriding SetStatusText() (on the bright side, it doesn't need to do any checks already done in the base class any more). Also fix PushStatusText() to actually show the text being pushed at all under wxMSW as a side effect. And further reduce code duplication between wxStatusBarBase and the derived classes. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61624 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -40,20 +40,13 @@ public:
|
||||
long style = wxSTB_DEFAULT_STYLE,
|
||||
const wxString& name = wxPanelNameStr);
|
||||
|
||||
// set field count/widths
|
||||
// implement base class methods
|
||||
virtual void SetFieldsCount(int number = 1, const int *widths = NULL);
|
||||
virtual void SetStatusWidths(int n, const int widths[]);
|
||||
|
||||
// get/set the text of the given field
|
||||
virtual void SetStatusText(const wxString& text, int number = 0);
|
||||
|
||||
// Get the position and size of the field's internal bounding rectangle
|
||||
virtual bool GetFieldRect(int i, wxRect& rect) const;
|
||||
|
||||
// sets the minimal vertical size of the status bar
|
||||
virtual void SetMinHeight(int height);
|
||||
|
||||
// get the dimensions of the horizontal and vertical borders
|
||||
virtual int GetBorderX() const;
|
||||
virtual int GetBorderY() const;
|
||||
|
||||
@@ -62,6 +55,8 @@ public:
|
||||
{ return const_cast<wxStatusBar*>(this); }
|
||||
|
||||
protected:
|
||||
virtual void DoUpdateStatusText(int i);
|
||||
|
||||
// recalculate the field widths
|
||||
void OnSize(wxSizeEvent& event);
|
||||
|
||||
@@ -87,9 +82,6 @@ protected:
|
||||
// get the rect for this field without ani side effects (see code)
|
||||
wxRect DoGetFieldRect(int n) const;
|
||||
|
||||
// refresh the given field
|
||||
void RefreshField(int i);
|
||||
|
||||
// common part of all ctors
|
||||
void Init();
|
||||
|
||||
|
Reference in New Issue
Block a user