]> git.saurik.com Git - wxWidgets.git/blame_incremental - include/wx/msw/tbar95.h
mimetype.cpp/.h split into unix,mac,msw
[wxWidgets.git] / include / wx / msw / tbar95.h
... / ...
CommitLineData
1/////////////////////////////////////////////////////////////////////////////
2// Name: wx/msw/tbar95.h
3// Purpose: wxToolBar (Windows 95 toolbar) class
4// Author: Julian Smart
5// Modified by:
6// Created: 01/02/97
7// RCS-ID: $Id$
8// Copyright: (c) Julian Smart
9// Licence: wxWindows licence
10/////////////////////////////////////////////////////////////////////////////
11
12#ifndef _WX_TBAR95_H_
13#define _WX_TBAR95_H_
14
15#ifdef __GNUG__
16 #pragma interface "tbar95.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
63 virtual bool MSWCommand(WXUINT param, WXWORD id);
64 virtual bool MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result);
65
66 void OnMouseEvent(wxMouseEvent& event);
67 void OnSysColourChanged(wxSysColourChangedEvent& event);
68
69protected:
70 // common part of all ctors
71 void Init();
72
73 // implement base class pure virtuals
74 virtual bool DoInsertTool(size_t pos, wxToolBarToolBase *tool);
75 virtual bool DoDeleteTool(size_t pos, wxToolBarToolBase *tool);
76
77 virtual void DoEnableTool(wxToolBarToolBase *tool, bool enable);
78 virtual void DoToggleTool(wxToolBarToolBase *tool, bool toggle);
79 virtual void DoSetToggle(wxToolBarToolBase *tool, bool toggle);
80
81 virtual wxToolBarToolBase *CreateTool(int id,
82 const wxBitmap& bitmap1,
83 const wxBitmap& bitmap2,
84 bool toggle,
85 wxObject *clientData,
86 const wxString& shortHelpString,
87 const wxString& longHelpString);
88 virtual wxToolBarToolBase *CreateTool(wxControl *control);
89
90 // should be called whenever the toolbar size changes
91 void UpdateSize();
92
93 // override WndProc to process WM_SIZE
94 virtual long MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam);
95
96 // the big bitmap containing all bitmaps of the toolbar buttons
97 WXHBITMAP m_hBitmap;
98
99 // the total number of toolbar elements
100 size_t m_nButtons;
101
102private:
103 DECLARE_EVENT_TABLE()
104 DECLARE_DYNAMIC_CLASS(wxToolBar)
105};
106
107#endif // wxUSE_TOOLBAR
108
109#endif
110 // _WX_TBAR95_H_