]> git.lyx.org Git - lyx.git/blobdiff - src/ToolbarBackend.h
Point fix, earlier forgotten
[lyx.git] / src / ToolbarBackend.h
index 952d2649cf5942410bab910910620451734a623f..946cf0fb91c0bcddc5b204eb0250a66cb52a04fe 100644 (file)
@@ -4,9 +4,10 @@
  * 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
@@ -24,12 +25,12 @@ class ToolbarBackend {
 public:
        /// The special toolbar actions
        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
@@ -38,12 +39,16 @@ public:
        /// the toolbar items
        typedef std::vector<std::pair<int, string> > Items;
 
-       /// possibly display types
-       enum DisplayType {
-               OFF, //< never shown
-               ON, //< always shown
-               MATH, //< shown when in math
-               TABLE //< shown when in table
+       /// 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
@@ -52,8 +57,8 @@ public:
                string name;
                /// toolbar contents
                Items items;
-               /// display type
-               DisplayType display_type;
+               /// flags
+               Flags flags;
        };
 
        typedef std::vector<Toolbar> Toolbars;
@@ -64,16 +69,19 @@ public:
 
        /// 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);
 
@@ -86,6 +94,9 @@ private:
 
        /// all the toolbars
        Toolbars toolbars;
+
+       /// toolbars listed
+       Toolbars usedtoolbars;
 };
 
 /// The global instance