1 ///////////////////////////////////////////////////////////////////////////////
2 // Name: wx/palmos/statusbr.h
3 // Purpose: Palm OS implementation of wxStatusBar
4 // Author: William Osborne - minimal working wxPalmOS port
8 // Copyright: (c) William Osborne
9 // Licence: wxWindows licence
10 ///////////////////////////////////////////////////////////////////////////////
12 #ifndef _WX_STATUSBR_H_
13 #define _WX_STATUSBR_H_
15 #if wxUSE_NATIVE_STATUSBAR
17 class WXDLLIMPEXP_CORE wxStatusBarPalm
: public wxStatusBarBase
22 wxStatusBarPalm(wxWindow
*parent
,
23 wxWindowID id
= wxID_ANY
,
24 long style
= wxSTB_DEFAULT_STYLE
,
25 const wxString
& name
= wxEmptyString
)
27 (void)Create(parent
, id
, style
, name
);
30 bool Create(wxWindow
*parent
,
31 wxWindowID id
= wxID_ANY
,
32 long style
= wxSTB_DEFAULT_STYLE
,
33 const wxString
& name
= wxEmptyString
);
35 virtual ~wxStatusBarPalm();
37 // for native status bar use native check for visibility
38 virtual bool IsShown() const;
39 virtual bool Show( bool show
= true );
41 // a status line can have several (<256) fields numbered from 0
42 virtual void SetFieldsCount(int number
= 1, const int *widths
= NULL
);
44 // each field of status line has it's own text
45 virtual void SetStatusText(const wxString
& text
, int number
= 0);
46 virtual wxString
GetStatusText(int number
= 0) const;
48 // set status line fields' widths
49 virtual void SetStatusWidths(int n
, const int widths_field
[]);
51 // sets the minimal vertical size of the status bar
52 virtual void SetMinHeight(int height
);
54 // get the position and size of the field's internal bounding rectangle
55 virtual bool GetFieldRect(int i
, wxRect
& rect
) const;
57 // get the border size
58 virtual int GetBorderX() const;
59 virtual int GetBorderY() const;
64 void CopyFieldsWidth(const int widths
[]);
65 void SetFieldsWidth();
67 // store the text in the status bar
68 wxListString **StatusTextBuffer;
69 void SetStatusBufferText(const wxString& text, int number);
70 wxString GetStatusBufferText(int number);
71 wxListString *GetOrCreateStatusBuffer(int i);
72 wxListString *GetStatusBufferStack(int i) const;
73 void DeleteStatusBuffer();
75 TODO: reuse wxStatusBarBase's stack routines instead of reimplementing them here
78 // override base class virtual
79 void DoMoveWindow(int x
, int y
, int width
, int height
);
82 DECLARE_DYNAMIC_CLASS_NO_COPY(wxStatusBarPalm
)
85 #endif // wxUSE_NATIVE_STATUSBAR