4 * This file is part of LyX, the document processor.
5 * Licence details can be found in the file COPYING.
7 * \author Lars Gullik Bjønnes
8 * \author Angus Leeming
9 * \author Abdelrazak Younes
11 * Full author contact details are available in file CREDITS.
14 #ifndef GUI_TOOLBARS_H
15 #define GUI_TOOLBARS_H
17 #include "frontends/Toolbars.h"
28 class GuiToolbars : public Toolbars
32 GuiToolbars(GuiViewBase & owner);
34 bool visible(std::string const & name) const;
35 void saveToolbarInfo();
36 void setLayout(docstring const & layout);
38 /** Populate the layout combox - returns whether we did a full
41 bool updateLayoutList(TextClassPtr textclass);
43 /// Drop down the layout list.
44 void openLayoutList();
45 /// Erase the layout list.
46 void clearLayoutList();
49 void add(ToolbarInfo const & tbinfo, bool newline);
50 void displayToolbar(ToolbarInfo const & tbinfo, bool show);
53 /// The parent window.
56 /** The layout box is actually owned by whichever toolbar
57 * contains it. All the Toolbars class needs is a means of
60 * We don't need to use boost::weak_ptr here because the toolbars
61 * are also stored here. There are, therefore, no lifetime issues.
63 GuiLayoutBox * layout_;
65 /// Toolbar store providing access to individual toolbars by name.
66 typedef std::map<std::string, GuiToolbar *> ToolbarsMap;
67 ToolbarsMap toolbars_;
69 /// The last textclass layout list in the layout choice selector
70 TextClassPtr last_textclass_;
74 } // namespace frontend
77 #endif // NOT GUI_TOOLBARS_H