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