]> git.saurik.com Git - wxWidgets.git/blame - src/palmos/toolbar.cpp
Beginning to make wxDC code compile both before
[wxWidgets.git] / src / palmos / toolbar.cpp
CommitLineData
ffecfa5a 1/////////////////////////////////////////////////////////////////////////////
e2731512 2// Name: src/palmos/toolbar.cpp
ffecfa5a 3// Purpose: wxToolBar
e2731512 4// Author: William Osborne - minimal working wxPalmOS port
ffecfa5a
JS
5// Modified by:
6// Created: 10/13/04
e2731512 7// RCS-ID: $Id$
ffecfa5a
JS
8// Copyright: (c) William Osborne
9// Licence: wxWindows licence
10/////////////////////////////////////////////////////////////////////////////
11
12// ============================================================================
13// declarations
14// ============================================================================
15
16// ----------------------------------------------------------------------------
17// headers
18// ----------------------------------------------------------------------------
19
ffecfa5a
JS
20// For compilers that support precompilation, includes "wx.h".
21#include "wx/wxprec.h"
22
23#ifdef __BORLANDC__
24 #pragma hdrstop
25#endif
26
ad9835c9
WS
27#if wxUSE_TOOLBAR && wxUSE_TOOLBAR_NATIVE
28
670f9935
WS
29#include "wx/toolbar.h"
30
ffecfa5a 31#ifndef WX_PRECOMP
ad9835c9 32 #include "wx/dynarray.h"
ffecfa5a
JS
33 #include "wx/frame.h"
34 #include "wx/log.h"
35 #include "wx/intl.h"
ffecfa5a
JS
36 #include "wx/settings.h"
37 #include "wx/bitmap.h"
38 #include "wx/dcmemory.h"
39 #include "wx/control.h"
670f9935 40 #include "wx/app.h" // for GetComCtl32Version
ffecfa5a
JS
41#endif
42
ffecfa5a
JS
43#include "wx/sysopt.h"
44
45#include "wx/palmos/private.h"
46
47#include "wx/palmos/wrapcctl.h"
48
ffecfa5a
JS
49// ----------------------------------------------------------------------------
50// conditional compilation
51// ----------------------------------------------------------------------------
52
53// wxWidgets previously always considered that toolbar buttons have light grey
54// (0xc0c0c0) background and so ignored any bitmap masks - however, this
55// doesn't work with XPMs which then appear to have black background. To make
56// this work, we must respect the bitmap masks - which we do now. This should
57// be ok in any case, but to restore 100% compatible with the old version
58// behaviour, you can set this to 0.
59#define USE_BITMAP_MASKS 1
60
61// ----------------------------------------------------------------------------
62// constants
63// ----------------------------------------------------------------------------
64
65// ----------------------------------------------------------------------------
66// wxWin macros
67// ----------------------------------------------------------------------------
68
69IMPLEMENT_DYNAMIC_CLASS(wxToolBar, wxControl)
70
71/*
72 TOOLBAR PROPERTIES
73 tool
74 bitmap
75 bitmap2
76 tooltip
77 longhelp
78 radio (bool)
79 toggle (bool)
80 separator
81 style ( wxNO_BORDER | wxTB_HORIZONTAL)
82 bitmapsize
83 margins
84 packing
85 separation
86
87 dontattachtoframe
88*/
89
90BEGIN_EVENT_TABLE(wxToolBar, wxToolBarBase)
91 EVT_MOUSE_EVENTS(wxToolBar::OnMouseEvent)
ffecfa5a
JS
92END_EVENT_TABLE()
93
94// ----------------------------------------------------------------------------
95// private classes
96// ----------------------------------------------------------------------------
97
98class wxToolBarTool : public wxToolBarToolBase
99{
100public:
101 wxToolBarTool(wxToolBar *tbar,
102 int id,
103 const wxString& label,
104 const wxBitmap& bmpNormal,
105 const wxBitmap& bmpDisabled,
106 wxItemKind kind,
107 wxObject *clientData,
108 const wxString& shortHelp,
109 const wxString& longHelp)
110 : wxToolBarToolBase(tbar, id, label, bmpNormal, bmpDisabled, kind,
111 clientData, shortHelp, longHelp)
112 {
113 }
114
07d02e9e
VZ
115 wxToolBarTool(wxToolBar *tbar, wxControl *control, const wxString& label)
116 : wxToolBarToolBase(tbar, control, label)
ffecfa5a
JS
117 {
118 }
119
120 virtual void SetLabel(const wxString& label)
121 {
122 }
123
124 // set/get the number of separators which we use to cover the space used by
125 // a control in the toolbar
126 void SetSeparatorsCount(size_t count) { m_nSepCount = count; }
127 size_t GetSeparatorsCount() const { return m_nSepCount; }
128
129private:
130 size_t m_nSepCount;
131
132 DECLARE_NO_COPY_CLASS(wxToolBarTool)
133};
134
135
136// ============================================================================
137// implementation
138// ============================================================================
139
140// ----------------------------------------------------------------------------
141// wxToolBarTool
142// ----------------------------------------------------------------------------
143
144wxToolBarToolBase *wxToolBar::CreateTool(int id,
145 const wxString& label,
146 const wxBitmap& bmpNormal,
147 const wxBitmap& bmpDisabled,
148 wxItemKind kind,
149 wxObject *clientData,
150 const wxString& shortHelp,
151 const wxString& longHelp)
152{
153 return new wxToolBarTool(this, id, label, bmpNormal, bmpDisabled, kind,
154 clientData, shortHelp, longHelp);
155}
156
07d02e9e
VZ
157wxToolBarToolBase *
158wxToolBar::CreateTool(wxControl *control, const wxString& label)
ffecfa5a 159{
07d02e9e 160 return new wxToolBarTool(this, control, label);
ffecfa5a
JS
161}
162
163// ----------------------------------------------------------------------------
164// wxToolBar construction
165// ----------------------------------------------------------------------------
166
167void wxToolBar::Init()
168{
169}
170
171bool wxToolBar::Create(wxWindow *parent,
172 wxWindowID id,
173 const wxPoint& pos,
174 const wxSize& size,
175 long style,
176 const wxString& name)
177{
178 return false;
179}
180
181void wxToolBar::Recreate()
182{
183}
184
185wxToolBar::~wxToolBar()
186{
187}
188
189wxSize wxToolBar::DoGetBestSize() const
190{
191 return wxSize(0,0);
192}
193
194// ----------------------------------------------------------------------------
195// adding/removing tools
196// ----------------------------------------------------------------------------
197
198bool wxToolBar::DoInsertTool(size_t WXUNUSED(pos), wxToolBarToolBase *tool)
199{
200 return false;
201}
202
203bool wxToolBar::DoDeleteTool(size_t pos, wxToolBarToolBase *tool)
204{
205 return false;
206}
207
208bool wxToolBar::Realize()
209{
210 return false;
211}
212
213// ----------------------------------------------------------------------------
214// toolbar geometry
215// ----------------------------------------------------------------------------
216
217void wxToolBar::SetToolBitmapSize(const wxSize& size)
218{
219}
220
221void wxToolBar::SetRows(int nRows)
222{
223}
224
225// The button size is bigger than the bitmap size
226wxSize wxToolBar::GetToolSize() const
227{
228 return wxSize(0,0);
229}
230
231static
232wxToolBarToolBase *GetItemSkippingDummySpacers(const wxToolBarToolsList& tools,
233 size_t index )
234{
235 return 0;
236}
237
238wxToolBarToolBase *wxToolBar::FindToolForPosition(wxCoord x, wxCoord y) const
239{
240 return NULL;
241}
242
243void wxToolBar::UpdateSize()
244{
245}
246
ffecfa5a
JS
247// ----------------------------------------------------------------------------
248// tool state
249// ----------------------------------------------------------------------------
250
251void wxToolBar::DoEnableTool(wxToolBarToolBase *tool, bool enable)
252{
253}
254
255void wxToolBar::DoToggleTool(wxToolBarToolBase *tool, bool toggle)
256{
257}
258
259void wxToolBar::DoSetToggle(wxToolBarToolBase *WXUNUSED(tool), bool WXUNUSED(toggle))
260{
261}
262
263// ----------------------------------------------------------------------------
264// event handlers
265// ----------------------------------------------------------------------------
266
ffecfa5a
JS
267void wxToolBar::OnMouseEvent(wxMouseEvent& event)
268{
269}
270
271#endif // wxUSE_TOOLBAR