1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/generic/statusbr.h
3 // Purpose: wxStatusBarGeneric class
4 // Author: Julian Smart
5 // Modified by: VZ at 05.02.00 to derive from wxStatusBarBase
8 // Copyright: (c) Julian Smart and Markus Holzem
9 // Licence: wxWindows license
10 /////////////////////////////////////////////////////////////////////////////
12 #ifndef _WX_GENERIC_STATUSBR_H_
13 #define _WX_GENERIC_STATUSBR_H_
15 #if defined(__GNUG__) && !defined(__APPLE__)
16 #pragma interface "statusbr.h"
21 #include "wx/statusbr.h"
23 WXDLLEXPORT_DATA(extern const wxChar
*) wxPanelNameStr
;
25 class WXDLLEXPORT wxStatusBarGeneric
: public wxStatusBarBase
28 wxStatusBarGeneric() { Init(); }
29 wxStatusBarGeneric(wxWindow
*parent
,
31 const wxPoint
& pos
= wxDefaultPosition
,
32 const wxSize
& size
= wxDefaultSize
,
34 const wxString
& name
= wxPanelNameStr
)
38 Create(parent
, id
, pos
, size
, style
, name
);
40 wxStatusBarGeneric(wxWindow
*parent
,
43 const wxString
& name
= wxPanelNameStr
)
47 Create(parent
, id
, style
, name
);
50 virtual ~wxStatusBarGeneric();
52 bool Create(wxWindow
*parent
, wxWindowID id
,
53 const wxPoint
& WXUNUSED(pos
) = wxDefaultPosition
,
54 const wxSize
& WXUNUSED(size
) = wxDefaultSize
,
56 const wxString
& name
= wxPanelNameStr
)
58 return Create(parent
, id
, style
, name
);
61 bool Create(wxWindow
*parent
, wxWindowID id
,
63 const wxString
& name
= wxPanelNameStr
);
66 virtual void SetFieldsCount(int number
= 1,
67 const int *widths
= (const int *) NULL
);
69 // Set status line text
70 virtual void SetStatusText(const wxString
& text
, int number
= 0);
71 virtual wxString
GetStatusText(int number
= 0) const;
73 // Set status line widths
74 virtual void SetStatusWidths(int n
, const int widths_field
[]);
76 // Get the position and size of the field's internal bounding rectangle
77 virtual bool GetFieldRect(int i
, wxRect
& rect
) const;
79 // sets the minimal vertical size of the status bar
80 virtual void SetMinHeight(int height
);
82 virtual int GetBorderX() const { return m_borderX
; }
83 virtual int GetBorderY() const { return m_borderY
; }
85 ////////////////////////////////////////////////////////////////////////
88 virtual void DrawFieldText(wxDC
& dc
, int i
);
89 virtual void DrawField(wxDC
& dc
, int i
);
91 void SetBorderX(int x
);
92 void SetBorderY(int y
);
94 void OnPaint(wxPaintEvent
& event
);
96 void OnLeftDown(wxMouseEvent
& event
);
97 void OnRightDown(wxMouseEvent
& event
);
99 virtual void InitColours();
101 // Responds to colour changes
102 void OnSysColourChanged(wxSysColourChangedEvent
& event
);
105 // common part of all ctors
108 wxArrayString m_statusStrings
;
110 // the last known width of the client rect (used to rebuild cache)
111 int m_lastClientWidth
;
112 // the widths of the status bar panes in pixels
113 wxArrayInt m_widthsAbs
;
117 wxFont m_defaultStatusBarFont
;
118 wxPen m_mediumShadowPen
;
122 DECLARE_EVENT_TABLE()
123 DECLARE_DYNAMIC_CLASS(wxStatusBarGeneric
)
127 // _WX_GENERIC_STATUSBR_H_