]> git.saurik.com Git - wxWidgets.git/blame - include/wx/palmos/toolbar.h
more tweaks to drop down arrow drawing (Andreas Pflug)
[wxWidgets.git] / include / wx / palmos / toolbar.h
CommitLineData
ffecfa5a
JS
1/////////////////////////////////////////////////////////////////////////////
2// Name: wx/palmos/toolbar.h
3// Purpose: wxToolBar class
e1d63b79 4// Author: William Osborne - minimal working wxPalmOS port
ffecfa5a
JS
5// Modified by:
6// Created: 10/13/04
e1d63b79 7// RCS-ID: $Id$
ffecfa5a
JS
8// Copyright: (c) William Osborne
9// Licence: wxWindows licence
10/////////////////////////////////////////////////////////////////////////////
11
12#ifndef _WX_TBAR95_H_
13#define _WX_TBAR95_H_
14
15#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
16 #pragma interface "toolbar.h"
17#endif
18
19#if wxUSE_TOOLBAR
20
21#include "wx/dynarray.h"
22
23class WXDLLEXPORT wxToolBar : public wxToolBarBase
24{
25public:
26 // ctors and dtor
27 wxToolBar() { Init(); }
28
29 wxToolBar(wxWindow *parent,
30 wxWindowID id,
31 const wxPoint& pos = wxDefaultPosition,
32 const wxSize& size = wxDefaultSize,
33 long style = wxNO_BORDER | wxTB_HORIZONTAL,
34 const wxString& name = wxToolBarNameStr)
35 {
36 Init();
37
38 Create(parent, id, pos, size, style, name);
39 }
40
41 bool Create(wxWindow *parent,
42 wxWindowID id,
43 const wxPoint& pos = wxDefaultPosition,
44 const wxSize& size = wxDefaultSize,
45 long style = wxNO_BORDER | wxTB_HORIZONTAL,
46 const wxString& name = wxToolBarNameStr);
47
48 virtual ~wxToolBar();
49
50 // override/implement base class virtuals
51 virtual wxToolBarToolBase *FindToolForPosition(wxCoord x, wxCoord y) const;
52
53 virtual bool Realize();
54
55 virtual void SetToolBitmapSize(const wxSize& size);
56 virtual wxSize GetToolSize() const;
57
58 virtual void SetRows(int nRows);
59
60 // implementation only from now on
61 // -------------------------------
62
ffecfa5a 63 void OnMouseEvent(wxMouseEvent& event);
ffecfa5a
JS
64
65 void SetFocus() {}
66
67protected:
68 // common part of all ctors
69 void Init();
70
71 // recreate the control completely
72 void Recreate();
73
74 // implement base class pure virtuals
75 virtual bool DoInsertTool(size_t pos, wxToolBarToolBase *tool);
76 virtual bool DoDeleteTool(size_t pos, wxToolBarToolBase *tool);
77
78 virtual void DoEnableTool(wxToolBarToolBase *tool, bool enable);
79 virtual void DoToggleTool(wxToolBarToolBase *tool, bool toggle);
80 virtual void DoSetToggle(wxToolBarToolBase *tool, bool toggle);
81
82 virtual wxToolBarToolBase *CreateTool(int id,
83 const wxString& label,
84 const wxBitmap& bmpNormal,
85 const wxBitmap& bmpDisabled,
86 wxItemKind kind,
87 wxObject *clientData,
88 const wxString& shortHelp,
89 const wxString& longHelp);
90 virtual wxToolBarToolBase *CreateTool(wxControl *control);
91
92 // return the appropriate size and flags for the toolbar control
93 virtual wxSize DoGetBestSize() const;
94
95 // should be called whenever the toolbar size changes
96 void UpdateSize();
97
98 // the big bitmap containing all bitmaps of the toolbar buttons
99 WXHBITMAP m_hBitmap;
100
101 // the total number of toolbar elements
102 size_t m_nButtons;
103
104 // the tool the cursor is in
105 wxToolBarToolBase *m_pInTool;
106
107private:
108 DECLARE_EVENT_TABLE()
109 DECLARE_DYNAMIC_CLASS(wxToolBar)
110 DECLARE_NO_COPY_CLASS(wxToolBar)
111};
112
113#endif // wxUSE_TOOLBAR
114
115#endif
116 // _WX_TBAR95_H_