#include <boost/shared_ptr.hpp>
#include <vector>
+#include <stack>
namespace lyx {
/** 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,
///
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
///
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;
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_;
} // namespace lyx
-#endif /* MENUBACKEND_H */
+#endif // MENUBACKEND_H