]> git.lyx.org Git - lyx.git/blob - src/frontends/Toolbar.h
Really dull and boring header shit
[lyx.git] / src / frontends / Toolbar.h
1 // -*- C++ -*-
2 /**
3  * \file Toolbar.h
4  * Read the file COPYING
5  *
6  * \author Lars Gullik Bjønnes
7  *
8  * Full author contact details are available in file CREDITS
9  */
10
11 #ifndef TOOLBAR_H
12 #define TOOLBAR_H
13
14 #ifdef __GNUG__
15 #pragma interface
16 #endif
17
18 #include "LString.h"
19
20 class LyXView;
21 class ToolbarDefaults;
22
23
24 /** The LyX GUI independent toolbar class
25   The GUI interface is implemented in the corresponding Toolbar_pimpl class.
26   */
27 class Toolbar {
28 public:
29         ///
30         Toolbar(LyXView * o, int x, int y, ToolbarDefaults const &);
31
32         ///
33         ~Toolbar();
34
35         /// update the state of the icons
36         void update();
37
38         /// update the layout combox
39         void setLayout(string const & layout);
40         /**
41          * Populate the layout combox - returns whether we did a full
42          * update or not
43          */
44         bool updateLayoutList(int textclass);
45         /// Drop down the layout list
46         void openLayoutList();
47         /// Erase the layout list
48         void clearLayoutList();
49
50         /// Compaq cxx 6.5 requires this to be public
51         struct Pimpl;
52 private:
53         ///
54         friend struct Toolbar::Pimpl;
55         ///
56         Pimpl * pimpl_;
57
58         /**
59          * The last textclass layout list in the layout choice selector
60          */
61         int last_textclass_;
62 };
63 #endif