]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/xforms/XFormsMenubar.h
merge booktabs branch
[lyx.git] / src / frontends / xforms / XFormsMenubar.h
index 848e384c55e59ae80812f4beee96ede9ffafa3a4..07c945ef16481166d7e638d3d8c85aed9600985e 100644 (file)
 #ifndef XFORMSMENUBAR_H
 #define XFORMSMENUBAR_H
 
-#include "LString.h"
+#include "funcrequest.h"
 #include "frontends/Menubar.h"
 
+#include "LayoutEngine.h"
+
 #include <boost/shared_ptr.hpp>
 
 #include "forms_fwd.h"
 #include <X11/X.h> // Window
 
 #include <vector>
-#include <map>
 
 class LyXView;
-class XFormsView;
 class Menu;
 class MenuItem;
 class MenuBackend;
 
+namespace lyx {
+namespace frontend {
+
+class XFormsView;
+
 class XFormsMenubar : public Menubar {
 public:
+       ///
+       typedef std::vector<FuncRequest> Funcs;
        ///
        XFormsMenubar(LyXView *, MenuBackend const &);
        ///
@@ -40,21 +47,22 @@ public:
        void update();
 
        /// Opens a top-level submenu given its name
-       void openByName(string const &);
+       void openByName(std::string const &);
 
        ///
        static void MenuCallback(FL_OBJECT *, long);
 
 private:
        ///
-       void add_toc(int menu, string const & extra_label,
+       void add_toc(int menu, std::string const & extra_label,
                     std::vector<int> & smn, Window win);
        ///
-       void add_references(int menu, string const & extra_label,
+       void add_references(int menu, std::string const & extra_label,
                            std::vector<int> & smn, Window win);
        ///
        int create_submenu(Window win, XFormsView * view,
-                          Menu const & menu, std::vector<int> & smn);
+                          Menu const & menu,
+                          std::vector<int> & smn, Funcs & funcs);
 
        //
        void makeMenubar(Menu const & menu);
@@ -64,6 +72,10 @@ private:
        ///
        MenuBackend const * menubackend_;
        ///
+       boost::shared_ptr<Box> menubar_;
+       ///
+       WidgetMap widgets_;
+       ///
        struct ItemInfo {
                ///
                ItemInfo(XFormsMenubar * p, MenuItem const * i,
@@ -82,4 +94,8 @@ private:
        ///
        ButtonList buttonlist_;
 };
+
+} // namespace frontend
+} // namespace lyx
+
 #endif