* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
- * \author unknown
+ * \author Jean-Marc Lasgouttes
+ * \author John Levon
*
- * Full author contact details are available in file CREDITS
+ * Full author contact details are available in file CREDITS.
*/
#ifndef TOOLBAR_BACKEND_H
class ToolbarBackend {
public:
/// The special toolbar actions
- enum ItemType {
+ enum ItemType {
+ /// the command buffer
+ MINIBUFFER = -3,
/// adds space between buttons in the toolbar
- SEPARATOR = -3,
+ SEPARATOR = -2,
/// a special combox insead of a button
- LAYOUTS = -2,
- /// begin a new line of button (not working)
- NEWLINE = -1
+ LAYOUTS = -1,
};
/// action, tooltip
/// the toolbar items
typedef std::vector<std::pair<int, string> > Items;
+ /// toolbar flags
+ enum Flags {
+ ON = 1, //< always shown
+ OFF = 2, //< never shown
+ MATH = 4, //< shown when in math
+ TABLE = 8, //< shown when in table
+ TOP = 16, //< show at top
+ BOTTOM = 32, //< show at bottom
+ LEFT = 64, //< show at left
+ RIGHT = 128 //< show at right
+ };
+
/// a toolbar
struct Toolbar {
/// toolbar UI name
string name;
/// toolbar contents
Items items;
+ /// flags
+ Flags flags;
};
typedef std::vector<Toolbar> Toolbars;
/// iterator for all toolbars
Toolbars::const_iterator begin() const {
- return toolbars.begin();
+ return usedtoolbars.begin();
}
Toolbars::const_iterator end() const {
- return toolbars.end();
+ return usedtoolbars.end();
}
/// read a toolbar from the file
void read(LyXLex &);
+ /// read the used toolbars
+ void readToolbars(LyXLex &);
+
/// return a full path of an XPM for the given action
static string const getIcon(int action);
/// all the toolbars
Toolbars toolbars;
+
+ /// toolbars listed
+ Toolbars usedtoolbars;
};
/// The global instance