]> git.saurik.com Git - wxWidgets.git/blob - include/wx/msw/tbar95.h
Hierarchy fixes; bug fix for tabg that was introduced somehow...
[wxWidgets.git] / include / wx / msw / tbar95.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: tbar95.h
3 // Purpose: wxToolBar95 (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_BUTTONBAR && wxUSE_TOOLBAR
20 #include "wx/tbarbase.h"
21
22 WXDLLEXPORT_DATA(extern const char*) wxToolBarNameStr;
23
24 class WXDLLEXPORT wxToolBar95: public wxToolBarBase
25 {
26 DECLARE_DYNAMIC_CLASS(wxToolBar95)
27 public:
28 /*
29 * Public interface
30 */
31
32 wxToolBar95(void);
33
34 inline wxToolBar95(wxWindow *parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
35 long style = wxNO_BORDER|wxTB_HORIZONTAL,
36 const wxString& name = wxToolBarNameStr)
37 {
38 Create(parent, id, pos, size, style, name);
39 }
40 ~wxToolBar95(void);
41
42 bool Create(wxWindow *parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
43 long style = wxNO_BORDER|wxTB_HORIZONTAL,
44 const wxString& name = wxToolBarNameStr);
45
46 // Call default behaviour
47 /*
48 void OnPaint(wxPaintEvent& event) { Default() ; }
49 void OnSize(wxSizeEvent& event) { Default() ; }
50 void OnKillFocus(wxFocusEvent& event) { Default() ; }
51 */
52 void OnMouseEvent(wxMouseEvent& event);
53
54 // Handle wxToolBar95 events
55
56 // If pushedBitmap is NULL, a reversed version of bitmap is
57 // created and used as the pushed/toggled image.
58 // If toggle is TRUE, the button toggles between the two states.
59 wxToolBarTool *AddTool(int toolIndex, const wxBitmap& bitmap, const wxBitmap& pushedBitmap = wxNullBitmap,
60 bool toggle = FALSE, long xPos = -1, long yPos = -1, wxObject *clientData = NULL,
61 const wxString& helpString1 = "", const wxString& helpString2 = "");
62
63 // Set default bitmap size
64 void SetToolBitmapSize(const wxSize& size);
65 void EnableTool(int toolIndex, bool enable); // additional drawing on enabling
66 void ToggleTool(int toolIndex, bool toggle); // toggle is TRUE if toggled on
67 void ClearTools(void);
68
69 // The button size is bigger than the bitmap size
70 wxSize GetToolSize(void) const;
71
72 wxSize GetMaxSize(void) const;
73
74 void GetSize(int *w, int *y) const;
75 wxSize GetSize() const { return wxWindow::GetSize(); }
76
77 virtual bool GetToolState(int toolIndex) const;
78
79 // Add all the buttons: required for Win95.
80 virtual bool CreateTools(void);
81 virtual void SetRows(int nRows);
82 virtual void Layout(void) {}
83
84 // The post-tool-addition call
85 bool Realize() { return CreateTools(); };
86
87 // IMPLEMENTATION
88 virtual bool MSWCommand(WXUINT param, WXWORD id);
89 virtual bool MSWNotify(WXWPARAM wParam, WXLPARAM lParam, WXLPARAM *result);
90
91 // Responds to colour changes
92 void OnSysColourChanged(wxSysColourChangedEvent& event);
93
94 protected:
95 WXHBITMAP m_hBitmap;
96
97 DECLARE_EVENT_TABLE()
98 };
99
100 #endif // wxUSE_TOOL/BUTTONBAR
101 #endif
102 // _WX_TBAR95_H_