]> git.saurik.com Git - wxWidgets.git/blame - include/wx/msw/statusbar.h
define HAVE_LARGEFILE_SUPPORT in setup.h when large files support is available and...
[wxWidgets.git] / include / wx / msw / statusbar.h
CommitLineData
2bda0e17 1///////////////////////////////////////////////////////////////////////////////
936f6353 2// Name: wx/msw/statbr.h
2bda0e17
KB
3// Purpose: native implementation of wxStatusBar
4// Author: Vadim Zeitlin
a79fa1ed 5// Modified by:
2bda0e17
KB
6// Created: 04.04.98
7// RCS-ID: $Id$
8// Copyright: (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
65571936 9// Licence: wxWindows licence
2bda0e17
KB
10///////////////////////////////////////////////////////////////////////////////
11
936f6353
VZ
12#ifndef _WX_MSW_STATUSBAR_H_
13#define _WX_MSW_STATUSBAR_H_
2bda0e17 14
ed791986 15#if wxUSE_NATIVE_STATUSBAR
2bda0e17 16
6418ad5e
FM
17#include "wx/vector.h"
18#include "wx/tooltip.h"
19
22b476f1 20class WXDLLIMPEXP_FWD_CORE wxClientDC;
0cd15959 21
53a2db12 22class WXDLLIMPEXP_CORE wxStatusBar : public wxStatusBarBase
2bda0e17 23{
2bda0e17 24public:
ed791986 25 // ctors and such
936f6353
VZ
26 wxStatusBar();
27 wxStatusBar(wxWindow *parent,
28 wxWindowID id = wxID_ANY,
c4c178c1 29 long style = wxSTB_DEFAULT_STYLE,
936f6353 30 const wxString& name = wxStatusBarNameStr)
ed791986 31 {
80255b7e 32 m_pDC = NULL;
ed791986
VZ
33 (void)Create(parent, id, style, name);
34 }
35
36 bool Create(wxWindow *parent,
57f4f925 37 wxWindowID id = wxID_ANY,
c4c178c1 38 long style = wxSTB_DEFAULT_STYLE,
53b6d7a2 39 const wxString& name = wxStatusBarNameStr);
ed791986 40
936f6353 41 virtual ~wxStatusBar();
2bda0e17 42
ed791986
VZ
43 // a status line can have several (<256) fields numbered from 0
44 virtual void SetFieldsCount(int number = 1, const int *widths = NULL);
2bda0e17 45
ed791986 46 // each field of status line has it's own text
6418ad5e 47 virtual void SetStatusText(const wxString& text, int number = 0);
2bda0e17 48
ed791986
VZ
49 // set status line fields' widths
50 virtual void SetStatusWidths(int n, const int widths_field[]);
2bda0e17 51
c2919ab3
VZ
52 // set status line fields' styles
53 virtual void SetStatusStyles(int n, const int styles[]);
54
ed791986
VZ
55 // sets the minimal vertical size of the status bar
56 virtual void SetMinHeight(int height);
2bda0e17 57
ed791986
VZ
58 // get the position and size of the field's internal bounding rectangle
59 virtual bool GetFieldRect(int i, wxRect& rect) const;
2bda0e17 60
ed791986
VZ
61 // get the border size
62 virtual int GetBorderX() const;
63 virtual int GetBorderY() const;
64
0cd15959
FM
65 virtual bool SetFont(const wxFont& font);
66
6f02a879
VZ
67 virtual WXLRESULT MSWWindowProc(WXUINT nMsg,
68 WXWPARAM wParam,
69 WXLPARAM lParam);
6418ad5e 70
2bda0e17 71protected:
ed791986
VZ
72 void CopyFieldsWidth(const int widths[]);
73 void SetFieldsWidth();
0cd15959 74 void UpdateFieldText(int nField);
ed791986 75
c0ac3149
VZ
76 // override some base class virtuals
77 virtual wxSize DoGetBestSize() const;
78 virtual void DoMoveWindow(int x, int y, int width, int height);
6418ad5e
FM
79#if wxUSE_TOOLTIPS
80 virtual bool MSWProcessMessage(WXMSG* pMsg);
81 virtual bool MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM* result);
82#endif
cbc66a27 83
0cd15959
FM
84 // used by UpdateFieldText
85 wxClientDC *m_pDC;
86
6418ad5e
FM
87 // the tooltips used when wxSTB_SHOW_TIPS is given
88 wxVector<wxToolTip*> m_tooltips;
89
ed791986 90private:
936f6353 91 DECLARE_DYNAMIC_CLASS_NO_COPY(wxStatusBar)
2bda0e17
KB
92};
93
47d67540 94#endif // wxUSE_NATIVE_STATUSBAR
2bda0e17 95
936f6353 96#endif // _WX_MSW_STATUSBAR_H_