]> git.lyx.org Git - lyx.git/blobdiff - src/MenuBackend.h
fix two crashes related to dEPM. Some crashes remain
[lyx.git] / src / MenuBackend.h
index a8497f8e1cce80e389eebe582dc8af8d7d5c74eb..2fe43c9cebdb497d5e6d79b306d1d970dada360d 100644 (file)
@@ -55,7 +55,7 @@ public:
                /** This is a list of importable formats
                    typically for the File->Export menu. */
                ImportFormats,
-               /** This is the list of elements available 
+               /** This is the list of elements available
                 * for insertion into document. */
                CharStyles,
                /** This is the list of floats that we can
@@ -156,7 +156,9 @@ public:
        ///
        ItemList::size_type size() const { return items_.size(); }
        ///
-       bool hasSubmenu(std::string const &) const;
+       MenuItem const & operator[](size_type) const;
+       ///
+       bool hasFunc(FuncRequest const &) const;
        ///
        const_iterator begin() const {
                return items_.begin();
@@ -186,6 +188,10 @@ public:
        ///
        typedef MenuList::const_iterator const_iterator;
        ///
+       typedef MenuList::iterator iterator;
+       ///
+       MenuBackend::MenuBackend() : specialmenu_(0) {}
+       ///
        void read(LyXLex &);
        ///
        void add(Menu const &);
@@ -199,6 +205,11 @@ public:
        Menu const & getMenubar() const;
        ///
        bool empty() const { return menulist_.empty(); }
+       /** This defines a menu whose entries list the FuncRequests
+           will be removed by expand() in other menus. This is used by
+           the Qt/Mac code
+       */
+       void specialMenu(std::string const &);
        /// Expands some special entries of the menu
        /** The entries with the following kind are expanded to a
            sequence of Command MenuItems: Lastfiles, Documents,
@@ -211,14 +222,24 @@ public:
                return menulist_.begin();
        }
        ///
+       iterator begin() {
+               return menulist_.begin();
+       }
+       ///
        const_iterator end() const {
                return menulist_.end();
        }
+       ///
+       iterator end() {
+               return menulist_.end();
+       }
 private:
        ///
        MenuList menulist_;
        ///
        Menu menubar_;
+       ///
+       Menu * specialmenu_;
 };
 
 ///