X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FToolbarBackend.h;h=7d9fc9f6b914729081bd8c95f033a996287efb0a;hb=e7f4618bcce770369cf46335c2c7f0164b4b8857;hp=bbc3498f5ebd6c01e287fe3744940318948502d7;hpb=84640bc0f28e0f884c1258a77e9ee21dcffd283c;p=lyx.git diff --git a/src/ToolbarBackend.h b/src/ToolbarBackend.h index bbc3498f5e..7d9fc9f6b9 100644 --- a/src/ToolbarBackend.h +++ b/src/ToolbarBackend.h @@ -4,21 +4,26 @@ * 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 #define TOOLBAR_BACKEND_H +#include "funcrequest.h" + #include -#include -#include "LString.h" + +namespace lyx { + class LyXLex; + /// class ToolbarBackend { public: @@ -33,10 +38,10 @@ public: }; /// action, tooltip - typedef std::pair Item; + typedef std::pair Item; /// the toolbar items - typedef std::vector > Items; + typedef std::vector Items; /// toolbar flags enum Flags { @@ -47,13 +52,17 @@ public: TOP = 16, //< show at top BOTTOM = 32, //< show at bottom LEFT = 64, //< show at left - RIGHT = 128 //< show at right + RIGHT = 128, //< show at right + REVIEW = 256, //< shown when change tracking is enabled + AUTO = 512 //< only if AUTO is set, will MATH, TABLE and REIVEW is used }; /// a toolbar struct Toolbar { - /// toolbar UI name - string name; + /// toolbar name + std::string name; + /// toolbar GUI name + std::string gui_name; /// toolbar contents Items items; /// flags @@ -67,33 +76,40 @@ public: ToolbarBackend(); /// iterator for all toolbars - Toolbars::const_iterator begin() const { - return toolbars.begin(); - } + Toolbars::const_iterator begin() const { return usedtoolbars.begin(); } + + Toolbars::const_iterator end() const { return usedtoolbars.end(); } + + Toolbars::iterator begin() { return usedtoolbars.begin(); } - Toolbars::const_iterator end() const { - return toolbars.end(); - } + Toolbars::iterator 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); + static std::string const getIcon(FuncRequest const &); private: /// add the given lfun with tooltip if relevant - void add(Toolbar & tb, int, string const & tooltip = string()); - - /// add the given lfun with tooltip if relevant - void add(Toolbar & tb, string const &, string const & tooltip); + void add(Toolbar & tb, FuncRequest const &, + docstring const & tooltip = docstring()); /// all the toolbars Toolbars toolbars; + + /// toolbars listed + Toolbars usedtoolbars; }; /// The global instance extern ToolbarBackend toolbarbackend; + +} // namespace lyx + #endif // TOOLBAR_BACKEND_H