]>
git.saurik.com Git - wxWidgets.git/blob - include/wx/msw/tbarmsw.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/msw/tbarmsw.h
3 // Purpose: wxToolBar for Win16
4 // Author: Julian Smart
5 // Modified by: 13.12.99 by VZ during toolbar classes reorganization
8 // Copyright: (c) Julian Smart
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
12 #ifndef _WX_TBARMSW_H_
13 #define _WX_TBARMSW_H_
16 #pragma interface "tbarmsw.h"
21 #include "wx/tbarbase.h"
23 WXDLLEXPORT_DATA(extern const wxChar
*) wxButtonBarNameStr
;
25 class WXDLLEXPORT wxMemoryDC
;
27 // ----------------------------------------------------------------------------
28 // wxToolBar for Win16
29 // ----------------------------------------------------------------------------
31 class WXDLLEXPORT wxToolBar
: public wxToolBarBase
35 wxToolBar() { Init(); }
37 wxToolBar(wxWindow
*parent
,
39 const wxPoint
& pos
= wxDefaultPosition
,
40 const wxSize
& size
= wxDefaultSize
,
41 long style
= wxNO_BORDER
|wxTB_HORIZONTAL
,
42 const wxString
& name
= wxButtonBarNameStr
)
46 Create(parent
, id
, pos
, size
, style
, name
);
49 bool Create(wxWindow
*parent
,
51 const wxPoint
& pos
= wxDefaultPosition
,
52 const wxSize
& size
= wxDefaultSize
,
53 long style
= wxNO_BORDER
|wxTB_HORIZONTAL
,
54 const wxString
& name
= wxButtonBarNameStr
);
58 // implement/override base class (pure) virtuals
59 virtual wxToolBarToolBase
*AddTool(int id
,
60 const wxBitmap
& bitmap
,
61 const wxBitmap
& pushedBitmap
,
65 wxObject
*clientData
= NULL
,
66 const wxString
& helpString1
= wxEmptyString
,
67 const wxString
& helpString2
= wxEmptyString
);
69 virtual wxToolBarToolBase
*FindToolForPosition(wxCoord x
, wxCoord y
) const;
71 virtual void SetToolBitmapSize(const wxSize
& size
);
72 virtual wxSize
GetToolSize() const;
74 virtual bool Realize();
76 // implementation only from now on
77 // -------------------------------
79 // Handle wxWindows events
80 void OnPaint(wxPaintEvent
& event
);
81 void OnMouseEvent(wxMouseEvent
& event
);
86 virtual bool DoInsertTool(size_t pos
, wxToolBarToolBase
*tool
);
87 virtual bool DoDeleteTool(size_t pos
, wxToolBarToolBase
*tool
);
88 virtual void DoEnableTool(wxToolBarToolBase
*tool
, bool enable
);
89 virtual void DoToggleTool(wxToolBarToolBase
*tool
, bool toggle
);
90 virtual void DoSetToggle(wxToolBarToolBase
*tool
, bool toggle
);
92 virtual wxToolBarToolBase
*CreateTool(int id
,
93 const wxBitmap
& bitmap1
,
94 const wxBitmap
& bitmap2
,
97 const wxString
& shortHelpString
,
98 const wxString
& longHelpString
);
99 virtual wxToolBarToolBase
*CreateTool(wxControl
*control
);
101 void DoRedrawTool(wxToolBarToolBase
*tool
);
103 void DrawTool(wxDC
& dc
, wxToolBarToolBase
*tool
);
104 void DrawTool(wxDC
& dc
, wxToolBarToolBase
*tool
, int state
);
107 bool InitGlobalObjects();
108 void FreeGlobalObjects();
109 void PatB(WXHDC hdc
,int x
,int y
,int dx
,int dy
, long rgb
);
110 void CreateMask(WXHDC hDC
, int xoffset
, int yoffset
, int dx
, int dy
);
111 void DrawBlankButton(WXHDC hdc
, int x
, int y
, int dx
, int dy
, int state
);
112 void DrawButton(WXHDC hdc
, int x
, int y
, int dx
, int dy
,
113 wxToolBarToolBase
*tool
, int state
);
114 WXHBITMAP
CreateDitherBitmap();
115 bool CreateDitherBrush();
116 bool FreeDitherBrush();
117 WXHBITMAP
CreateMappedBitmap(WXHINSTANCE hInstance
, void *lpBitmapInfo
);
118 WXHBITMAP
CreateMappedBitmap(WXHINSTANCE hInstance
, WXHBITMAP hBitmap
);
120 int m_currentRowsOrColumns
;
121 int m_pressedTool
, m_currentTool
;
123 wxCoord m_xPos
, m_yPos
;
124 wxCoord m_lastX
, m_lastY
;
126 WXHBRUSH m_hbrDither
;
129 WXDWORD m_rgbHilight
;
133 // m_hdcMono is the DC that holds a mono bitmap, m_hbmMono
134 // that is used to create highlights
136 // m_hbmDefault hold the default bitmap if there is one.
140 WXHBITMAP m_hbmDefault
;
143 DECLARE_EVENT_TABLE()
144 DECLARE_DYNAMIC_CLASS(wxToolBar
)
147 #endif // wxUSE_TOOLBAR