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"
19 #include "commandtags.h"
21 #include "ToolbarDefaults.h"
31 /** The LyX xforms toolbar class
33 struct Toolbar::Pimpl {
35 /// called when user selects a layout from combox
36 static void layoutSelectedCB(int, void *, Combox *);
38 Pimpl(LyXView * o, Dialogs &, int x, int y);
42 /// (re)sets the toolbar
43 void set(bool doingmain = false);
45 /** this is to be the entry point to the toolbar
46 frame, where you can change the toolbar realtime.
49 /// add a new button to the toolbar.
50 void add(int, bool doclean = true);
51 /// invokes the n'th icon in the toolbar
53 /// update the state of the icons
56 /// select the right layout in the 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 /// the non-static version of layoutSelectedCB
65 void layoutSelected();
81 toolbarItem & operator=(toolbarItem const & ti);
84 /// typedef to simplify things
85 typedef std::vector<toolbarItem> ToolbarList;
86 /// The list containing all the buttons
105 /// removes all toolbar buttons from the toolbar.