#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 &);
///
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);
///
MenuBackend const * menubackend_;
///
+ boost::shared_ptr<Box> menubar_;
+ ///
+ WidgetMap widgets_;
+ ///
struct ItemInfo {
///
ItemInfo(XFormsMenubar * p, MenuItem const * i,
///
ButtonList buttonlist_;
};
+
+} // namespace frontend
+} // namespace lyx
+
#endif