]> git.lyx.org Git - lyx.git/blobdiff - src/MenuBackend.h
I'll find a solution for the 'dirList problem', Abdel.
[lyx.git] / src / MenuBackend.h
index bfb3833bf6eb06bbd9eeb759641afdf97170235c..76f4ca3722386ad04859749e0decb1421b78065c 100644 (file)
@@ -19,6 +19,7 @@
 #include <boost/shared_ptr.hpp>
 
 #include <vector>
+#include <stack>
 
 
 namespace lyx {
@@ -159,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
@@ -181,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;
@@ -242,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_;
@@ -272,4 +265,4 @@ extern MenuBackend menubackend;
 
 } // namespace lyx
 
-#endif /* MENUBACKEND_H */
+#endif // MENUBACKEND_H