#include "LString.h"
#include <gnome--/app.h>
#include "frontends/Menubar.h"
+#include "commandtags.h"
+#include "buffer.h"
class LyXView;
class MenuBackend;
class MenuItem;
class StrPool;
+#ifdef SIGC_CXX_NAMESPACES
+using SigC::Connection;
+#endif
+
#include "debug.h"
/*
void openByName(string const &);
/// update the state of menuitems
void update();
+ /// update TOC, LOF, ... on user' request
+ void updateAllLists();
protected:
/// callback function
void callback(int action);
+ /// callback function used by lists
+ void callbackToc(Buffer::TocItem tg);
/// compose Gnome::UI::Array object describing the menu
- void composeUIInfo(string const & menu_name, vector<Gnome::UI::Info> & Menus);
+ void composeUIInfo(string const & menu_name, vector<Gnome::UI::Info> & Menus, string path);
/// populate wid_act_ vector with all widgets and corresponding actions
void connectWidgetToAction(GnomeUIInfo * guinfo);
+
+ /// lists (toc, lof, lot, loa)
+ struct ListsHolder {
+ string path;
+ Gnome::UI::Array lst;
+
+ ListsHolder () { }
+ ListsHolder (const ListsHolder & a) { path = a.path; lst = a.lst; }
+ };
+ /// populate lists
+ void updateList(vector<Buffer::TocItem> *, vector<ListsHolder> *);
+ /// Add to "Menus" the list of exportable/viewable formats
+ void add_formats(vector<Gnome::UI::Info> & Menus, kb_action action, bool viewable);
private:
///
bool ignore_action_;
int action_;
vector<GtkWidgetToAction> wid_act_;
+
+ /// toc
+ Connection utoc_;
+ vector<ListsHolder> toc_;
};
#endif