]> git.lyx.org Git - lyx.git/blobdiff - src/MenuBackend.h
Further cleanup of InsetFlex, InsetCollapsable and InsetLayout:
[lyx.git] / src / MenuBackend.h
index 815f2669a82f5572252ada599684c9f3619720f7..76f4ca3722386ad04859749e0decb1421b78065c 100644 (file)
@@ -19,6 +19,7 @@
 #include <boost/shared_ptr.hpp>
 
 #include <vector>
+#include <stack>
 
 
 namespace lyx {
@@ -66,6 +67,9 @@ public:
                /** This is the list of user-configurable
                insets to insert into document */
                Custom,
+               /** This is the list of XML elements to
+               insert into the document */
+               Elements,
                /** This is the list of floats that we can
                    insert a list for. */
                FloatListInsert,
@@ -156,8 +160,7 @@ public:
        ///
        typedef ItemList::size_type size_type;
        ///
-       explicit Menu(docstring const & name = docstring())
-               : name_(name) {}
+       explicit Menu(docstring const & name = docstring()) : name_(name) {}
        /// Add the menu item unconditionally
        Menu & add(MenuItem const &);
        /// Checks the associated FuncRequest status before adding the
@@ -178,16 +181,16 @@ public:
        ///
        bool hasFunc(FuncRequest const &) const;
        ///
-       const_iterator begin() const {
-               return items_.begin();
-       }
+       const_iterator begin() const { return items_.begin(); }
        ///
-       const_iterator end() const {
-               return items_.end();
-       }
+       const_iterator end() const { return items_.end(); }
 
        // Check whether the menu shortcuts are unique
        void checkShortcuts() const;
+       
+       // search for func in this menu iteratively, and put menu
+       // names in a stack.
+       bool searchFunc(FuncRequest & func, std::stack<docstring> & names);
 
 private:
        friend class MenuBackend;
@@ -239,21 +242,14 @@ public:
        void expand(Menu const & frommenu, Menu & tomenu,
                    Buffer const *) const;
        ///
-       const_iterator begin() const {
-               return menulist_.begin();
-       }
+       const_iterator begin() const { return menulist_.begin(); }
        ///
-       iterator begin() {
-               return menulist_.begin();
-       }
+       iterator begin() { return menulist_.begin(); }
        ///
-       const_iterator end() const {
-               return menulist_.end();
-       }
+       const_iterator end() const { return menulist_.end(); }
        ///
-       iterator end() {
-               return menulist_.end();
-       }
+       iterator end() { return menulist_.end(); }
+
 private:
        ///
        MenuList menulist_;
@@ -269,4 +265,4 @@ extern MenuBackend menubackend;
 
 } // namespace lyx
 
-#endif /* MENUBACKEND_H */
+#endif // MENUBACKEND_H