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:
Francesco Montorsi
2009-02-09 00:33:19 +00:00
parent 4879f2120c
commit 0cd159592e
11 changed files with 117 additions and 90 deletions

View File

@@ -14,6 +14,8 @@
#if wxUSE_NATIVE_STATUSBAR
class WXDLLIMPEXP_CORE wxClientDC;
class WXDLLIMPEXP_CORE wxStatusBar : public wxStatusBarBase
{
public:
@@ -39,7 +41,6 @@ public:
// each field of status line has it's own text
virtual void SetStatusText(const wxString& text, int number = 0);
virtual wxString GetStatusText(int number = 0) const;
// set status line fields' widths
virtual void SetStatusWidths(int n, const int widths_field[]);
@@ -57,17 +58,23 @@ public:
virtual int GetBorderX() const;
virtual int GetBorderY() const;
virtual bool SetFont(const wxFont& font);
virtual WXLRESULT MSWWindowProc(WXUINT nMsg,
WXWPARAM wParam,
WXLPARAM lParam);
protected:
void CopyFieldsWidth(const int widths[]);
void SetFieldsWidth();
void UpdateFieldText(int nField);
// override some base class virtuals
virtual wxSize DoGetBestSize() const;
virtual void DoMoveWindow(int x, int y, int width, int height);
// used by UpdateFieldText
wxClientDC *m_pDC;
private:
DECLARE_DYNAMIC_CLASS_NO_COPY(wxStatusBar)
};