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_H_LOCATION
17 #include "frontends/Toolbar.h"
19 #include "commandtags.h"
21 #include "ToolbarDefaults.h"
30 /** The LyX xforms toolbar class
32 struct Toolbar::Pimpl {
34 /// called when user selects a layout from combox
35 static void layoutSelectedCB(int, void *, Combox *);
37 Pimpl(LyXView * o, int x, int y);
41 /// (re)sets the toolbar
42 void set(bool doingmain = false);
44 /** this is to be the entry point to the toolbar
45 frame, where you can change the toolbar realtime.
48 /// add a new button to the toolbar.
49 void add(int, bool doclean = true);
50 /// invokes the n'th icon in the toolbar
52 /// activates the toolbar
54 /// deactivates the toolbar
56 /// update the state of the icons
59 /// select the right layout in the combox
60 void setLayout(string const & layout);
61 /// Populate the layout combox; re-do everything if force is true.
62 void updateLayoutList(bool force);
63 /// Drop down the layout list
64 void openLayoutList();
65 /// Erase the layout list
66 void clearLayoutList();
67 /// the non-static version of layoutSelectedCB
68 void layoutSelected();
84 toolbarItem & operator=(toolbarItem const & ti);
87 /// typedef to simplify things
88 typedef std::vector<toolbarItem> ToolbarList;
89 /// The list containing all the buttons
108 /// removes all toolbar buttons from the toolbar.