]> git.lyx.org Git - lyx.git/blob - src/frontends/Toolbar.h
layout as string
[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 /** The LyX GUI independent toolbar class
27   The GUI interface is implemented in the corresponding Toolbar_pimpl class. 
28   */
29 class Toolbar {
30 public:
31         ///
32         Toolbar(LyXView * o, int x, int y, ToolbarDefaults const &);
33
34         ///
35         ~Toolbar();
36         
37         /// (re)sets the toolbar
38         void set(bool doingmain = false);
39
40         /** this is to be the entry point to the toolbar
41           frame, where you can change the toolbar realtime. */
42         void edit();
43         /// add a new button to the toolbar.
44         void add(int , bool doclean = true);
45         /// name of func instead of kb_action
46         void add(string const & , bool doclean = true);
47         /// invokes the n'th icon in the toolbar
48         void push(int);
49         /// activates the toolbar
50         void activate();
51         /// deactivates the toolbar
52         void deactivate();
53         /// update the state of the icons
54         void update();
55
56         /// update the layout combox
57         void setLayout(string const & layout);
58         /// Populate the layout combox; re-do everything if force is true.
59         void updateLayoutList(bool force);
60         /// Drop down the layout list
61         void openLayoutList();
62         /// Erase the layout list
63         void clearLayoutList();
64
65 private:
66         struct Pimpl;
67         ///
68         friend struct Toolbar::Pimpl;
69         ///
70         Pimpl * pimpl_;
71 };
72 #endif