]> git.saurik.com Git - wxWidgets.git/blob - include/wx/os2/toolbar.h
Fix some GCC 3.1 compilation warnings
[wxWidgets.git] / include / wx / os2 / toolbar.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: toolbar.h
3 // Purpose: wxToolBar class
4 // Author: David Webster
5 // Modified by:
6 // Created: 10/17/98
7 // RCS-ID: $Id$
8 // Copyright: (c) David Webster
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11
12 #ifndef _WX_TOOLBAR_H_
13 #define _WX_TOOLBAR_H_
14
15 #if wxUSE_TOOLBAR
16 #include "wx/tbarbase.h"
17
18 class WXDLLEXPORT wxToolBar: public wxToolBarBase
19 {
20 public:
21 /*
22 * Public interface
23 */
24
25 wxToolBar() { Init(); }
26
27 inline wxToolBar( wxWindow* pParent
28 ,wxWindowID vId
29 ,const wxPoint& rPos = wxDefaultPosition
30 ,const wxSize& rSize = wxDefaultSize
31 ,long lStyle = wxNO_BORDER | wxTB_HORIZONTAL
32 ,const wxString& rName = wxToolBarNameStr
33 )
34 {
35 Init();
36 Create( pParent
37 ,vId
38 ,rPos
39 ,rSize
40 ,lStyle
41 ,rName
42 );
43 }
44 virtual ~wxToolBar();
45
46 bool Create( wxWindow* pParent
47 ,wxWindowID vId
48 ,const wxPoint& rPos = wxDefaultPosition
49 ,const wxSize& rSize = wxDefaultSize
50 ,long lStyle = wxNO_BORDER | wxTB_HORIZONTAL
51 ,const wxString& rName = wxToolBarNameStr
52 );
53
54
55 //
56 // Override/implement base class virtuals
57 //
58 virtual wxToolBarToolBase* FindToolForPosition( wxCoord vX
59 ,wxCoord vY
60 ) const;
61 virtual bool Realize(void);
62 virtual void SetRows(int nRows);
63
64 //
65 // Event handlers
66 //
67 void OnPaint(wxPaintEvent& event);
68 void OnSize(wxSizeEvent& event);
69 void OnMouseEvent(wxMouseEvent& event);
70 void OnKillFocus(wxFocusEvent& event);
71
72 protected:
73 //
74 // Common part of all ctors
75 //
76 void Init();
77
78 //
79 // Implement base class pure virtuals
80 //
81 virtual wxToolBarToolBase* DoAddTool( int id
82 ,const wxString& label
83 ,const wxBitmap& bitmap
84 ,const wxBitmap& bmpDisabled
85 ,wxItemKind kind
86 ,const wxString& shortHelp = wxEmptyString
87 ,const wxString& longHelp = wxEmptyString
88 ,wxObject *clientData = NULL
89 ,wxCoord xPos = -1
90 ,wxCoord yPos = -1
91 );
92
93 virtual bool DoInsertTool( size_t nPos
94 ,wxToolBarToolBase* pTool
95 );
96 virtual bool DoDeleteTool( size_t nPos
97 , wxToolBarToolBase* pTool
98 );
99
100 virtual void DoEnableTool( wxToolBarToolBase* pTool
101 ,bool bEnable
102 );
103 virtual void DoToggleTool( wxToolBarToolBase* pTool
104 ,bool bToggle
105 );
106 virtual void DoSetToggle( wxToolBarToolBase* pTool
107 ,bool bToggle
108 );
109
110 virtual wxToolBarToolBase* CreateTool( int vId
111 ,const wxString& rsLabel
112 ,const wxBitmap& rBmpNormal
113 ,const wxBitmap& rBmpDisabled
114 ,wxItemKind eKind
115 ,wxObject* pClientData
116 ,const wxString& rsShortHelp
117 ,const wxString& rsLongHelp
118 );
119 virtual wxToolBarToolBase* CreateTool(wxControl* pControl);
120
121 //
122 // Helpers
123 //
124 void DrawTool(wxToolBarToolBase *tool);
125 virtual void DrawTool( wxDC& rDC
126 ,wxToolBarToolBase* pTool
127 );
128 virtual void SpringUpButton(int nIndex);
129
130 int m_nCurrentRowsOrColumns;
131 int m_nPressedTool;
132 int m_nCurrentTool;
133 wxCoord m_vLastX;
134 wxCoord m_vLastY;
135 wxCoord m_vMaxWidth;
136 wxCoord m_vMaxHeight;
137 wxCoord m_vXPos;
138 wxCoord m_vYPos;
139 wxCoord m_vTextX;
140 wxCoord m_vTextY;
141
142 private:
143 void LowerTool( wxToolBarToolBase* pTool
144 ,bool bLower = TRUE
145 );
146 void RaiseTool( wxToolBarToolBase* pTool
147 ,bool bRaise = TRUE
148 );
149
150 static bool m_bInitialized;
151
152 DECLARE_EVENT_TABLE()
153 DECLARE_DYNAMIC_CLASS(wxToolBar)
154 };
155
156 #endif // wxUSE_TOOLBAR
157
158 #endif
159 // _WX_TOOLBAR_H_