]> git.saurik.com Git - wxWidgets.git/blob - include/wx/palmos/statusbr.h
485e9a1b7b432edfee32bc62b09dc86345c75c34
[wxWidgets.git] / include / wx / palmos / statusbr.h
1 ///////////////////////////////////////////////////////////////////////////////
2 // Name: palmos/statusbr.h
3 // Purpose: Palm OS implementation of wxStatusBar
4 // Author: William Osborne
5 // Modified by:
6 // Created: 10/13/04
7 // RCS-ID: $Id:
8 // Copyright: (c) William Osborne
9 // Licence: wxWindows licence
10 ///////////////////////////////////////////////////////////////////////////////
11
12 #ifndef _WX_STATUSBR_H_
13 #define _WX_STATUSBR_H_
14
15 #if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
16 #pragma interface "statusbr.h"
17 #endif
18
19 #if wxUSE_NATIVE_STATUSBAR
20
21 class WXDLLEXPORT wxStatusBarPalm : public wxStatusBarBase
22 {
23 public:
24 // ctors and such
25 wxStatusBarPalm();
26 wxStatusBarPalm(wxWindow *parent,
27 wxWindowID id = -1,
28 long style = wxST_SIZEGRIP,
29 const wxString& name = wxEmptyString)
30 {
31 (void)Create(parent, id, style, name);
32 }
33
34 bool Create(wxWindow *parent,
35 wxWindowID id = -1,
36 long style = wxST_SIZEGRIP,
37 const wxString& name = wxEmptyString);
38
39 virtual ~wxStatusBarPalm();
40
41 // a status line can have several (<256) fields numbered from 0
42 virtual void SetFieldsCount(int number = 1, const int *widths = NULL);
43
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;
47
48 // set status line fields' widths
49 virtual void SetStatusWidths(int n, const int widths_field[]);
50
51 // sets the minimal vertical size of the status bar
52 virtual void SetMinHeight(int height);
53
54 // get the position and size of the field's internal bounding rectangle
55 virtual bool GetFieldRect(int i, wxRect& rect) const;
56
57 // get the border size
58 virtual int GetBorderX() const;
59 virtual int GetBorderY() const;
60
61 void DrawStatusBar();
62
63 protected:
64 void CopyFieldsWidth(const int widths[]);
65 void SetFieldsWidth();
66
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();
74
75 // override base class virtual
76 void DoMoveWindow(int x, int y, int width, int height);
77
78 private:
79 DECLARE_DYNAMIC_CLASS_NO_COPY(wxStatusBarPalm)
80 };
81
82 #endif // wxUSE_NATIVE_STATUSBAR
83
84 #endif