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"
28 /** The LyX xforms toolbar class
30 struct Toolbar::Pimpl {
32 /// called when user selects a layout from combox
33 static void layoutSelectedCB(int, void *, Combox *);
35 Pimpl(LyXView * o, Dialogs &, int x, int y);
39 /// (re)sets the toolbar
40 void set(bool doingmain = false);
42 /** this is to be the entry point to the toolbar
43 frame, where you can change the toolbar realtime.
46 /// add a new button to the toolbar.
47 void add(int, bool doclean = true);
48 /// update the state of the icons
51 /// select the right layout in the combox
52 void setLayout(string const & layout);
53 /// Populate the layout combox; re-do everything if force is true.
54 void updateLayoutList(bool force);
55 /// Drop down the layout list
56 void openLayoutList();
57 /// Erase the layout list
58 void clearLayoutList();
59 /// the non-static version of layoutSelectedCB
60 void layoutSelected();
76 toolbarItem & operator=(toolbarItem const & ti);
79 /// typedef to simplify things
80 typedef std::vector<toolbarItem> ToolbarList;
81 /// The list containing all the buttons
100 /// removes all toolbar buttons from the toolbar.