3 * \file XFormsToolbar.h
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 Jean-Marc Lasgouttes
10 * Full author contact details are available in file CREDITS.
13 #ifndef XFORMSTOOLBAR_H
14 #define XFROMSTOOLBAR_H
17 #include "forms_fwd.h"
19 #include "LayoutEngine.h"
21 #include "frontends/Toolbar.h"
22 #include "ToolbarBackend.h"
27 /** The LyX xforms toolbar class
29 class XFormsToolbar : public Toolbar {
31 /// create an empty toolbar
32 XFormsToolbar(LyXView * o);
38 void add(ToolbarBackend::Toolbar const & tb);
40 /// add an item to a toolbar
41 void add(FuncRequest const &, std::string const & tooltip);
43 /// display toolbar, not implemented
44 void displayToolbar(ToolbarBackend::Toolbar const & tb, bool show);
46 /// update the state of the icons
49 /// select the right layout in the combox
50 void setLayout(std::string const & layout);
51 /// Populate the layout combox.
52 void updateLayoutList();
53 /// Drop down the layout list
54 void openLayoutList();
55 /// Erase the layout list
56 void clearLayoutList();
58 void layoutSelected();
60 /// an item on the toolbar
67 toolbarItem & operator=(toolbarItem const & ti);
74 /// icon for this item
79 lyx::frontend::Box * toolbar_;
81 lyx::frontend::BoxList * toolbar_buttons_;
83 lyx::frontend::WidgetMap widgets_;
85 typedef std::vector<FuncRequest> Funcs;
89 typedef std::vector<toolbarItem> ToolbarList;
91 /// The list containing all the buttons
92 ToolbarList toollist_;