// -*- C++ -*- /** * \file Menubar_pimpl.h * Copyright 1995 Matthias Ettrich * Copyright 1995-2002 the LyX Team * Copyright 1996-2001 Lars Gullik Bjønnes * Read the file COPYING * * \author Lars Gullik Bjønnes, larsbj@lyx.org */ #ifndef MENUBAR_PIMPL_H #define MENUBAR_PIMPL_H #ifdef __GNUG__ #pragma interface #endif #include "LString.h" #include "frontends/Menubar.h" #include #include "forms_fwd.h" #include // Window #include #include class LyXView; class XFormsView; class Menu; class MenuItem; /** The LyX GUI independent menubar class The GUI interface is implemented in the corresponding Menubar_pimpl class. */ struct Menubar::Pimpl { public: /// Pimpl(LyXView *, MenuBackend const &); /// update the state of the menuitems void update(); /// Opens a top-level submenu given its name void openByName(string const &); /// static void MenuCallback(FL_OBJECT *, long); private: /// void add_toc(int menu, string const & extra_label, std::vector & smn, Window win); /// void add_references(int menu, string const & extra_label, std::vector & smn, Window win); /// int create_submenu(Window win, XFormsView * view, Menu const & menu, std::vector & smn); // void makeMenubar(Menu const &menu); /// XFormsView * owner_; /// MenuBackend const * menubackend_; /// struct ItemInfo { /// ItemInfo(Menubar::Pimpl * p, MenuItem const * i, FL_OBJECT * o) : pimpl_(p), obj_(o) { item_.reset(i); } /// Menubar::Pimpl * pimpl_; /// boost::shared_ptr item_; /// FL_OBJECT * obj_; }; /// typedef std::vector > ButtonList; /// ButtonList buttonlist_; }; #endif