1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: GTK toolbar
4 // Author: Robert Roebling
6 // Copyright: (c) Robert Roebling
7 // Licence: wxWindows licence
8 /////////////////////////////////////////////////////////////////////////////
10 #ifndef _WX_GTK_TBARGTK_H_
11 #define _WX_GTK_TBARGTK_H_
15 // ----------------------------------------------------------------------------
17 // ----------------------------------------------------------------------------
19 class WXDLLIMPEXP_CORE wxToolBar
: public wxToolBarBase
22 // construction/destruction
23 wxToolBar() { Init(); }
24 wxToolBar( wxWindow
*parent
,
26 const wxPoint
& pos
= wxDefaultPosition
,
27 const wxSize
& size
= wxDefaultSize
,
28 long style
= wxTB_HORIZONTAL
,
29 const wxString
& name
= wxToolBarNameStr
)
33 Create(parent
, id
, pos
, size
, style
, name
);
36 bool Create( wxWindow
*parent
,
38 const wxPoint
& pos
= wxDefaultPosition
,
39 const wxSize
& size
= wxDefaultSize
,
40 long style
= wxTB_HORIZONTAL
,
41 const wxString
& name
= wxToolBarNameStr
);
45 virtual wxToolBarToolBase
*FindToolForPosition(wxCoord x
, wxCoord y
) const;
47 virtual void SetToolShortHelp(int id
, const wxString
& helpString
);
49 virtual void SetWindowStyleFlag( long style
);
51 virtual void SetToolNormalBitmap(int id
, const wxBitmap
& bitmap
);
52 virtual void SetToolDisabledBitmap(int id
, const wxBitmap
& bitmap
);
54 static wxVisualAttributes
55 GetClassDefaultAttributes(wxWindowVariant variant
= wxWINDOW_VARIANT_NORMAL
);
57 // implementation from now on
58 // --------------------------
60 void OnInternalIdle();
63 virtual wxSize
DoGetBestSize() const;
64 virtual GdkWindow
*GTKGetWindow(wxArrayGdkWindows
& windows
) const;
66 // implement base class pure virtuals
67 virtual bool DoInsertTool(size_t pos
, wxToolBarToolBase
*tool
);
68 virtual bool DoDeleteTool(size_t pos
, wxToolBarToolBase
*tool
);
70 virtual void DoEnableTool(wxToolBarToolBase
*tool
, bool enable
);
71 virtual void DoToggleTool(wxToolBarToolBase
*tool
, bool toggle
);
72 virtual void DoSetToggle(wxToolBarToolBase
*tool
, bool toggle
);
74 virtual wxToolBarToolBase
*CreateTool(int id
,
75 const wxString
& label
,
76 const wxBitmap
& bitmap1
,
77 const wxBitmap
& bitmap2
,
80 const wxString
& shortHelpString
,
81 const wxString
& longHelpString
);
82 virtual wxToolBarToolBase
*CreateTool(wxControl
*control
,
83 const wxString
& label
);
88 GSList
* GetRadioGroup(size_t pos
);
89 virtual void AddChildGTK(wxWindowGTK
* child
);
91 GtkToolbar
* m_toolbar
;
92 GtkTooltips
* m_tooltips
;
94 DECLARE_DYNAMIC_CLASS(wxToolBar
)
97 #endif // wxUSE_TOOLBAR
100 // _WX_GTK_TBARGTK_H_