3 * \file Toolbar_pimpl.h
4 * Copyright 2002 the LyX Team
5 * Copyright 1996-2001 Lars Gullik Bjønnes
6 * Read the file COPYING
8 * \author Lars Gullik Bjønnes, larsbj@lyx.org
11 #ifndef TOOLBAR_PIMPL_H
12 #define TOOLBAR_PIMPL_H
15 #include "forms_fwd.h"
17 #include "frontends/Toolbar.h"
27 /** The LyX xforms toolbar class
29 struct Toolbar::Pimpl {
31 /// called when user selects a layout from combox
32 static void layoutSelectedCB(int, void *, Combox *);
34 /// create an empty toolbar
35 Pimpl(LyXView * o, int x, int y);
39 /// add a new button to the toolbar.
42 /// update the state of the icons
45 /// select the right layout in the combox
46 void setLayout(string const & layout);
47 /// Populate the layout combox; re-do everything if force is true.
48 void updateLayoutList(bool force);
49 /// Drop down the layout list
50 void openLayoutList();
51 /// Erase the layout list
52 void clearLayoutList();
53 /// the non-static version of layoutSelectedCB
54 void layoutSelected();
56 /// an item on the toolbar
63 toolbarItem & operator=(toolbarItem const & ti);
70 /// icon for this item
74 typedef std::vector<toolbarItem> ToolbarList;
76 /// The list containing all the buttons
77 ToolbarList toollist_;
84 /// x position of end of toolbar
86 /// y position of end of toolbar
90 #endif // TOOLBAR_PIMPL_H