]>
git.saurik.com Git - wxWidgets.git/blob - include/wx/os2/toolbar.h
1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: wxToolBar class
4 // Author: David Webster
8 // Copyright: (c) David Webster
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
12 #ifndef _WX_TOOLBAR_H_
13 #define _WX_TOOLBAR_H_
16 #include "wx/tbarbase.h"
18 class WXDLLEXPORT wxToolBar
: public wxToolBarBase
25 wxToolBar() { Init(); }
27 inline wxToolBar( wxWindow
* pParent
29 ,const wxPoint
& rPos
= wxDefaultPosition
30 ,const wxSize
& rSize
= wxDefaultSize
31 ,long lStyle
= wxNO_BORDER
| wxTB_HORIZONTAL
32 ,const wxString
& rName
= wxToolBarNameStr
46 bool Create( wxWindow
* pParent
48 ,const wxPoint
& rPos
= wxDefaultPosition
49 ,const wxSize
& rSize
= wxDefaultSize
50 ,long lStyle
= wxNO_BORDER
| wxTB_HORIZONTAL
51 ,const wxString
& rName
= wxToolBarNameStr
56 // Override/implement base class virtuals
58 virtual wxToolBarToolBase
* FindToolForPosition( wxCoord vX
61 virtual bool Realize(void);
62 virtual void SetRows(int nRows
);
65 // Special overrides for OS/2
67 virtual wxToolBarToolBase
* InsertControl( size_t nPos
70 virtual wxToolBarToolBase
* InsertSeparator(size_t nPos
);
71 virtual wxToolBarToolBase
* InsertTool( size_t nPos
73 ,const wxString
& rsLabel
74 ,const wxBitmap
& rBitmap
75 ,const wxBitmap
& rBmpDisabled
= wxNullBitmap
76 ,wxItemKind eKind
= wxITEM_NORMAL
77 ,const wxString
& rsShortHelp
= wxEmptyString
78 ,const wxString
& rsLongHelp
= wxEmptyString
79 ,wxObject
* pClientData
= NULL
81 wxToolBarToolBase
* InsertTool( size_t nPos
83 ,const wxBitmap
& rBitmap
84 ,const wxBitmap
& rBmpDisabled
= wxNullBitmap
86 ,wxObject
* pClientData
= NULL
87 ,const wxString
& rsShortHelp
= wxEmptyString
88 ,const wxString
& rsLongHelp
= wxEmptyString
91 return InsertTool( nPos
96 ,bToggle
? wxITEM_CHECK
: wxITEM_NORMAL
102 virtual bool DeleteTool(int nId
);
103 virtual bool DeleteToolByPos(size_t nPos
);
108 void OnPaint(wxPaintEvent
& event
);
109 void OnSize(wxSizeEvent
& event
);
110 void OnMouseEvent(wxMouseEvent
& event
);
111 void OnKillFocus(wxFocusEvent
& event
);
115 // Common part of all ctors
120 // Implement base class pure virtuals
122 virtual wxToolBarToolBase
* DoAddTool( int id
123 ,const wxString
& label
124 ,const wxBitmap
& bitmap
125 ,const wxBitmap
& bmpDisabled
127 ,const wxString
& shortHelp
= wxEmptyString
128 ,const wxString
& longHelp
= wxEmptyString
129 ,wxObject
*clientData
= NULL
134 virtual bool DoInsertTool( size_t nPos
135 ,wxToolBarToolBase
* pTool
137 virtual bool DoDeleteTool( size_t nPos
138 , wxToolBarToolBase
* pTool
141 virtual void DoEnableTool( wxToolBarToolBase
* pTool
144 virtual void DoToggleTool( wxToolBarToolBase
* pTool
147 virtual void DoSetToggle( wxToolBarToolBase
* pTool
151 virtual wxToolBarToolBase
* CreateTool( int vId
152 ,const wxString
& rsLabel
153 ,const wxBitmap
& rBmpNormal
154 ,const wxBitmap
& rBmpDisabled
156 ,wxObject
* pClientData
157 ,const wxString
& rsShortHelp
158 ,const wxString
& rsLongHelp
160 virtual wxToolBarToolBase
* CreateTool(wxControl
* pControl
);
165 void DrawTool(wxToolBarToolBase
*tool
);
166 virtual void DrawTool( wxDC
& rDC
167 ,wxToolBarToolBase
* pTool
169 virtual void SpringUpButton(int nIndex
);
171 int m_nCurrentRowsOrColumns
;
177 wxCoord m_vMaxHeight
;
184 void LowerTool( wxToolBarToolBase
* pTool
187 void RaiseTool( wxToolBarToolBase
* pTool
191 static bool m_bInitialized
;
193 DECLARE_EVENT_TABLE()
194 DECLARE_DYNAMIC_CLASS(wxToolBar
)
197 #endif // wxUSE_TOOLBAR