]> git.saurik.com Git - wxWidgets.git/blame_incremental - include/wx/gtk/tbargtk.h
Applied patch [ 1181975 ] [wxMSW] Removes all flicker from wxNotebook
[wxWidgets.git] / include / wx / gtk / tbargtk.h
... / ...
CommitLineData
1/////////////////////////////////////////////////////////////////////////////
2// Name: tbargtk.h
3// Purpose: GTK toolbar
4// Author: Robert Roebling
5// RCS-ID: $Id$
6// Copyright: (c) Robert Roebling
7// Licence: wxWindows licence
8/////////////////////////////////////////////////////////////////////////////
9
10#ifndef _WX_GTK_TBARGTK_H_
11#define _WX_GTK_TBARGTK_H_
12
13#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
14 #pragma interface "tbargtk.h"
15#endif
16
17#if wxUSE_TOOLBAR
18
19// ----------------------------------------------------------------------------
20// wxToolBar
21// ----------------------------------------------------------------------------
22
23class wxToolBar : public wxToolBarBase
24{
25public:
26 // construction/destruction
27 wxToolBar() { Init(); }
28 wxToolBar( wxWindow *parent,
29 wxWindowID id,
30 const wxPoint& pos = wxDefaultPosition,
31 const wxSize& size = wxDefaultSize,
32 long style = 0,
33 const wxString& name = wxToolBarNameStr )
34 {
35 Init();
36
37 Create(parent, id, pos, size, style, name);
38 }
39
40 bool Create( wxWindow *parent,
41 wxWindowID id,
42 const wxPoint& pos = wxDefaultPosition,
43 const wxSize& size = wxDefaultSize,
44 long style = 0,
45 const wxString& name = wxToolBarNameStr );
46
47 virtual ~wxToolBar();
48
49 // override base class virtuals
50 virtual void SetMargins(int x, int y);
51 virtual void SetToolSeparation(int separation);
52
53 virtual wxToolBarToolBase *FindToolForPosition(wxCoord x, wxCoord y) const;
54
55 virtual void SetToolShortHelp(int id, const wxString& helpString);
56
57 virtual void SetWindowStyleFlag( long style );
58
59 static wxVisualAttributes
60 GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
61
62 // implementation from now on
63 // --------------------------
64
65 GtkToolbar *m_toolbar;
66
67 bool m_blockEvent;
68
69 void OnInternalIdle();
70
71protected:
72 // common part of all ctors
73 void Init();
74
75 // set the GTK toolbar style and orientation
76 void GtkSetStyle();
77
78 // implement base class pure virtuals
79 virtual bool DoInsertTool(size_t pos, wxToolBarToolBase *tool);
80 virtual bool DoDeleteTool(size_t pos, wxToolBarToolBase *tool);
81
82 virtual void DoEnableTool(wxToolBarToolBase *tool, bool enable);
83 virtual void DoToggleTool(wxToolBarToolBase *tool, bool toggle);
84 virtual void DoSetToggle(wxToolBarToolBase *tool, bool toggle);
85
86 virtual wxToolBarToolBase *CreateTool(int id,
87 const wxString& label,
88 const wxBitmap& bitmap1,
89 const wxBitmap& bitmap2,
90 wxItemKind kind,
91 wxObject *clientData,
92 const wxString& shortHelpString,
93 const wxString& longHelpString);
94 virtual wxToolBarToolBase *CreateTool(wxControl *control);
95
96private:
97 DECLARE_DYNAMIC_CLASS(wxToolBar)
98};
99
100#endif // wxUSE_TOOLBAR
101
102#endif
103 // _WX_GTK_TBARGTK_H_