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
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
12 #ifndef _WX_GENERIC_STATUSBR_H_
13 #define _WX_GENERIC_STATUSBR_H_
17 #include "wx/statusbr.h"
18 #include "wx/arrstr.h"
20 extern WXDLLEXPORT_DATA(const wxChar
*) wxPanelNameStr
;
22 class WXDLLEXPORT wxStatusBarGeneric
: public wxStatusBarBase
25 wxStatusBarGeneric() { Init(); }
26 wxStatusBarGeneric(wxWindow
*parent
,
28 const wxPoint
& pos
= wxDefaultPosition
,
29 const wxSize
& size
= wxDefaultSize
,
30 long style
= wxFULL_REPAINT_ON_RESIZE
,
31 const wxString
& name
= wxPanelNameStr
)
35 Create(parent
, winid
, pos
, size
, style
, name
);
37 wxStatusBarGeneric(wxWindow
*parent
,
40 const wxString
& name
= wxPanelNameStr
)
44 Create(parent
, winid
, style
, name
);
47 virtual ~wxStatusBarGeneric();
49 bool Create(wxWindow
*parent
, wxWindowID winid
,
50 const wxPoint
& WXUNUSED(pos
) = wxDefaultPosition
,
51 const wxSize
& WXUNUSED(size
) = wxDefaultSize
,
52 long style
= wxFULL_REPAINT_ON_RESIZE
,
53 const wxString
& name
= wxPanelNameStr
)
55 return Create(parent
, winid
, style
, name
);
58 bool Create(wxWindow
*parent
, wxWindowID winid
,
60 const wxString
& name
= wxPanelNameStr
);
63 virtual void SetFieldsCount(int number
= 1,
64 const int *widths
= (const int *) NULL
);
66 // Set status line text
67 virtual void SetStatusText(const wxString
& text
, int number
= 0);
68 virtual wxString
GetStatusText(int number
= 0) const;
70 // Set status line widths
71 virtual void SetStatusWidths(int n
, const int widths_field
[]);
73 // Get the position and size of the field's internal bounding rectangle
74 virtual bool GetFieldRect(int i
, wxRect
& rect
) const;
76 // sets the minimal vertical size of the status bar
77 virtual void SetMinHeight(int height
);
79 virtual int GetBorderX() const { return m_borderX
; }
80 virtual int GetBorderY() const { return m_borderY
; }
82 ////////////////////////////////////////////////////////////////////////
85 virtual void DrawFieldText(wxDC
& dc
, int i
);
86 virtual void DrawField(wxDC
& dc
, int i
);
88 void SetBorderX(int x
);
89 void SetBorderY(int y
);
91 void OnPaint(wxPaintEvent
& event
);
93 void OnLeftDown(wxMouseEvent
& event
);
94 void OnRightDown(wxMouseEvent
& event
);
96 virtual void InitColours();
98 // Responds to colour changes
99 void OnSysColourChanged(wxSysColourChangedEvent
& event
);
102 // common part of all ctors
105 wxArrayString m_statusStrings
;
107 // the last known width of the client rect (used to rebuild cache)
108 int m_lastClientWidth
;
109 // the widths of the status bar panes in pixels
110 wxArrayInt m_widthsAbs
;
114 wxPen m_mediumShadowPen
;
117 virtual wxSize
DoGetBestSize() const;
120 DECLARE_EVENT_TABLE()
121 DECLARE_DYNAMIC_CLASS_NO_COPY(wxStatusBarGeneric
)
125 // _WX_GENERIC_STATUSBR_H_