| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- ///////////////////////////////////////////////////////////////////////////////
- // Name: wx/msw/statusbar.h
- // Purpose: native implementation of wxStatusBar
- // Author: Vadim Zeitlin
- // Modified by:
- // Created: 04.04.98
- // Copyright: (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
- // Licence: wxWindows licence
- ///////////////////////////////////////////////////////////////////////////////
- #ifndef _WX_MSW_STATUSBAR_H_
- #define _WX_MSW_STATUSBAR_H_
- #if wxUSE_NATIVE_STATUSBAR
- #include "wx/vector.h"
- #include "wx/tooltip.h"
- class WXDLLIMPEXP_FWD_CORE wxClientDC;
- class WXDLLIMPEXP_CORE wxStatusBar : public wxStatusBarBase
- {
- public:
- // ctors and such
- wxStatusBar();
- wxStatusBar(wxWindow *parent,
- wxWindowID id = wxID_ANY,
- long style = wxSTB_DEFAULT_STYLE,
- const wxString& name = wxStatusBarNameStr)
- {
- m_pDC = NULL;
- (void)Create(parent, id, style, name);
- }
- bool Create(wxWindow *parent,
- wxWindowID id = wxID_ANY,
- long style = wxSTB_DEFAULT_STYLE,
- const wxString& name = wxStatusBarNameStr);
- virtual ~wxStatusBar();
- // implement base class methods
- virtual void SetFieldsCount(int number = 1, const int *widths = NULL);
- virtual void SetStatusWidths(int n, const int widths_field[]);
- virtual void SetStatusStyles(int n, const int styles[]);
- virtual void SetMinHeight(int height);
- virtual bool GetFieldRect(int i, wxRect& rect) const;
- virtual int GetBorderX() const;
- virtual int GetBorderY() const;
- // override some wxWindow virtual methods too
- virtual bool SetFont(const wxFont& font);
- virtual WXLRESULT MSWWindowProc(WXUINT nMsg,
- WXWPARAM wParam,
- WXLPARAM lParam);
- protected:
- // implement base class pure virtual method
- virtual void DoUpdateStatusText(int number);
- // override some base class virtuals
- virtual WXDWORD MSWGetStyle(long flags, WXDWORD *exstyle = NULL) const;
- virtual wxSize DoGetBestSize() const;
- virtual void DoMoveWindow(int x, int y, int width, int height);
- #if wxUSE_TOOLTIPS
- virtual bool MSWProcessMessage(WXMSG* pMsg);
- virtual bool MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM* result);
- #endif
- // implementation of the public SetStatusWidths()
- void MSWUpdateFieldsWidths();
- // used by DoUpdateStatusText()
- wxClientDC *m_pDC;
- #if wxUSE_TOOLTIPS
- // the tooltips used when wxSTB_SHOW_TIPS is given
- wxVector<wxToolTip*> m_tooltips;
- #endif
- private:
- struct MSWBorders
- {
- int horz,
- vert,
- between;
- };
- // retrieve all status bar borders using SB_GETBORDERS
- MSWBorders MSWGetBorders() const;
- // return the size of the border between the fields
- int MSWGetBorderWidth() const;
- struct MSWMetrics
- {
- int gripWidth,
- textMargin;
- };
- // return the various status bar metrics
- static const MSWMetrics& MSWGetMetrics();
- DECLARE_DYNAMIC_CLASS_NO_COPY(wxStatusBar)
- };
- #endif // wxUSE_NATIVE_STATUSBAR
- #endif // _WX_MSW_STATUSBAR_H_
|