From 854eb6f9e9724768b6266b8bf17a8257989e615d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Lars=20Gullik=20Bj=C3=B8nnes?= Date: Fri, 15 Sep 2000 17:01:24 +0000 Subject: [PATCH] regex patch for gnom from Marko git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@1023 a592a061-630c-0410-9148-cb99ea01b6c8 --- ChangeLog | 7 + po/POTFILES.in | 1 - src/frontends/gnome/FormCitation.C | 52 +- src/frontends/gnome/FormCitation.h | 6 +- .../gnome/diainsertcitation_interface.c | 8 + .../gnome/dialogs/diainsertcitation.glade | 14 + src/menus.C | 2192 ----------------- src/menus.h | 108 - 8 files changed, 85 insertions(+), 2303 deletions(-) delete mode 100644 src/menus.C delete mode 100644 src/menus.h diff --git a/ChangeLog b/ChangeLog index 350a1ebe9b..3501ed3f8c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2000-09-15 Marko Vendelin + * src/frontends/gnome/FormCitation.C + * src/frontends/gnome/FormCitation.h + * src/frontends/gnome/diainsertcitation_interface.c + * src/frontends/gnome/dialogs/diainsertcitation.glade: adds + regexp support to FormCitation [Gnome]. + 2000-09-15 John Levon * acconfig.h diff --git a/po/POTFILES.in b/po/POTFILES.in index a70f1b39b2..70efb80a26 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -119,7 +119,6 @@ src/mathed/formulamacro.C src/mathed/math_forms.C src/mathed/math_panel.C src/MenuBackend.C -src/menus.C src/minibuffer.C src/PaperLayout.C src/paragraph.C diff --git a/src/frontends/gnome/FormCitation.C b/src/frontends/gnome/FormCitation.C index 6056cf68d0..9127069e72 100644 --- a/src/frontends/gnome/FormCitation.C +++ b/src/frontends/gnome/FormCitation.C @@ -25,6 +25,7 @@ #include "buffer.h" #include "lyxfunc.h" #include "support/filetools.h" +#include "support/LRegex.h" extern "C" { #include "diainsertcitation_interface.h" @@ -63,6 +64,9 @@ using SigC::bind; #define CONF_COLUMN "column" #define CONF_COLUMN_DEFAULT "=50" +#define CONF_REGEXP "regexp" +#define CONF_REGEXP_DEFAULT "=0" + FormCitation::FormCitation(LyXView * lv, Dialogs * d) : lv_(lv), d_(d), u_(0), h_(0), ih_(0), inset_(0), dialog_(NULL) @@ -209,6 +213,8 @@ void FormCitation::show() button_down_ = Gtk::wrap( GTK_BUTTON( lookup_widget(pd, "button_down") ) ); button_search_ = Gtk::wrap( GTK_BUTTON( lookup_widget(pd, "button_search") ) ); + button_regexp_ = Gtk::wrap( GTK_CHECK_BUTTON( lookup_widget(pd, "button_regexp") ) ); + paned_info_ = Gtk::wrap( GTK_PANED( lookup_widget(pd, "vpaned_info") ) ); paned_key_ = Gtk::wrap( GTK_PANED( lookup_widget(pd, "hpaned_key") ) ); box_keys_ = Gtk::wrap( GTK_BOX( lookup_widget(pd, "vbox_keys") ) ); @@ -291,6 +297,10 @@ void FormCitation::show() w = path + "/" + CONF_COLUMN + "_" + tostr(i) + CONF_COLUMN_DEFAULT; clist_bib_->column(i).set_width( gnome_config_get_int(w.c_str()) ); } + + // restoring regexp setting + w = path + "/" + CONF_REGEXP + CONF_REGEXP_DEFAULT; + button_regexp_->set_active( (gnome_config_get_int(w.c_str()) > 0) ); // ready to go... if (!dialog_->is_visible()) dialog_->show_all(); @@ -499,6 +509,9 @@ void FormCitation::free() gnome_config_set_int(w.c_str(), clist_bib_->get_column_width(i)); } + w = path + "/" + CONF_REGEXP; + gnome_config_set_int(w.c_str(), button_regexp_->get_active()); + gnome_config_sync(); // cleaning up @@ -546,8 +559,45 @@ void FormCitation::sortBibList(gint col) clist_bib_->sort(); } -// looking for entries which contain all the words specified in search_text entry void FormCitation::search() +{ + if (button_regexp_->get_active()) searchReg(); + else searchSimple(); +} + +// looking for entries which match regexp +void FormCitation::searchReg() +{ + string tmp, rexptxt( search_text_->get_entry()->get_text() ); + rexptxt = frontStrip( strip( rexptxt ) ); + + LRegex reg(rexptxt); + + // populating clist_bib_ + clist_bib_->rows().clear(); + + clist_bib_->freeze(); + + int i, sz; + bool additem; + for ( i = 0, sz = bibkeys.size(); i < sz; ++i ) + { + string data = bibkeys[i] + bibkeysInfo[i]; + + if (rexptxt.empty()) additem = true; + else additem = (reg.exec(data).size() > 0); + + if ( additem ) addItemToBibList(i); + } + + clist_bib_->sort(); + clist_bib_->thaw(); + // clist_bib_: done + updateButtons(); +} + +// looking for entries which contain all the words specified in search_text entry +void FormCitation::searchSimple() { vector searchwords; string tmp, stext( search_text_->get_entry()->get_text() ); diff --git a/src/frontends/gnome/FormCitation.h b/src/frontends/gnome/FormCitation.h index c55838aada..96cd4d0773 100644 --- a/src/frontends/gnome/FormCitation.h +++ b/src/frontends/gnome/FormCitation.h @@ -28,6 +28,7 @@ #include #include #include +#include /** This class provides an Gnome implementation of the FormCitation Dialog. */ @@ -74,6 +75,8 @@ private: void moveCitationDown(); /// searches for entries void search(); + void searchReg(); + void searchSimple(); /// add item to the list void addItemToBibList(int i); @@ -113,7 +116,8 @@ private: Gtk::Button * button_up_; Gtk::Button * button_down_; Gtk::Button * button_search_; - + Gtk::CheckButton * button_regexp_; + Gtk::CList * clist_selected_; Gtk::CList * clist_bib_; diff --git a/src/frontends/gnome/diainsertcitation_interface.c b/src/frontends/gnome/diainsertcitation_interface.c index 5a810ab0cc..776fb97009 100644 --- a/src/frontends/gnome/diainsertcitation_interface.c +++ b/src/frontends/gnome/diainsertcitation_interface.c @@ -42,6 +42,7 @@ create_DiaInsertCitation (void) GtkWidget *search_text; GtkWidget *combo_entry1; GtkWidget *button_search; + GtkWidget *button_regexp; GtkWidget *vbox5; GtkWidget *alignment2; GtkWidget *label16; @@ -236,6 +237,13 @@ create_DiaInsertCitation (void) gtk_box_pack_start (GTK_BOX (hbox3), button_search, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (button_search), 2); + button_regexp = gtk_check_button_new_with_label (_("Use Regular Expression")); + gtk_widget_ref (button_regexp); + gtk_object_set_data_full (GTK_OBJECT (DiaInsertCitation), "button_regexp", button_regexp, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show (button_regexp); + gtk_box_pack_start (GTK_BOX (hbox3), button_regexp, FALSE, FALSE, 0); + vbox5 = gtk_vbox_new (FALSE, 1); gtk_widget_ref (vbox5); gtk_object_set_data_full (GTK_OBJECT (DiaInsertCitation), "vbox5", vbox5, diff --git a/src/frontends/gnome/dialogs/diainsertcitation.glade b/src/frontends/gnome/dialogs/diainsertcitation.glade index 783b571e57..167d6a756f 100644 --- a/src/frontends/gnome/dialogs/diainsertcitation.glade +++ b/src/frontends/gnome/dialogs/diainsertcitation.glade @@ -375,6 +375,20 @@ False + + + GtkCheckButton + button_regexp + True + + False + True + + 0 + False + False + + diff --git a/src/menus.C b/src/menus.C deleted file mode 100644 index a34dbdce26..0000000000 --- a/src/menus.C +++ /dev/null @@ -1,2192 +0,0 @@ -/* - * This file is part of - * ================================================== - * - * LyX, The Document Processor - * - * Copyright 1995 Matthias Ettrich - * Copyright 1995-2000 The LyX Team. - * - * ================================================== - */ - -/* This file contains all the menu and submenu declarations. - The call backs are in lyx_cb.C */ - -/* - * REMEMBER: - * XFORMS can handle 10 (more with the new xforms, but not unlimited) - * popups at the same time - * so when you are finished looking at a pup free it (fl_freepup) - */ - -#include - -#ifdef __GNUG__ -#pragma implementation -#endif - -#include - -#include "menus.h" -#include "version.h" -#include "lyxfont.h" -#include "lyx_main.h" -#include "lyxfunc.h" -#include "spellchecker.h" -#include "support/filetools.h" -#include "LyXView.h" -#include "lastfiles.h" -#include "bufferlist.h" -#include "lyx_gui_misc.h" -#include "minibuffer.h" -#include "intl.h" -#include "debug.h" -#include "lyxrc.h" -#include "lyxtext.h" -#include "gettext.h" -#include "layout.h" -#include "lyx_cb.h" -#include "bufferview_funcs.h" -#include "insets/insetref.h" -#include "insets/insettabular.h" -#include "tabular.h" -#include "exporter.h" - -#include "frontends/Dialogs.h" - -using std::vector; -using std::pair; -using std::endl; -using std::max; -using std::min; -using std::sort; - -extern BufferList bufferlist; - -// I would really prefere to see most or all of these 'extern's disappear. -// Their commands should be called through LyXFunc (IMO). (Lgb) - -extern void MenuLayoutSave(); -extern void ShowCredits(); - -// A bunch of wrappers - -extern "C" void C_Menus_ShowFileMenu(FL_OBJECT * ob, long data) -{ - Menus::ShowFileMenu(ob, data); -} - -extern "C" void C_Menus_ShowFileMenu2(FL_OBJECT * ob, long data) -{ - Menus::ShowFileMenu2(ob, data); -} - -extern "C" void C_Menus_ShowEditMenu(FL_OBJECT * ob, long data) -{ - Menus::ShowEditMenu(ob, data); -} - -extern "C" void C_Menus_ShowTocMenu(FL_OBJECT * ob, long data) -{ - Menus::ShowTocMenu(ob, data); -} - -extern "C" void C_Menus_ShowRefsMenu(FL_OBJECT * ob, long data) -{ - Menus::ShowRefsMenu(ob, data); -} - -extern "C" void C_Menus_ShowLayoutMenu(FL_OBJECT * ob, long data) -{ - Menus::ShowLayoutMenu(ob, data); -} - -extern "C" void C_Menus_ShowInsertMenu(FL_OBJECT * ob, long data) -{ - Menus::ShowInsertMenu(ob, data); -} - -extern "C" void C_Menus_ShowMathMenu(FL_OBJECT * ob, long data) -{ - Menus::ShowMathMenu(ob, data); -} - -extern "C" void C_Menus_ShowOptionsMenu(FL_OBJECT * ob, long data) -{ - Menus::ShowOptionsMenu(ob, data); -} - -extern "C" void C_Menus_ShowBufferMenu(FL_OBJECT * ob, long data) -{ - Menus::ShowBufferMenu(ob, data); -} - -extern "C" void C_Menus_ShowHelpMenu(FL_OBJECT * ob, long data) -{ - Menus::ShowHelpMenu(ob, data); -} - - -Menus::Menus(LyXView * view, int air) - : _view(view) -{ - create_menus(air); - // deactivate the menu accelerators - fl_set_object_shortcut(menu_file, "", 1); - fl_set_object_shortcut(menu_file2, "", 1); - fl_set_object_shortcut(menu_edit, "", 1); - fl_set_object_shortcut(menu_toc, "", 1); - fl_set_object_shortcut(menu_refs, "", 1); - fl_set_object_shortcut(menu_layout, "", 1); - fl_set_object_shortcut(menu_math, "", 1); - fl_set_object_shortcut(menu_insert, "", 1); - fl_set_object_shortcut(menu_options, "", 1); - fl_set_object_shortcut(menu_options2, "", 1); - fl_set_object_shortcut(menu_buffer, "", 1); - fl_set_object_shortcut(menu_help, "", 1); - fl_set_object_shortcut(menu_help2, "", 1); - hideMenus(); -} - - -inline -BufferView * Menus::currentView() -{ - return _view->view(); -} - - -void Menus::showMenus() -{ - fl_hide_object(menu_grp2); - fl_show_object(menu_grp1); -} - - -void Menus::hideMenus() -{ - fl_hide_object(menu_grp1); - fl_show_object(menu_grp2); -} - - -void Menus::openByName(string const & menuName) - /* Opens the visible menu of given name, or simply does nothing - when the name is not known. NOTE THE EXTREMELY STUPID - IMPLEMENTATION! :-) There are probably hundred ways to do - this better, for instance, by scanning the menu objects and - testing for the given name. I leave this as an exercise for an - experienced GG (GUI Guy/Girl). RVDK_PATCH_5. */ -{ - if (menu_file->visible) { - if (menuName == _("File")) - ShowFileMenu(menu_file, 0); - else if (menuName == _("Edit")) - ShowEditMenu(menu_edit, 0); - else if (menuName == _("TOC")) - ShowTocMenu(menu_toc, 0); - else if (menuName == _("Refs")) - ShowRefsMenu(menu_refs, 0); - else if (menuName == _("Layout")) - ShowLayoutMenu(menu_layout, 0); - else if (menuName == _("Insert")) - ShowInsertMenu(menu_insert, 0); - else if (menuName == _("Math")) - ShowMathMenu(menu_math, 0); - else if (menuName == _("Options")) - ShowOptionsMenu(menu_options, 0); - else if (menuName == _("Documents")) - ShowBufferMenu(menu_buffer, 0); - else if (menuName == _("Help")) - ShowHelpMenu(menu_help, 0); - else lyxerr << "The menu '" << menuName - << "' is not available." << endl; - } else { - if (menuName == _("File")) - ShowFileMenu2(menu_file2, 0); - else if (menuName == _("Options")) - ShowOptionsMenu(menu_options2, 0); - else if (menuName == _("Help")) - ShowHelpMenu(menu_help2, 0); - else lyxerr << "The menu '" << menuName - << "' is not available." << endl; - } -} - - -void Menus::create_menus(int air) -{ - FL_FORM * form = _view->getForm(); - - // Here I'd really like to see code like: - // addMenuBar(); - FL_OBJECT * obj; - - const int MENU_LABEL_SIZE = FL_NORMAL_SIZE; - const int mheight = 30; - const int mbheight= 22; - // where to place the menubar? - const int yloc = (mheight - mbheight)/2; //air + bw; - const int mbadd = 20; // menu button add (to width) - int moffset = 0; - - // menubar frame - obj = fl_add_frame(FL_UP_FRAME, 0, 0, form->w, mheight, ""); - fl_set_object_resize(obj, FL_RESIZE_ALL); - fl_set_object_gravity(obj, NorthWestGravity, NorthEastGravity); - - menu_grp1 = fl_bgn_group(); - - // File menu button - menu_file = obj = - fl_add_button(FL_TOUCH_BUTTON, - air+moffset, yloc, - fl_get_string_width(FL_BOLD_STYLE, - MENU_LABEL_SIZE, - _("File"), - strlen(_("File"))) + mbadd, - mbheight, _("File")); - moffset += obj->w + air; - fl_set_object_shortcut(obj, scex(_("MB|#F")), 1); - fl_set_object_callback(obj, C_Menus_ShowFileMenu, 0); - obj->u_vdata = this; - - // Edit menu button - menu_edit = obj = - fl_add_button(FL_TOUCH_BUTTON, - moffset, yloc, - fl_get_string_width(FL_BOLD_STYLE, - MENU_LABEL_SIZE, - _("Edit"), - strlen(_("Edit"))) + mbadd, - mbheight, _("Edit")); - moffset += obj->w + air; - fl_set_object_shortcut(obj, scex(_("MB|#E")), 1); - fl_set_object_callback(obj, C_Menus_ShowEditMenu, 0); - obj->u_vdata = this; - - /// TOC menu button - menu_toc = obj = - fl_add_button(FL_TOUCH_BUTTON, - moffset, yloc, - fl_get_string_width(FL_BOLD_STYLE, - MENU_LABEL_SIZE, - _("TOC"), - strlen(_("TOC"))) + mbadd, - mbheight, _("TOC")); - moffset += obj->w + air; - fl_set_object_shortcut(obj, scex(_("MB|#T")), 1); - fl_set_object_callback(obj, C_Menus_ShowTocMenu, 0); - obj->u_vdata = this; - - /// Refs menu button - menu_refs = obj = - fl_add_button(FL_TOUCH_BUTTON, - moffset, yloc, - fl_get_string_width(FL_BOLD_STYLE, - MENU_LABEL_SIZE, - _("Refs"), - strlen(_("Refs"))) + mbadd, - mbheight, _("Refs")); - moffset += obj->w + air; - fl_set_object_shortcut(obj, scex(_("MB|#R")), 1); - fl_set_object_callback(obj, C_Menus_ShowRefsMenu, 0); - obj->u_vdata = this; - - // Layout menu button - menu_layout = obj = - fl_add_button(FL_TOUCH_BUTTON, - moffset, yloc, - fl_get_string_width(FL_BOLD_STYLE, - MENU_LABEL_SIZE, - _("Layout"), - strlen(_("Layout"))) + mbadd, - mbheight, _("Layout")); - moffset += obj->w + air; - fl_set_object_shortcut(obj, scex(_("MB|#L")), 1); - fl_set_object_callback(obj, C_Menus_ShowLayoutMenu, 0); - obj->u_vdata = this; - - // Insert menu button button - menu_insert = obj = - fl_add_button(FL_TOUCH_BUTTON, - moffset, yloc, - fl_get_string_width(FL_BOLD_STYLE, - MENU_LABEL_SIZE, - _("Insert"), - strlen(_("Insert"))) + mbadd, - mbheight, _("Insert")); - moffset += obj->w + air; - fl_set_object_shortcut(obj, scex(_("MB|#I")), 1); - fl_set_object_callback(obj, C_Menus_ShowInsertMenu, 0); - obj->u_vdata = this; - - // Math menu button - menu_math = obj = - fl_add_button(FL_TOUCH_BUTTON, - moffset, yloc, - fl_get_string_width(FL_BOLD_STYLE, - MENU_LABEL_SIZE, - _("Math"), - strlen(_("Math"))) + mbadd, - mbheight, _("Math")); - moffset += obj->w + air; - fl_set_object_shortcut(obj, scex(_("MB|#M")), 1); - fl_set_object_callback(obj, C_Menus_ShowMathMenu, 0); - obj->u_vdata = this; - - // Options menu button - menu_options = obj = - fl_add_button(FL_TOUCH_BUTTON, - moffset, yloc, - fl_get_string_width(FL_BOLD_STYLE, - MENU_LABEL_SIZE, - _("Options"), - strlen(_("Options"))) + mbadd, - mbheight, _("Options")); - moffset += obj->w + air; - fl_set_object_shortcut(obj, scex(_("MB|#O")), 1); - fl_set_object_callback(obj, C_Menus_ShowOptionsMenu, 0); - obj->u_vdata = this; - - // Documents menu button - menu_buffer = obj = - fl_add_button(FL_TOUCH_BUTTON, - moffset, yloc, - fl_get_string_width(FL_BOLD_STYLE, - MENU_LABEL_SIZE, - _("Documents"), - strlen(_("Documents"))) + mbadd, - mbheight, _("Documents")); - moffset += obj->w + air; - fl_set_object_shortcut(obj, scex(_("MB|#D")), 1); - fl_set_object_callback(obj, C_Menus_ShowBufferMenu, 0); - obj->u_vdata = this; - - // Help menu button - menu_help = obj = - fl_add_button(FL_TOUCH_BUTTON, - moffset, yloc, - fl_get_string_width(FL_BOLD_STYLE, - MENU_LABEL_SIZE, - _("Help"), - strlen(_("Help"))) + mbadd, - mbheight, _("Help")); - moffset += obj->w + air; - fl_set_object_shortcut(obj, scex(_("MB|#H")), 1); - fl_set_object_callback(obj, C_Menus_ShowHelpMenu, 0); - obj->u_vdata = this; - - fl_end_group(); - - // Set the menu buttons atrributes. - // Due to a bug in xforms we cant do this only an the group. - obj = menu_grp1->next; - do { - fl_set_object_boxtype(obj, FL_FLAT_BOX); - fl_set_object_color(obj, FL_MCOL, FL_MCOL); - fl_set_object_lsize(obj, MENU_LABEL_SIZE); - fl_set_object_lstyle(obj, FL_BOLD_STYLE); - fl_set_object_resize(obj, FL_RESIZE_ALL); - fl_set_object_gravity(obj, NorthWestGravity, NorthWestGravity); - obj= obj->next; - } while (obj != 0 && obj->objclass != FL_END_GROUP); - - // group 2 - moffset = 0; - menu_grp2 = fl_bgn_group(); - - // File menu button - menu_file2 = obj = - fl_add_button(FL_TOUCH_BUTTON, - air+moffset, yloc, - fl_get_string_width(FL_BOLD_STYLE, - MENU_LABEL_SIZE, - _("File"), - strlen(_("File"))) + mbadd, - mbheight, _("File")); - moffset += obj->w + air; - fl_set_object_shortcut(obj, scex(_("MB|#F")), 1); - fl_set_object_callback(obj, C_Menus_ShowFileMenu2, 0); - obj->u_vdata = this; - - // Options menu button - menu_options2 = obj = - fl_add_button(FL_TOUCH_BUTTON, - moffset, yloc, - fl_get_string_width(FL_BOLD_STYLE, - MENU_LABEL_SIZE, - _("Options"), - strlen(_("Options"))) +mbadd, - mbheight, _("Options")); - moffset += obj->w + air; - fl_set_object_shortcut(obj, scex(_("MB|#O")), 1); - fl_set_object_callback(obj, C_Menus_ShowOptionsMenu, 0); - obj->u_vdata = this; - - // Help menu button - menu_help2 = obj = - fl_add_button(FL_TOUCH_BUTTON, - moffset, yloc, - fl_get_string_width(FL_BOLD_STYLE, - MENU_LABEL_SIZE, - _("Help"), - strlen(_("Help"))) + mbadd, - mbheight, _("Help")); - moffset += obj->w + air; - fl_set_object_shortcut(obj, scex(_("MB|#H")), 1); - fl_set_object_callback(obj, C_Menus_ShowHelpMenu, 0); - obj->u_vdata = this; - - fl_end_group(); - - // Set the menu buttons atrributes. - // Due to a bug in xforms we cant do this only an the group. - obj = menu_grp2->next; - do { - fl_set_object_boxtype(obj, FL_FLAT_BOX); - fl_set_object_color(obj, FL_MCOL, FL_MCOL); - fl_set_object_lsize(obj, MENU_LABEL_SIZE); - fl_set_object_lstyle(obj, FL_BOLD_STYLE); - fl_set_object_resize(obj, FL_RESIZE_ALL); - fl_set_object_gravity(obj, NorthWestGravity, NorthWestGravity); - obj= obj->next; - } while (obj != 0 && obj->objclass != FL_END_GROUP); -} - - -// -// Here comes all the menu callbacks. -// - -void Menus::ShowFileMenu(FL_OBJECT * ob, long) -{ - Menus * men = static_cast(ob->u_vdata); - - // Regarding the pseudo-menu-button: - // ok, ok this is a hack. It would be better to use the menus of the - // xforms 0.8 library. but then all popups have to be defined all the - // time, code rewriting would be necessary and contex-depending menus - // (i.e. the linux-doc-sgml stuff) are a bit more complicated. But of - // course it would be more proper (and little faster). So if anybody - // likes to do the cleanup, just do it. Matthias - - // set the pseudo menu-button - fl_set_object_boxtype(ob, FL_UP_BOX); - fl_set_button(ob, 0); - fl_redraw_object(ob); - - Buffer * tmpbuffer = men->_view->buffer(); - LyXFunc * tmpfunc = men->_view->getLyXFunc(); - - bool LinuxDoc = tmpbuffer->isLinuxDoc(); - bool DocBook = tmpbuffer->isDocBook(); - bool Literate = tmpbuffer->isLiterate(); - - // Import sub-menu - - int SubFileImport = fl_defpup(FL_ObjWin(ob), - _("Import%t" - "|LaTeX...%x30" - "|Ascii Text as Lines...%x31" - "|Ascii Text as Paragraphs%x32" - "|Noweb%x33" - "|LinuxDoc%x34")); - - fl_setpup_shortcut(SubFileImport, 30, scex(_("FIM|Ll#l#L"))); - fl_setpup_shortcut(SubFileImport, 31, scex(_("FIM|Aa#a#A"))); - fl_setpup_shortcut(SubFileImport, 32, scex(_("FIM|Pp#p#P"))); - fl_setpup_shortcut(SubFileImport, 33, scex(_("FIM|Nn#n#N"))); - fl_setpup_shortcut(SubFileImport, 34, scex(_("FIM|Dd#d#D"))); - - // Export sub-menu -#ifdef NEW_EXPORT - int SubFileExport = fl_defpup(FL_ObjWin(ob), - _("Export%t")); - vector > formats = - Exporter::GetExportableFormats(tmpbuffer); - for (vector >::size_type i = 0; - i < formats.size(); ++i) { - string entry = _("as ") - + formats[i].second - + "%x" + tostr(1000+i); - fl_addtopup(SubFileExport, entry.c_str()); - } -#else - // remember to make this handle linuxdoc too. - // and now docbook also. - - int SubFileExport = 0; - if (!LinuxDoc && !DocBook) - SubFileExport= fl_defpup(FL_ObjWin(ob), - _("Export%t" - "|as LaTeX...%x40" - "|as DVI...%x41" - "|as PostScript...%x42" - "|as Ascii Text...%x43" - "|as HTML...%x44" - "|Custom...%x45")); - else if(LinuxDoc) - SubFileExport= fl_defpup(FL_ObjWin(ob), - _("Export%t" - "|as LinuxDoc...%x40" - "|as DVI...%x41" - "|as PostScript...%x42" - "|as Ascii Text...%x43" - "|as HTML...%x44")); - else if(DocBook) - SubFileExport= fl_defpup(FL_ObjWin(ob), - _("Export%t" - "|as DocBook...%x40" - "|as DVI...%x41" - "|as PostScript...%x42" - "|as Ascii Text...%x43" - "|as HTML...%x44")); - fl_setpup_shortcut(SubFileExport, 40, scex(_("FEX|Ll#l#L"))); - fl_setpup_shortcut(SubFileExport, 41, scex(_("FEX|Dd#d#D"))); - fl_setpup_shortcut(SubFileExport, 42, scex(_("FEX|Pp#p#P"))); - fl_setpup_shortcut(SubFileExport, 43, scex(_("FEX|Tt#t#T"))); - fl_setpup_shortcut(SubFileExport, 44, scex(_("FEX|Hh#h#H"))); - - if (!LinuxDoc && !DocBook) { - fl_setpup_shortcut(SubFileExport, 45, scex(_("FEX|mM#m#M"))); - } -#endif - - int FileMenu = fl_defpup(FL_ObjWin(ob), - _("New..." - "|New from template..." - "|Open...%l" - "|Close" - "|Save" - "|Save As..." - "|Revert to saved%l" - "|View dvi" - "|View PostScript" - "|Update dvi" - "|Update PostScript" - "|Build program%l" - "|Print..." - "|Fax...")); - - fl_setpup_shortcut(FileMenu, 1, scex(_("FM|Nn#n#N"))); - fl_setpup_shortcut(FileMenu, 2, scex(_("FM|tT#t#T"))); - fl_setpup_shortcut(FileMenu, 3, scex(_("FM|Oo#o#O"))); - fl_setpup_shortcut(FileMenu, 4, scex(_("FM|Cc#c#C"))); - fl_setpup_shortcut(FileMenu, 5, scex(_("FM|Ss#s#S"))); - fl_setpup_shortcut(FileMenu, 6, scex(_("FM|Aa#a#A"))); - fl_setpup_shortcut(FileMenu, 7, scex(_("FM|Rr#r#R"))); - fl_setpup_shortcut(FileMenu, 8, scex(_("FM|dD#d#D"))); - fl_setpup_shortcut(FileMenu, 9, scex(_("FM|wW#w#W"))); - fl_setpup_shortcut(FileMenu, 10, scex(_("FM|vV#v#V"))); - fl_setpup_shortcut(FileMenu, 11, scex(_("FM|Uu#u#U"))); - fl_setpup_shortcut(FileMenu, 12, scex(_("FM|Bb#b#B"))); - fl_setpup_shortcut(FileMenu, 13, scex(_("FM|Pp#p#P"))); - fl_setpup_shortcut(FileMenu, 14, scex(_("FM|Ff#f#F"))); - - // These commands are disabled when the corresponding programs - // are not installed. I simply grey them out, since I do not - // want to change their number (JMarc) - bool hasLaTeX = lyxrc.latex_command != "none"; - - if (!hasLaTeX || lyxrc.view_dvi_command == "none") - fl_setpup_mode(FileMenu, 8, FL_PUP_GREY); - - if (!hasLaTeX || lyxrc.view_ps_command == "none") - fl_setpup_mode(FileMenu, 9, FL_PUP_GREY); - - if (!hasLaTeX) { - fl_setpup_mode(FileMenu, 10, FL_PUP_GREY); - fl_setpup_mode(FileMenu, 11, FL_PUP_GREY); - } - - if (lyxrc.literate_command == "none" || ! Literate) - fl_setpup_mode(FileMenu, 12, FL_PUP_GREY); - - if (!hasLaTeX || lyxrc.print_command == "none") - fl_setpup_mode(FileMenu, 13, FL_PUP_GREY); - - if (!hasLaTeX || lyxrc.fax_command == "none") - fl_setpup_mode(FileMenu, 14, FL_PUP_GREY); - - bool hasReLyX = lyxrc.relyx_command != "none"; - if (!hasReLyX) { - // Disable import LaTeX and Noweb - fl_setpup_mode(SubFileImport, 30, FL_PUP_GREY); - fl_setpup_mode(SubFileImport, 33, FL_PUP_GREY); - } - - if ( lyxrc.linuxdoc_to_lyx_command == "none") - fl_setpup_mode(SubFileImport, 34, FL_PUP_GREY); - -#ifndef NEW_EXPORT - if (!hasLaTeX) { - // Disable export dvi and export postscript - fl_setpup_mode(SubFileExport, 41, FL_PUP_GREY); - fl_setpup_mode(SubFileExport, 42, FL_PUP_GREY); - } - - if ((!LinuxDoc && !DocBook && lyxrc.html_command == "none") || - ( LinuxDoc && lyxrc.linuxdoc_to_html_command == "none") || - ( DocBook && lyxrc.docbook_to_html_command == "none")) { - // Disable export HTML - fl_setpup_mode(SubFileExport, 44, FL_PUP_GREY); - } -#endif - - // xgettext:no-c-format - fl_addtopup(FileMenu, _("|Import%m"), SubFileImport); - // xgettext:no-c-format - fl_addtopup(FileMenu, _("|Export%m%l"), SubFileExport); - // xgettext:no-c-format - fl_addtopup(FileMenu, _("|Exit%l")); - fl_setpup_shortcut(FileMenu, 15, scex(_("FM|Ii#i#I"))); - fl_setpup_shortcut(FileMenu, 16, scex(_("FM|Ee#e#E"))); - fl_setpup_shortcut(FileMenu, 17, scex(_("FM|xX#x#X"))); - - // make the lastfiles menu - int ii = 1; - for (LastFiles::const_iterator cit = lastfiles->begin(); - cit != lastfiles->end() && ii < 10; ++cit, ++ii) { - string tmp = tostr(ii); - string tmp2 = tmp + "#" + tmp; - tmp += ". " + MakeDisplayPath((*cit), 30); - fl_addtopup(FileMenu, tmp.c_str()); - fl_setpup_shortcut(FileMenu, 18 - 1 + ii, tmp2.c_str()); - } - - // place popup - fl_setpup_position( - men->_view->getForm()->x + ob->x, - men->_view->getForm()->y + ob->y + ob->h + 10); - int choice = fl_dopup(FileMenu); - XFlush(fl_display); - - // set the pseudo menu-button back - fl_set_object_boxtype(ob, FL_FLAT_BOX); - fl_redraw_object(ob); - - switch (choice) { - case -1: case 0: // we won't do anything - break; - case 1: tmpfunc->Dispatch(LFUN_MENUNEW); break; - case 2: tmpfunc->Dispatch(LFUN_MENUNEWTMPLT); break; - case 3: tmpfunc->Dispatch(LFUN_MENUOPEN); break; - case 4: tmpfunc->Dispatch(LFUN_CLOSEBUFFER); break; - case 5: tmpfunc->Dispatch(LFUN_MENUWRITE); break; - case 6: tmpfunc->Dispatch(LFUN_MENUWRITEAS); break; - case 7: tmpfunc->Dispatch(LFUN_MENURELOAD); break; -#ifdef NEW_EXPORT - case 8: tmpfunc->Dispatch(LFUN_PREVIEW, "dvi"); break; - case 9: tmpfunc->Dispatch(LFUN_PREVIEW, "ps"); break; - case 10: tmpfunc->Dispatch(LFUN_UPDATE, "dvi"); break; - case 11: tmpfunc->Dispatch(LFUN_UPDATE, "ps"); break; -#else - case 8: tmpfunc->Dispatch(LFUN_PREVIEW); break; - case 9: tmpfunc->Dispatch(LFUN_PREVIEWPS); break; - case 10: tmpfunc->Dispatch(LFUN_RUNLATEX); break; - case 11: tmpfunc->Dispatch(LFUN_RUNDVIPS); break; -#endif - case 12: tmpfunc->Dispatch(LFUN_BUILDPROG); break; - case 13: tmpfunc->Dispatch(LFUN_MENUPRINT); break; - case 14: tmpfunc->Dispatch(LFUN_FAX); break; - case 15: // import menu - case 30: tmpfunc->Dispatch(LFUN_IMPORT, "latex"); - break; - case 31: tmpfunc->Dispatch(LFUN_IMPORT, "ascii"); - break; - case 32: tmpfunc->Dispatch(LFUN_IMPORT, "asciiparagraph"); - break; - case 33: tmpfunc->Dispatch(LFUN_IMPORT, "noweb"); - break; - case 34: tmpfunc->Dispatch(LFUN_IMPORT, "linuxdoc"); - break; -#ifdef NEW_EXPORT - case 18: - tmpfunc->Dispatch(LFUN_QUIT); - break; - default: - if (choice >= 1000) - tmpfunc->Dispatch(LFUN_EXPORT, - formats[choice-1000].first.c_str()); - else - men->currentView() - ->buffer(bufferlist - .loadLyXFile((*lastfiles)[choice - 18])); - break; -#else - case 16: // export menu - case 40: - if (!LinuxDoc && !DocBook) - tmpfunc->Dispatch(LFUN_EXPORT, "latex"); - else if(LinuxDoc) - tmpfunc->Dispatch(LFUN_EXPORT, "linuxdoc"); - else - tmpfunc->Dispatch(LFUN_EXPORT, "docbook"); - break; - case 41: tmpfunc->Dispatch(LFUN_EXPORT, "dvi"); - break; - case 42: tmpfunc->Dispatch(LFUN_EXPORT, "postscript"); - break; - case 43: tmpfunc->Dispatch(LFUN_EXPORT, "ascii"); - break; - case 44: tmpfunc->Dispatch(LFUN_EXPORT, "html"); - break; - case 45: tmpfunc->Dispatch(LFUN_EXPORT, "custom"); - break; - case 17: tmpfunc->Dispatch(LFUN_QUIT); break; - // Lastfiles: - case 18: // The first item with lastfiles. - default: - men->currentView() - ->buffer(bufferlist - .loadLyXFile((*lastfiles)[choice - 18])); - break; -#endif - } - fl_freepup(SubFileImport); - fl_freepup(SubFileExport); - fl_freepup(FileMenu); - - AllowInput(men->currentView()); -} - - -void Menus::ShowFileMenu2(FL_OBJECT * ob, long) -{ - Menus * men = static_cast(ob->u_vdata); - - // Regarding the pseudo-menu-button: - // ok, ok this is a hack. It would be better to use the menus of the - // xforms 0.8 library. but then all popups have to be defined all the - // time, code rewriting would be necessary and contex-depending menus - // (i.e. the linux-doc-sgml stuff) are a bit more complicated. But of - // course it would be more proper (and little faster). So if anybody - // likes to do the cleanup, just do it. Matthias - - // set the pseudo menu-button - fl_set_object_boxtype(ob, FL_UP_BOX); - fl_set_button(ob, 0); - fl_redraw_object(ob); - - LyXFunc * tmpfunc = men->_view->getLyXFunc(); - - // Import sub-menu - - int SubFileImport = fl_defpup(FL_ObjWin(ob), - _("Import%t" - "|LaTeX...%x15" - "|Ascii Text as Lines...%x16" - "|Ascii Text as Paragraphs...%x17" - "|Noweb...%x18" - "|LinuxDoc...%x19")); - - fl_setpup_shortcut(SubFileImport, 15, scex(_("FIM|Ll#l#L"))); - fl_setpup_shortcut(SubFileImport, 16, scex(_("FIM|Aa#a#A"))); - fl_setpup_shortcut(SubFileImport, 17, scex(_("FIM|Pp#p#P"))); - fl_setpup_shortcut(SubFileImport, 18, scex(_("FIM|Nn#n#N"))); - fl_setpup_shortcut(SubFileImport, 19, scex(_("FIM|Dd#d#D"))); - - bool hasReLyX = lyxrc.relyx_command != "none"; - if (!hasReLyX) { - // Disable import LaTeX and Noweb - fl_setpup_mode(SubFileImport, 15, FL_PUP_GREY); - fl_setpup_mode(SubFileImport, 18, FL_PUP_GREY); - } - - if ( lyxrc.linuxdoc_to_lyx_command == "none") - fl_setpup_mode(SubFileImport, 19, FL_PUP_GREY); - - // This can be done cleaner later. - int FileMenu = fl_defpup(FL_ObjWin(ob), - _("New..." - "|New from template..." - "|Open...%l" - "|Import%m%l" - "|Exit%l"), SubFileImport); - - fl_setpup_shortcut(FileMenu, 1, scex(_("FM|Nn#n#N"))); - fl_setpup_shortcut(FileMenu, 2, scex(_("FM|tT#t#T"))); - fl_setpup_shortcut(FileMenu, 3, scex(_("FM|Oo#o#O"))); - fl_setpup_shortcut(FileMenu, 4, scex(_("FM|Ii#i#I"))); - fl_setpup_shortcut(FileMenu, 5, scex(_("FM|xX#x#X"))); - - // make the lastfiles menu - int ii = 1; - for (LastFiles::const_iterator cit = lastfiles->begin(); - cit != lastfiles->end() && ii < 10; ++cit, ++ii) { - string tmp = tostr(ii); - string tmp2 = tmp + "#" + tmp; - tmp += ". " + MakeDisplayPath((*cit), 30); - fl_addtopup(FileMenu, tmp.c_str()); - fl_setpup_shortcut(FileMenu, 18 - 1 + ii, tmp2.c_str()); - } - - // place popup - fl_setpup_position( - men->_view->getForm()->x + ob->x, - men->_view->getForm()->y + ob->y + ob->h + 10); - int choice = fl_dopup(FileMenu); - XFlush(fl_display); - - // set the pseudo menu-button back - fl_set_object_boxtype(ob, FL_FLAT_BOX); - fl_redraw_object(ob); - - switch (choice) { - case -1: case 0: // we won't do anything - break; - case 1: - tmpfunc->Dispatch(LFUN_MENUNEW); - break; - case 2: - tmpfunc->Dispatch(LFUN_MENUNEWTMPLT); - break; - case 3: - tmpfunc->Dispatch(LFUN_MENUOPEN); - break; - case 4: // import menu - case 15: tmpfunc->Dispatch(LFUN_IMPORT, "latex"); - break; - case 16: tmpfunc->Dispatch(LFUN_IMPORT, "ascii"); - break; - case 17: tmpfunc->Dispatch(LFUN_IMPORT, "asciiparagraph"); - break; - case 18: tmpfunc->Dispatch(LFUN_IMPORT, "noweb"); - break; - case 19: tmpfunc->Dispatch(LFUN_IMPORT, "linuxdoc"); - break; - case 5: - tmpfunc->Dispatch(LFUN_QUIT); - break; - // Lastfiles: - case 6: // The first item with lastfiles. - default: - men->currentView() - ->buffer(bufferlist - .loadLyXFile((*lastfiles)[choice - 6])); - break; - } - - fl_freepup(SubFileImport); - fl_freepup(FileMenu); - AllowInput(men->currentView()); - return; -} - - -void Menus::ShowEditMenu(FL_OBJECT * ob, long) -{ - Menus * men = static_cast(ob->u_vdata); - - // set the pseudo menu-button - fl_set_object_boxtype(ob, FL_UP_BOX); - fl_set_button(ob, 0); - fl_redraw_object(ob); - - Buffer * tmpbuffer = men->_view->buffer(); - LyXFunc * tmpfunc = men->_view->getLyXFunc(); - - // Floats & Insets submenu - int SubEditFloats= fl_defpup(FL_ObjWin(ob), - _("Floats & Insets%t" - "|Open/Close%x21" - "|Melt%x22" - "|Open All Footnotes/Margin Notes%x23" - "|Close All Footnotes/Margin Notes%x24" - "|Open All Figures/Tables%x25" - "|Close All Figures/Tables%x26%l" - "|Remove all Error Boxes%x27")); - - fl_setpup_shortcut(SubEditFloats, 21, scex(_("EMF|Oo#o#O"))); - fl_setpup_shortcut(SubEditFloats, 22, scex(_("EMF|Mm#m#M"))); - fl_setpup_shortcut(SubEditFloats, 23, scex(_("EMF|Aa#a#A"))); - fl_setpup_shortcut(SubEditFloats, 24, scex(_("EMF|Cc#c#C"))); - fl_setpup_shortcut(SubEditFloats, 25, scex(_("EMF|Ff#f#F"))); - fl_setpup_shortcut(SubEditFloats, 26, scex(_("EMF|Tt#t#T"))); - fl_setpup_shortcut(SubEditFloats, 27, scex(_("EMF|Rr#r#R"))); - - // Table submenu - int SubEditTable = fl_newpup(FL_ObjWin(ob)); -#ifndef NEW_TABULAR - if (men->currentView()->available() && - men->currentView()->text->cursor.par()->table && - !tmpbuffer->isReadonly()){ - LyXTable * table = men->currentView()->text->cursor.par()->table; - - fl_addtopup(SubEditTable, _("Table%t")); - - if (table->IsMultiColumn(men->currentView()->text-> - NumberOfCell(men->currentView()-> - text->cursor.par(), - men->currentView()-> - text->cursor.pos()))) - fl_addtopup(SubEditTable, _("|Multicolumn%B%x44%l")); - else - fl_addtopup(SubEditTable, _("|Multicolumn%b%x44%l")); - fl_setpup_shortcut(SubEditTable, 44, scex(_("EMT|Mm#m#M"))); - - if (table->TopLine(men->currentView()->text-> - NumberOfCell(men->currentView()-> - text->cursor.par(), - men->currentView()->text-> - cursor.pos()))) - fl_addtopup(SubEditTable, _("|Line Top%B%x36")); - else - fl_addtopup(SubEditTable, _("|Line Top%b%x36")); - fl_setpup_shortcut(SubEditTable, 36, scex(_("EMT|Tt#t#T"))); - - if (table->BottomLine(men->currentView()->text-> - NumberOfCell(men->currentView()-> - text->cursor.par(), - men->currentView()-> - text->cursor.pos()))) - fl_addtopup(SubEditTable, _("|Line Bottom%B%x37")); - else - fl_addtopup(SubEditTable, _("|Line Bottom%b%x37")); - fl_setpup_shortcut(SubEditTable, 37, scex(_("EMT|Bb#b#B"))); - - if (table->LeftLine(men->currentView()->text-> - NumberOfCell(men->currentView()-> - text->cursor.par(), - men->currentView()-> - text->cursor.pos()))) - fl_addtopup(SubEditTable, _("|Line Left%B%x38")); - else - fl_addtopup(SubEditTable, _("|Line Left%b%x38")); - fl_setpup_shortcut(SubEditTable, 38, scex(_("EMT|Ll#l#L"))); - - if (table->RightLine(men->currentView()->text-> - NumberOfCell(men->currentView()-> - text->cursor.par(), - men->currentView()-> - text->cursor.pos()))) - fl_addtopup(SubEditTable, _("|Line Right%B%x39%l")); - else - fl_addtopup(SubEditTable, _("|Line Right%b%x39%l")); - fl_setpup_shortcut(SubEditTable, 39, scex(_("EMT|Rr#r#R"))); - - int align = - table->GetAlignment(men->currentView()->text-> - NumberOfCell(men->currentView()-> - text->cursor.par(), - men->currentView()-> - text->cursor.pos())); - if (align == LYX_ALIGN_LEFT) - fl_addtopup(SubEditTable, _("|Align Left%R%x40")); - else - fl_addtopup(SubEditTable, _("|Align Left%r%x40")); - fl_setpup_shortcut(SubEditTable, 40, scex(_("EMT|eE#e#E"))); - - if (align == LYX_ALIGN_RIGHT) - fl_addtopup(SubEditTable, _("|Align Right%R%x41")); - else - fl_addtopup(SubEditTable, _("|Align Right%r%x41")); - fl_setpup_shortcut(SubEditTable, 41, scex(_("EMT|iI#i#I"))); - - if (align == LYX_ALIGN_CENTER) - fl_addtopup(SubEditTable, _("|Align Center%R%x42%l")); - else - fl_addtopup(SubEditTable, _("|Align Center%r%x42%l")); - fl_setpup_shortcut(SubEditTable, 42, scex(_("EMT|Cc#c#C"))); - - // xgettext:no-c-format - fl_addtopup(SubEditTable, _("|Append Row%x32")); - fl_setpup_shortcut(SubEditTable, 32, scex(_("EMT|oO#o#O"))); - // xgettext:no-c-format - fl_addtopup(SubEditTable, _("|Append Column%x33%l")); - fl_setpup_shortcut(SubEditTable, 33, scex(_("EMT|uU#u#U"))); - // xgettext:no-c-format - fl_addtopup(SubEditTable, _("|Delete Row%x34")); - fl_setpup_shortcut(SubEditTable, 34, scex(_("EMT|wW#w#W"))); - // xgettext:no-c-format - fl_addtopup(SubEditTable, _("|Delete Column%x35%l")); - fl_setpup_shortcut(SubEditTable, 35, scex(_("EMT|nN#n#N"))); - // xgettext:no-c-format - fl_addtopup(SubEditTable, _("|Delete Table%x43")); - fl_setpup_shortcut(SubEditTable, 43, scex(_("EMT|Dd#d#D"))); - } else -#endif - if (men->currentView()->the_locking_inset && - (men->currentView()->the_locking_inset->LyxCode() == - Inset::TABULAR_CODE) && - !tmpbuffer->isReadonly()) { - InsetTabular * inset = static_cast(men->currentView()->the_locking_inset); - LyXTabular * table = inset->tabular; - - fl_addtopup(SubEditTable, _("Table%t")); - - if (table->IsMultiColumn(inset->GetActCell())) - fl_addtopup(SubEditTable, _("|Multicolumn%B%x44%l")); - else - fl_addtopup(SubEditTable, _("|Multicolumn%b%x44%l")); - fl_setpup_shortcut(SubEditTable, 44, scex(_("EMT|Mm#m#M"))); - - if (table->TopLine(inset->GetActCell())) - fl_addtopup(SubEditTable, _("|Line Top%B%x36")); - else - fl_addtopup(SubEditTable, _("|Line Top%b%x36")); - fl_setpup_shortcut(SubEditTable, 36, scex(_("EMT|Tt#t#T"))); - - if (table->BottomLine(inset->GetActCell())) - fl_addtopup(SubEditTable, _("|Line Bottom%B%x37")); - else - fl_addtopup(SubEditTable, _("|Line Bottom%b%x37")); - fl_setpup_shortcut(SubEditTable, 37, scex(_("EMT|Bb#b#B"))); - - if (table->LeftLine(inset->GetActCell())) - fl_addtopup(SubEditTable, _("|Line Left%B%x38")); - else - fl_addtopup(SubEditTable, _("|Line Left%b%x38")); - fl_setpup_shortcut(SubEditTable, 38, scex(_("EMT|Ll#l#L"))); - - if (table->RightLine(inset->GetActCell())) - fl_addtopup(SubEditTable, _("|Line Right%B%x39%l")); - else - fl_addtopup(SubEditTable, _("|Line Right%b%x39%l")); - fl_setpup_shortcut(SubEditTable, 39, scex(_("EMT|Rr#r#R"))); - - int align = table->GetAlignment(inset->GetActCell()); - if (align == LYX_ALIGN_LEFT) - fl_addtopup(SubEditTable, _("|Align Left%R%x40")); - else - fl_addtopup(SubEditTable, _("|Align Left%r%x40")); - fl_setpup_shortcut(SubEditTable, 40, scex(_("EMT|eE#e#E"))); - - if (align == LYX_ALIGN_RIGHT) - fl_addtopup(SubEditTable, _("|Align Right%R%x41")); - else - fl_addtopup(SubEditTable, _("|Align Right%r%x41")); - fl_setpup_shortcut(SubEditTable, 41, scex(_("EMT|iI#i#I"))); - - if (align == LYX_ALIGN_CENTER) - fl_addtopup(SubEditTable, _("|Align Center%R%x42%l")); - else - fl_addtopup(SubEditTable, _("|Align Center%r%x42%l")); - fl_setpup_shortcut(SubEditTable, 42, scex(_("EMT|Cc#c#C"))); - - // xgettext:no-c-format - fl_addtopup(SubEditTable, _("|Append Row%x32")); - fl_setpup_shortcut(SubEditTable, 32, scex(_("EMT|oO#o#O"))); - // xgettext:no-c-format - fl_addtopup(SubEditTable, _("|Append Column%x33%l")); - fl_setpup_shortcut(SubEditTable, 33, scex(_("EMT|uU#u#U"))); - // xgettext:no-c-format - fl_addtopup(SubEditTable, _("|Delete Row%x34")); - fl_setpup_shortcut(SubEditTable, 34, scex(_("EMT|wW#w#W"))); - // xgettext:no-c-format - fl_addtopup(SubEditTable, _("|Delete Column%x35%l")); - fl_setpup_shortcut(SubEditTable, 35, scex(_("EMT|nN#n#N"))); - // xgettext:no-c-format - fl_addtopup(SubEditTable, _("|Delete Table%x43")); - fl_setpup_shortcut(SubEditTable, 43, scex(_("EMT|Dd#d#D"))); - } else { - fl_addtopup(SubEditTable, _("Table%t")); - // xgettext:no-c-format - fl_addtopup(SubEditTable, _("|Insert table%x31")); - fl_setpup_shortcut(SubEditTable, 31, scex(_("EMT|Ii#i#I"))); - } - - int SubVersionControl = fl_newpup(FL_ObjWin(ob)); - fl_addtopup(SubVersionControl, _("Version Control%t")); - if (tmpbuffer->lyxvc.inUse()) { - // xgettext:no-c-format - fl_addtopup(SubVersionControl, _("|Register%d%x51")); - if (tmpbuffer->isReadonly()) { - // signifies that the file is not checked out - // xgettext:no-c-format - fl_addtopup(SubVersionControl, _("|Check In Changes%d%x52")); - // xgettext:no-c-format - fl_addtopup(SubVersionControl, _("|Check Out for Edit%x53")); - } else { - // signifies that the file is checked out - // xgettext:no-c-format - fl_addtopup(SubVersionControl, _("|Check In Changes%x52")); - // xgettext:no-c-format - fl_addtopup(SubVersionControl, _("|Check Out for Edit%d%x53")); - } - // xgettext:no-c-format - fl_addtopup(SubVersionControl, _("|Revert to last version%x54")); - // xgettext:no-c-format - fl_addtopup(SubVersionControl, _("|Undo last check in%x55")); - // xgettext:no-c-format - fl_addtopup(SubVersionControl, _("|Show History%x56")); - } else { - // xgettext:no-c-format - fl_addtopup(SubVersionControl, _("|Register%x51")); - } - // the shortcuts are not good. - fl_setpup_shortcut(SubVersionControl, 51, scex(_("EMV|Rr#r#R"))); - fl_setpup_shortcut(SubVersionControl, 52, scex(_("EMV|Ii#i#I"))); - fl_setpup_shortcut(SubVersionControl, 53, scex(_("EMV|Oo#o#O"))); - fl_setpup_shortcut(SubVersionControl, 54, scex(_("EMV|lL#l#l"))); - fl_setpup_shortcut(SubVersionControl, 55, scex(_("EMV|Uu#u#U"))); - fl_setpup_shortcut(SubVersionControl, 56, scex(_("EMV|Hh#h#H"))); - - int EditMenu= fl_defpup(FL_ObjWin(ob), - _("Undo" - "|Redo %l" - "|Cut" - "|Copy" - "|Paste%l" - "|Find & Replace..." - "|Go to Error" - "|Go to Note" - "|Floats & Insets%m" - "|Table%m" - "|Spellchecker...." - "|Check TeX" - "|Table of Contents..." - "|List of Figures..." - "|List of Tables..." - "|List of Algorithms...%l" - "|Version Control%m%l" - "|View LaTeX log file%l" - "|Paste Primary Selection as Lines" - "|Paste Primary Selection as Paragraphs"), - SubEditFloats, SubEditTable, SubVersionControl); - - fl_setpup_shortcut(EditMenu, 1, scex(_("EM|Uu#u#U"))); - fl_setpup_shortcut(EditMenu, 2, scex(_("EM|Rr#r#R"))); - fl_setpup_shortcut(EditMenu, 3, scex(_("EM|Cc#c#C"))); - fl_setpup_shortcut(EditMenu, 4, scex(_("EM|oO#o#O"))); - fl_setpup_shortcut(EditMenu, 5, scex(_("EM|Pp#p#P"))); - fl_setpup_shortcut(EditMenu, 6, scex(_("EM|Ff#f#F"))); - fl_setpup_shortcut(EditMenu, 7, scex(_("EM|Ee#e#E"))); - fl_setpup_shortcut(EditMenu, 8, scex(_("EM|Nn#n#N"))); - fl_setpup_shortcut(EditMenu, 9, scex(_("EM|Ii#i#I"))); - //fl_setpup_shortcut(EditMenu, 10, scex(_("EM|Tt#t#T"))); - fl_setpup_shortcut(EditMenu, 11, scex(_("EM|Ss#s#S"))); - fl_setpup_shortcut(EditMenu, 12, scex(_("EM|hH#h#H"))); - fl_setpup_shortcut(EditMenu, 13, scex(_("EM|Tt#t#T"))); - //fl_setpup_shortcut(EditMenu, 14, scex(_("EM|Ff#f#F"))); - //fl_setpup_shortcut(EditMenu, 15, scex(_("EM|bB#b#B"))); - //fl_setpup_shortcut(EditMenu, 16, scex(_("EM|mM#m#M"))); - fl_setpup_shortcut(EditMenu, 17, scex(_("EM|Vv#v#V"))); - fl_setpup_shortcut(EditMenu, 18, scex(_("EM|wW#w#W"))); - fl_setpup_shortcut(EditMenu, 19, scex(_("EM|Ll#l#L"))); - fl_setpup_shortcut(EditMenu, 20, scex(_("EM|gG#g#G"))); - - // disable unavailable entries. - if(tmpbuffer->undostack.empty()) - fl_setpup_mode(EditMenu, 1, FL_PUP_GREY); - if(tmpbuffer->redostack.empty()) - fl_setpup_mode(EditMenu, 2, FL_PUP_GREY); - if(lyxrc.isp_command == "none") - fl_setpup_mode(EditMenu, 11, FL_PUP_GREY); - if(lyxrc.chktex_command == "none") - fl_setpup_mode(EditMenu, 12, FL_PUP_GREY); - - if (tmpbuffer->isReadonly()) { - fl_setpup_mode(EditMenu, 1, FL_PUP_GREY); - fl_setpup_mode(EditMenu, 2, FL_PUP_GREY); - fl_setpup_mode(EditMenu, 3, FL_PUP_GREY); - fl_setpup_mode(EditMenu, 5, FL_PUP_GREY); - fl_setpup_mode(EditMenu, 19, FL_PUP_GREY); - fl_setpup_mode(EditMenu, 20, FL_PUP_GREY); - } - - fl_setpup_position(men->_view->getForm()->x + ob->x, - men->_view->getForm()->y + ob->y + - ob->h + 10); - int choice = fl_dopup(EditMenu); - XFlush(fl_display); - - // set the pseudo menu-button back - fl_set_object_boxtype(ob, FL_FLAT_BOX); - fl_redraw_object(ob); - - switch (choice) { - case 1: tmpfunc->Dispatch(LFUN_UNDO); break; - case 2: tmpfunc->Dispatch(LFUN_REDO); break; - case 3: tmpfunc->Dispatch(LFUN_CUT); break; - case 4: tmpfunc->Dispatch(LFUN_COPY); break; - case 5: tmpfunc->Dispatch(LFUN_PASTE); break; - case 6: tmpfunc->Dispatch(LFUN_MENUSEARCH); break; - case 7: tmpfunc->Dispatch(LFUN_GOTOERROR); break; - case 8: tmpfunc->Dispatch(LFUN_GOTONOTE); break; - case 9: // floats & insets - break; - case 10:// table - break; - case 11: tmpfunc->Dispatch(LFUN_SPELLCHECK); break; - case 12: tmpfunc->Dispatch(LFUN_RUNCHKTEX); break; - case 13: tmpfunc->Dispatch(LFUN_TOCVIEW); break; - case 14: tmpfunc->Dispatch(LFUN_LOFVIEW); break; - case 15: tmpfunc->Dispatch(LFUN_LOTVIEW); break; - case 16: tmpfunc->Dispatch(LFUN_LOAVIEW); break; - case 17: // version control - break; - case 18: tmpfunc->Dispatch(LFUN_LATEX_LOG); break; - case 19: tmpfunc->Dispatch(LFUN_PASTESELECTION, "line"); break; - case 20: tmpfunc->Dispatch(LFUN_PASTESELECTION, "paragraph"); break; - -#ifndef NEW_INSETS - // floats & insets sub-menu - case 21: men->currentView()->toggleFloat(); break; - case 22: tmpfunc->Dispatch(LFUN_MELT); break; - case 23: men->currentView()->allFloats(1, 0); break; - case 24: men->currentView()->allFloats(0, 0); break; - case 25: men->currentView()->allFloats(1, 1); break; - case 26: men->currentView()->allFloats(0, 1); break; - case 27: tmpfunc->Dispatch(LFUN_REMOVEERRORS); break; -#endif - case 31: tmpfunc->Dispatch(LFUN_DIALOG_TABULAR_INSERT); break; - // this is really temporary. We need new function in keybind.C - // These should set the minibuffer, too. - case 32: case 33: case 34: - case 35: case 36: case 37: - case 38: case 39: case 40: - case 41: case 42: case 43: - case 44: - if (men->currentView()->available()) { - men->currentView()->hideCursor(); - if (!men->currentView()->text->selection){ - men->currentView()->beforeChange(); - men->currentView()->update(BufferView::SELECT|BufferView::FITCUR); - } - if (men->currentView()->the_locking_inset && - (men->currentView()->the_locking_inset->LyxCode() - == Inset::TABULAR_CODE)) { - InsetTabular * inset = - static_cast - (men->currentView()->the_locking_inset); - inset->TabularFeatures(men->currentView(), choice - 32); - } -#ifndef NEW_TABULAR - else { - men->currentView()->text-> - TableFeatures(men->currentView(), choice - 32); - men->currentView()->update(BufferView::SELECT|BufferView::FITCUR|BufferView::CHANGE); - } -#endif - } - break; - // version control sub-menu - case 51: // register - tmpfunc->Dispatch(LFUN_VC_REGISTER); - break; - case 52: // check in - tmpfunc->Dispatch(LFUN_VC_CHECKIN); - break; - case 53: // check out - tmpfunc->Dispatch(LFUN_VC_CHECKOUT); - break; - case 54: // revert to last - tmpfunc->Dispatch(LFUN_VC_REVERT); - break; - case 55: // undo last - tmpfunc->Dispatch(LFUN_VC_UNDO); - break; - case 56: // show history - tmpfunc->Dispatch(LFUN_VC_HISTORY); - break; - } - - fl_freepup(EditMenu); - fl_freepup(SubEditFloats); - fl_freepup(SubEditTable); - fl_freepup(SubVersionControl); -} - -vector::size_type const max_number_of_menus = 32; -unsigned int const max_number_of_items = 25; - -string Limit_string_length(string const & str) { - string::size_type const max_item_length = 45; - - if (str.size() > max_item_length) - return str.substr(0, max_item_length-3) + "..."; - else - return str; -} - -void Add_to_toc_menu(vector const & toclist, - unsigned int from, unsigned int to, int depth, - int menu, vector & menus, FL_OBJECT * ob) -{ - if (to - from <= max_number_of_items) { - for (unsigned int i = from; i < to; ++i) { - string entry(4 * max(0, toclist[i].depth - depth),' '); - entry += toclist[i].str; - entry = Limit_string_length(entry); - entry += "%x" + tostr(i + 1); - fl_addtopup(menu, entry.c_str()); - } - } else { - unsigned int pos = from; - unsigned int count = 0; - while (pos < to) { - ++count; - if (count > max_number_of_items) { - fl_addtopup(menu, ". . .%d"); - break; - } - unsigned int new_pos = pos+1; - while (new_pos < to && - toclist[new_pos].depth > depth) - ++new_pos; - - string entry(4 * max(0, toclist[pos].depth - depth), ' '); - entry += toclist[pos].str; - entry = Limit_string_length(entry); - - if (new_pos == pos + 1) { - entry += "%x"; - entry += tostr(pos + 1); - fl_addtopup(menu, entry.c_str()); - } else if (menus.size() < max_number_of_menus) { - int menu2 = fl_newpup(FL_ObjWin(ob)); - menus.push_back(menu2); - Add_to_toc_menu(toclist, pos, new_pos, - depth + 1, menu2, menus,ob); - entry += "%m"; - fl_addtopup(menu, entry.c_str(), menu2); - } else { - entry += "%d"; - fl_addtopup(menu, entry.c_str()); - } - pos = new_pos; - } - } -} - -int const BIG_NUM = 1048576; - -void Menus::ShowTocMenu(FL_OBJECT * ob, long) -{ - Menus * men = static_cast(ob->u_vdata); - vector menus; - - // set the pseudo menu-button - fl_set_object_boxtype(ob, FL_UP_BOX); - fl_set_button(ob, 0); - fl_redraw_object(ob); - - int TocMenu = fl_newpup(FL_ObjWin(ob)); - menus.push_back(TocMenu); - vector > toclist = - men->currentView()->buffer()->getTocList(); - - //xgettext:no-c-format - static char const * MenuNames[3] = { N_("List of Figures%m"), - //xgettext:no-c-format - N_("List of Tables%m"), - //xgettext:no-c-format - N_("List of Algorithms%m") }; - - int max_nonempty = 0; - for (int j = 1; j <= 3; ++j) - if (!toclist[j].empty()) - max_nonempty = j; - - for (int j = 1; j <= 3; ++j) - if (!toclist[j].empty()) { - int menu2 = fl_newpup(FL_ObjWin(ob)); - menus.push_back(menu2); - for (unsigned int i = 0; i < toclist[j].size(); ++i) { - if (i > max_number_of_items) { - fl_addtopup(menu2, ". . .%d"); - break; - } - string entry = Limit_string_length(toclist[j][i].str); - entry += "%x" + tostr(i+1+j*BIG_NUM); - fl_addtopup(menu2, entry.c_str()); - } - if (j == max_nonempty) { - string tmp = _(MenuNames[j-1]); - tmp += "%l"; - fl_addtopup(TocMenu, tmp.c_str(), menu2); - } else - fl_addtopup(TocMenu, _(MenuNames[j-1]), menu2); - } - - Add_to_toc_menu(toclist[0], 0, toclist[0].size(), 0, - TocMenu, menus, ob); - - fl_setpup_position( - men->_view->getForm()->x + ob->x, - men->_view->getForm()->y + ob->y + ob->h + 10); - int choice = fl_dopup(TocMenu); - XFlush(fl_display); - - // set the pseudo menu-button back - fl_set_object_boxtype(ob, FL_FLAT_BOX); - fl_redraw_object(ob); - if (choice == 0) - men->_view->getLyXFunc()->Dispatch(LFUN_TOCVIEW); - else if (choice > 0) { - int type = choice / BIG_NUM; - int num = (choice % BIG_NUM) - 1; - BufferView *bv = men->currentView(); - bv->beforeChange(); - bv->text->SetCursor(bv, toclist[type][num].par, 0); - bv->text->sel_cursor = bv->text->cursor; - bv->update(BufferView::SELECT|BufferView::FITCUR); - } - for (unsigned int i = 0; i < menus.size(); ++i) - fl_freepup(menus[i]); -} - -void Add_to_refs_menu(vector const & label_list, int offset, - int menu, vector & menus, FL_OBJECT * ob) -{ - typedef vector::size_type size_type; - size_type const max_number_of_items = 25; - size_type const max_number_of_items2 = 20; - string::size_type const max_item_length = 40; - string::size_type const max_item_length2 = 20; - - if (label_list.size() <= max_number_of_items) - for (size_type i = 0; i < label_list.size(); ++i) { - string entry = label_list[i]; - if (entry.size() > max_item_length) - entry = entry.substr(0, max_item_length-1) + "$"; - entry += "%x" + tostr(i+offset); - fl_addtopup(menu, entry.c_str()); - } - else { - size_type count = 0; - for (size_type i = 0; i < label_list.size(); - i += max_number_of_items2) { - ++count; - if (count > max_number_of_items) { - fl_addtopup(menu, ". . .%d"); - break; - } - size_type j = min(label_list.size(), - i+max_number_of_items2); - - string entry; - if (label_list[i].size() > max_item_length2) - entry += label_list[i].substr(0, max_item_length2-1) + "$"; - else - entry += label_list[i]; - entry += ".."; - if (label_list[j-1].size() > max_item_length2) - entry += label_list[j-1].substr(0, max_item_length2-1) + "$"; - else - entry += label_list[j-1]; - - if (menus.size() < max_number_of_menus) { - int menu2 = fl_newpup(FL_ObjWin(ob)); - menus.push_back(menu2); - for (size_type k = i; k < j; ++k) { - string entry2 = label_list[k]; - if (entry2.size() > max_item_length) - entry2 = entry2.substr(0, max_item_length-1) + "$"; - entry2 += "%x" + tostr(k+offset); - fl_addtopup(menu2, entry2.c_str()); - } - entry += "%m"; - fl_addtopup(menu, entry.c_str(), menu2); - } else { - entry += "%d"; - fl_addtopup(menu, entry.c_str()); - } - } - } -} - -void Menus::ShowRefsMenu(FL_OBJECT * ob, long) -{ - vector menus; - - Menus * men = static_cast(ob->u_vdata); - - // set the pseudo menu-button - fl_set_object_boxtype(ob, FL_UP_BOX); - fl_set_button(ob, 0); - fl_redraw_object(ob); - - int RefsMenu = fl_newpup(FL_ObjWin(ob)); - menus.push_back(RefsMenu); - Buffer * buffer = men->currentView()->buffer(); - vector label_list = buffer->getLabelList(); - sort(label_list.begin(), label_list.end()); - - //xgettext:no-c-format - static char const * MenuNames[6] = { N_("Insert Reference%m"), - //xgettext:no-c-format - N_("Insert Page Number%m"), - //xgettext:no-c-format - N_("Insert vref%m"), - //xgettext:no-c-format - N_("Insert vpageref%m"), - //xgettext:no-c-format - N_("Insert Pretty Ref%m"), - //xgettext:no-c-format - N_("Goto Reference%m") }; - - for (int j = 0; j < 6; ++j) { - if (menus.size() < max_number_of_menus) { - int menu2 = fl_newpup(FL_ObjWin(ob)); - menus.push_back(menu2); - Add_to_refs_menu(label_list, (j+1)*BIG_NUM, menu2, menus, ob); - fl_addtopup(RefsMenu, _(MenuNames[j]), menu2); - } else { - string tmp = _(MenuNames[j]); - tmp += "%d"; - fl_addtopup(RefsMenu, tmp.c_str()); - } - } - fl_addtopup(RefsMenu, _("Go Back")); - - bool empty = label_list.empty(); - bool sgml = buffer->isSGML(); - bool readonly = buffer->isReadonly(); - - if (empty) - fl_setpup_mode(RefsMenu, 6, FL_PUP_GREY); - if (empty || readonly) { - fl_setpup_mode(RefsMenu, 1, FL_PUP_GREY); - fl_setpup_mode(RefsMenu, 2, FL_PUP_GREY); - } - if (empty || readonly || sgml) { - fl_setpup_mode(RefsMenu, 3, FL_PUP_GREY); - fl_setpup_mode(RefsMenu, 4, FL_PUP_GREY); - fl_setpup_mode(RefsMenu, 5, FL_PUP_GREY); - } - if (men->currentView()->NoSavedPositions()) - fl_setpup_mode(RefsMenu, 7, FL_PUP_GREY); - - fl_setpup_position( - men->_view->getForm()->x + ob->x, - men->_view->getForm()->y + ob->y + ob->h + 10); - int choice = fl_dopup(RefsMenu); - XFlush(fl_display); - - // set the pseudo menu-button back - fl_set_object_boxtype(ob, FL_FLAT_BOX); - fl_redraw_object(ob); - - if (choice == 7) - men->_view->getLyXFunc()->Dispatch(LFUN_REF_BACK); - else if (choice >= BIG_NUM) { - int type = (choice / BIG_NUM) - 1; - int num = choice % BIG_NUM; - if (type >= 5) - men->_view->getLyXFunc()->Dispatch(LFUN_REF_GOTO, - label_list[num].c_str()); - else { - static string const cmdname[5] - = { "ref", "pageref", "vref", "vpageref", "prettyref"}; - InsetCommandParams p( cmdname[type] ); - p.setContents( label_list[num] ); - men->currentView()->insertInset(new InsetRef(p)); - } - } - - for (unsigned int i = 0; i < menus.size(); ++i) - fl_freepup(menus[i]); -} - - -void Menus::ShowLayoutMenu(FL_OBJECT * ob, long) -{ - Menus * men = static_cast(ob->u_vdata); - - if (!men->currentView()->available()) - return; - - // set the pseudo menu-button - fl_set_object_boxtype(ob, FL_UP_BOX); - fl_set_button(ob, 0); - fl_redraw_object(ob); - - Buffer * tmpbuffer = men->_view->buffer(); - LyXFunc * tmpfunc = men->_view->getLyXFunc(); - - int LayoutMenu = fl_newpup(FL_ObjWin(ob)); - fl_addtopup(LayoutMenu, _("Character..." - "|Paragraph..." - "|Document..." - "|Paper..." - "|Table..." - "|Quotes...%l" - "|Emphasize Style%b" - "|Noun Style%b" - "|Bold Style%b" - "|TeX Style%b%l" - "|Change Environment Depth" - "|LaTeX Preamble..." - "|Start of Appendix%l" - "|Save layout as default")); - fl_setpup_shortcut(LayoutMenu, 1, scex(_("LM|Cc#c#C"))); - fl_setpup_shortcut(LayoutMenu, 2, scex(_("LM|Pp#p#P"))); - fl_setpup_shortcut(LayoutMenu, 3, scex(_("LM|Dd#d#D"))); - fl_setpup_shortcut(LayoutMenu, 4, scex(_("LM|aA#a#A"))); - fl_setpup_shortcut(LayoutMenu, 5, scex(_("LM|eE#e#E"))); - fl_setpup_shortcut(LayoutMenu, 6, scex(_("LM|Qq#q#Q"))); - fl_setpup_shortcut(LayoutMenu, 7, scex(_("LM|mM#m#M"))); - fl_setpup_shortcut(LayoutMenu, 8, scex(_("LM|Nn#n#N"))); - fl_setpup_shortcut(LayoutMenu, 9, scex(_("LM|Bb#b#B"))); - fl_setpup_shortcut(LayoutMenu, 10, scex(_("LM|Tt#t#T"))); - fl_setpup_shortcut(LayoutMenu, 11, scex(_("LM|vV#v#V"))); - fl_setpup_shortcut(LayoutMenu, 12, scex(_("LM|Ll#l#L"))); - fl_setpup_shortcut(LayoutMenu, 13, scex(_("LM|xX#x#X"))); - fl_setpup_shortcut(LayoutMenu, 14, scex(_("LM|Ss#s#S"))); - - // Set values of checkboxes according to font - LyXFont font = men->currentView()->text->real_current_font; - if (font.emph() == LyXFont::ON) - fl_setpup_mode(LayoutMenu, 7, FL_PUP_CHECK); - if (font.noun() == LyXFont::ON) - fl_setpup_mode(LayoutMenu, 8, FL_PUP_CHECK); - if (font.series() == LyXFont::BOLD_SERIES) - fl_setpup_mode(LayoutMenu, 9, FL_PUP_CHECK); - if (font.latex() == LyXFont::ON) - fl_setpup_mode(LayoutMenu, 10, FL_PUP_CHECK); - - // Grey out unavailable entries -#ifndef NEW_TABULAR - if (!men->currentView()->text->cursor.par()->table) - fl_setpup_mode(LayoutMenu, 5, FL_PUP_GREY); -#endif - if (tmpbuffer->isReadonly()) { - fl_setpup_mode(LayoutMenu, 1, FL_PUP_GREY); - fl_setpup_mode(LayoutMenu, 6, FL_PUP_GREY); - fl_setpup_mode(LayoutMenu, 11, FL_PUP_GREY); - } - - fl_setpup_position( - men->_view->getForm()->x + ob->x, - men->_view->getForm()->y + ob->y + ob->h + 10); - int choice = fl_dopup(LayoutMenu); - XFlush(fl_display); - - // set the pseudo menu-button back - fl_set_object_boxtype(ob, FL_FLAT_BOX); - fl_redraw_object(ob); - - switch (choice) { - case 1: tmpfunc->Dispatch(LFUN_LAYOUT_CHARACTER); break; - case 2: tmpfunc->Dispatch(LFUN_LAYOUT_PARAGRAPH); break; - case 3: tmpfunc->Dispatch(LFUN_LAYOUT_DOCUMENT); break; - case 4: tmpfunc->Dispatch(LFUN_LAYOUT_PAPER); break; - case 5: tmpfunc->Dispatch(LFUN_LAYOUT_TABLE, "true"); break; - case 6: tmpfunc->Dispatch(LFUN_LAYOUT_QUOTES); break; - case 7: tmpfunc->Dispatch(LFUN_EMPH); break; - case 8: tmpfunc->Dispatch(LFUN_NOUN); break; - case 9: tmpfunc->Dispatch(LFUN_BOLD); break; - case 10: tmpfunc->Dispatch(LFUN_TEX); break; - case 11: tmpfunc->Dispatch(LFUN_DEPTH_PLUS); break; - case 12: tmpfunc->Dispatch(LFUN_LAYOUT_PREAMBLE); break; - case 13: tmpfunc->Dispatch(LFUN_APPENDIX); break; - case 14: tmpfunc->Dispatch(LFUN_LAYOUT_SAVE_DEFAULT); break; - } - fl_freepup(LayoutMenu); -} - - -void Menus::ShowInsertMenu(FL_OBJECT * ob, long) -{ - Menus * men = static_cast(ob->u_vdata); - - // set the pseudo menu-button - fl_set_object_boxtype(ob, FL_UP_BOX); - fl_set_button(ob, 0); - fl_redraw_object(ob); - - Buffer * tmpbuffer = men->_view->buffer(); - LyXFunc * tmpfunc = men->_view->getLyXFunc(); - - int SubInsertAscii = fl_defpup(FL_ObjWin(ob), - _("Import ASCII file%t" - "|As Lines%x41" - "|As Paragraphs%x42")); - - fl_setpup_shortcut(SubInsertAscii, 41, scex(_("IMA|Ll#l#L"))); - fl_setpup_shortcut(SubInsertAscii, 42, scex(_("IMA|Pp#p#P"))); - - int SubInsertTableList= fl_defpup(FL_ObjWin(ob), - _("Lists & TOC%t" - "|Table of Contents%x21" - "|List of Figures%x22" - "|List of Tables%x23" - "|List of Algorithms%x24" - "|Index List%x25" - "|BibTeX Reference%x26")); - - fl_setpup_shortcut(SubInsertTableList, 21, scex(_("IMT|Cc#c#C"))); - fl_setpup_shortcut(SubInsertTableList, 22, scex(_("IMT|Ff#f#F"))); - fl_setpup_shortcut(SubInsertTableList, 23, scex(_("IMT|Tt#t#T"))); - fl_setpup_shortcut(SubInsertTableList, 24, scex(_("IMT|Aa#a#A"))); - fl_setpup_shortcut(SubInsertTableList, 25, scex(_("IMT|Ii#i#I"))); - fl_setpup_shortcut(SubInsertTableList, 26, scex(_("IMT|Bb#b#B"))); - - int SubInsertFloatList = fl_defpup(FL_ObjWin(ob), - _("Floats%t" - "|Figure Float%x71" - "|Table Float%x72" - "|Wide Figure Float%x73" - "|Wide Table Float%l%x74" - "|Algorithm Float%x75")); - - fl_setpup_shortcut(SubInsertFloatList, 71, scex(_("IMF|gG#g#G"))); - fl_setpup_shortcut(SubInsertFloatList, 72, scex(_("IMF|Tt#t#T"))); - fl_setpup_shortcut(SubInsertFloatList, 73, scex(_("IMF|Ww#w#W"))); - fl_setpup_shortcut(SubInsertFloatList, 74, scex(_("IMF|iI#i#I"))); - fl_setpup_shortcut(SubInsertFloatList, 75, scex(_("IMF|Aa#a#A"))); - - int SubInsertSpecial = fl_defpup(FL_ObjWin(ob), - _("Special Character%t" - "|HFill%x31" - "|Hyphenation Point%x32" - "|Protected Blank%x33" - "|Linebreak%x34" - "|Ellipsis (...)%x35" - "|End of sentence period%x36" - "|Ordinary Quote (\")%x37" - "|Menu Separator %x38")); - - fl_setpup_shortcut(SubInsertSpecial, 31, scex(_("IMS|Hh#h#H"))); - fl_setpup_shortcut(SubInsertSpecial, 32, scex(_("IMS|Pp#p#P"))); - fl_setpup_shortcut(SubInsertSpecial, 33, scex(_("IMS|Bb#b#B"))); - fl_setpup_shortcut(SubInsertSpecial, 34, scex(_("IMS|Ll#l#L"))); - fl_setpup_shortcut(SubInsertSpecial, 35, scex(_("IMS|iI#i#I"))); - fl_setpup_shortcut(SubInsertSpecial, 36, scex(_("IMS|Ee#e#E"))); - fl_setpup_shortcut(SubInsertSpecial, 37, scex(_("IMS|Qq#q#Q"))); - fl_setpup_shortcut(SubInsertSpecial, 38, scex(_("IMS|Mm#m#M"))); - - int InsertMenu = fl_defpup(FL_ObjWin(ob), - _("Figure..." - "|Table...%l" - "|Include File..." - "|Import ASCII File%m" - "|Insert LyX File..." - "|Insert external material...%l" - "|Footnote" - "|Margin Note" - "|Floats%m%l" - "|Lists & TOC%m%l" - "|Special Character%m%l" - "|Note..." - "|Label..." - "|Cross-Reference..." - "|Citation Reference..." - "|Index entry..." - "|Index entry of last word"), - SubInsertAscii, - SubInsertFloatList, - SubInsertTableList, - SubInsertSpecial); - - fl_setpup_shortcut(InsertMenu, 1, scex(_("IM|gG#g#G"))); - fl_setpup_shortcut(InsertMenu, 2, scex(_("IM|bB#b#B"))); - fl_setpup_shortcut(InsertMenu, 3, scex(_("IM|cC#c#C"))); - fl_setpup_shortcut(InsertMenu, 4, scex(_("IM|Aa#a#A"))); - fl_setpup_shortcut(InsertMenu, 5, scex(_("IM|Xx#x#X"))); - fl_setpup_shortcut(InsertMenu, 6, scex(_("IM|Ee#e#E"))); - fl_setpup_shortcut(InsertMenu, 7, scex(_("IM|Ff#f#F"))); - fl_setpup_shortcut(InsertMenu, 8, scex(_("IM|Mm#m#M"))); - fl_setpup_shortcut(InsertMenu, 9, scex(_("IM|oO#o#O"))); - fl_setpup_shortcut(InsertMenu, 10, scex(_("IM|Tt#t#T"))); - fl_setpup_shortcut(InsertMenu, 11, scex(_("IM|Ss#s#S"))); - fl_setpup_shortcut(InsertMenu, 12, scex(_("IM|Nn#n#N"))); - fl_setpup_shortcut(InsertMenu, 13, scex(_("IM|Ll#l#L"))); - fl_setpup_shortcut(InsertMenu, 14, scex(_("IM|rR#r#R"))); - fl_setpup_shortcut(InsertMenu, 15, scex(_("IM|iI#i#I"))); - fl_setpup_shortcut(InsertMenu, 16, scex(_("IM|dD#d#D"))); - fl_setpup_shortcut(InsertMenu, 17, scex(_("IM|wW#w#W"))); - - fl_addtopup(InsertMenu, _("|URL...")); - fl_setpup_shortcut(InsertMenu, 18, scex(_("IM|Uu#u#U"))); - - if (tmpbuffer->isReadonly()) { - for (int ii = 1; ii <= 17; ++ii) - fl_setpup_mode(InsertMenu, ii, FL_PUP_GREY); - fl_setpup_mode(InsertMenu, 18, FL_PUP_GREY); - } - - fl_setpup_position( - men->_view->getForm()->x + ob->x, - men->_view->getForm()->y + ob->y + ob->h + 10); - - int choice = fl_dopup(InsertMenu); - XFlush(fl_display); - - // set the pseudo menu-button back - fl_set_object_boxtype(ob, FL_FLAT_BOX); - fl_redraw_object(ob); - - if (men->currentView()->available()){ - men->currentView()->hideCursor(); - switch (choice) { - case 1: tmpfunc->Dispatch(LFUN_FIGURE); break; - case 2: tmpfunc->Dispatch(LFUN_DIALOG_TABULAR_INSERT); break; - case 3: tmpfunc->Dispatch(LFUN_CHILDINSERT); break; - case 4: // Insert ASCII file submenu - break; - case 5: tmpfunc->Dispatch(LFUN_FILE_INSERT); break; - case 41: tmpfunc->Dispatch(LFUN_FILE_INSERT_ASCII, "line"); break; - case 42: tmpfunc->Dispatch(LFUN_FILE_INSERT_ASCII, "paragraph"); break; - case 43: - break; - - case 6: tmpfunc->Dispatch(LFUN_INSET_EXTERNAL); break; - - case 7: -#ifndef NEW_INSETS - tmpfunc->Dispatch(LFUN_FOOTMELT); break; -#else - tmpfunc->Dispatch(LFUN_INSET_FOOTNOTE); - break; -#endif - case 8: -#ifndef NEW_INSETS - tmpfunc->Dispatch(LFUN_MARGINMELT); break; -#else - tmpfunc->Dispatch(LFUN_INSET_MARGINAL); - break; -#endif - - case 9: // Float sub-menu - case 71: -#ifndef NEW_INSETS - tmpfunc->Dispatch(LFUN_INSERTFOOTNOTE, "figure"); - break; -#else - tmpfunc->Dispatch(LFUN_INSET_FLOAT, "figure"); - break; -#endif - case 72: -#ifndef NEW_INSETS - tmpfunc->Dispatch(LFUN_INSERTFOOTNOTE, "table"); - break; -#else - tmpfunc->Dispatch(LFUN_INSET_FLOAT, "table"); - break; -#endif - case 73: -#ifndef NEW_INSETS - tmpfunc->Dispatch(LFUN_INSERTFOOTNOTE, "wide-fig"); - break; -#else - tmpfunc->Dispatch(LFUN_INSET_FLOAT, "figure"); - break; -#endif - case 74: -#ifndef NEW_INSETS - tmpfunc->Dispatch(LFUN_INSERTFOOTNOTE, "wide-tab"); - break; -#else - tmpfunc->Dispatch(LFUN_INSET_FLOAT, "table"); - break; -#endif - case 75: -#ifndef NEW_INSETS - tmpfunc->Dispatch(LFUN_INSERTFOOTNOTE, "algorithm"); - break; -#else - tmpfunc->Dispatch(LFUN_INSET_FLOAT, "algorithm"); - break; -#endif - case 10: // Table/List submenu - break; - case 21: tmpfunc->Dispatch(LFUN_TOC_INSERT); break; - case 22: tmpfunc->Dispatch(LFUN_LOF_INSERT); break; - case 23: tmpfunc->Dispatch(LFUN_LOT_INSERT); break; - case 24: tmpfunc->Dispatch(LFUN_LOA_INSERT); break; - case 25: tmpfunc->Dispatch(LFUN_INDEX_PRINT); break; - case 26: tmpfunc->Dispatch(LFUN_INSERT_BIBTEX); break; - - case 11: // Special Character submenu - break; - case 31: tmpfunc->Dispatch(LFUN_HFILL); break; - case 32: tmpfunc->Dispatch(LFUN_HYPHENATION); break; - case 33: tmpfunc->Dispatch(LFUN_PROTECTEDSPACE); break; - case 34: tmpfunc->Dispatch(LFUN_BREAKLINE); break; - case 35: tmpfunc->Dispatch(LFUN_LDOTS); break; - case 36: tmpfunc->Dispatch(LFUN_END_OF_SENTENCE); break; - case 37: tmpfunc->Dispatch(LFUN_QUOTE); break; - case 38: tmpfunc->Dispatch(LFUN_MENU_SEPARATOR); break; - - case 12: tmpfunc->Dispatch(LFUN_INSERT_NOTE); break; - case 13: tmpfunc->Dispatch(LFUN_INSERT_LABEL); break; - case 14: tmpfunc->Dispatch(LFUN_REF_INSERT); break; - case 15: tmpfunc->Dispatch(LFUN_CITATION_CREATE); break; - case 16: tmpfunc->Dispatch(LFUN_INDEX_CREATE); break; - case 17: tmpfunc->Dispatch(LFUN_INDEX_INSERT_LAST); break; - case 18: tmpfunc->Dispatch(LFUN_URL); break; - } - } - fl_freepup(InsertMenu); - fl_freepup(SubInsertAscii); - fl_freepup(SubInsertTableList); - fl_freepup(SubInsertFloatList); - fl_freepup(SubInsertSpecial); -} - - -void Menus::ShowMathMenu(FL_OBJECT * ob, long) -{ - extern void math_insert_symbol(char const * s); - - Menus * men = static_cast(ob->u_vdata); - - // set the pseudo menu-button - fl_set_object_boxtype(ob, FL_UP_BOX); - fl_set_button(ob, 0); - fl_redraw_object(ob); - - Buffer * tmpbuffer = men->_view->buffer(); - LyXFunc * tmpfunc = men->_view->getLyXFunc(); - - int MathMenu = fl_defpup(FL_ObjWin(ob), - _("Fraction" - "|Square root" - "|Exponent" - "|Index" - "|Sum" - "|Integral%l" - "|Math mode" - "|Display%l" - "|Math Panel...")); - - fl_setpup_shortcut(MathMenu, 1, scex(_("MM|Ff#f#F"))); - fl_setpup_shortcut(MathMenu, 2, scex(_("MM|Ss#s#S"))); - fl_setpup_shortcut(MathMenu, 3, scex(_("MM|Ee#e#E"))); - fl_setpup_shortcut(MathMenu, 4, scex(_("MM|xX#x#X"))); - fl_setpup_shortcut(MathMenu, 5, scex(_("MM|uU#u#U"))); - fl_setpup_shortcut(MathMenu, 6, scex(_("MM|Ii#i#I"))); - fl_setpup_shortcut(MathMenu, 7, scex(_("MM|Mm#m#M"))); - fl_setpup_shortcut(MathMenu, 8, scex(_("MM|Dd#d#D"))); - fl_setpup_shortcut(MathMenu, 9, scex(_("MM|Pp#p#P"))); - - if (tmpbuffer->isReadonly()) - for (int ii = 1; ii <= 9; ++ii) - fl_setpup_mode(MathMenu, ii, FL_PUP_GREY); - - - fl_setpup_position( - men->_view->getForm()->x + ob->x, - men->_view->getForm()->y + ob->y + ob->h + 10); - int choice = fl_dopup(MathMenu); - XFlush(fl_display); - - // set the pseudo menu-button back - fl_set_object_boxtype(ob, FL_FLAT_BOX); - fl_redraw_object(ob); - - if (men->currentView()->available()) { - switch (choice) { - case 1: /* frac */ - tmpfunc->Dispatch(LFUN_INSERT_MATH, "frac"); - break; - case 2: /* sqrt */ - tmpfunc->Dispatch(LFUN_INSERT_MATH, "sqrt"); - break; - case 3: /* Exponent */ - tmpfunc->Dispatch(LFUN_INSERT_MATH, "^"); - break; - case 4: /* Index */ - tmpfunc->Dispatch(LFUN_INSERT_MATH, "_"); - break; - case 5: /* sum */ - tmpfunc->Dispatch(LFUN_INSERT_MATH, "sum"); - break; - case 6: /* int */ - tmpfunc->Dispatch(LFUN_INSERT_MATH, "int"); - break; - case 7: - tmpfunc->Dispatch(LFUN_MATH_MODE); - break; - case 8: - tmpfunc->Dispatch(LFUN_MATH_DISPLAY); - break; - case 9: /* Panel */ - tmpfunc->Dispatch(LFUN_MATH_PANEL); - break; - } - men->currentView()->update(BufferView::SELECT|BufferView::FITCUR); - } - fl_freepup(MathMenu); -} - - -void Menus::ShowOptionsMenu(FL_OBJECT * ob, long) -{ - Menus * men = static_cast(ob->u_vdata); - - // set the pseudo menu-button - fl_set_object_boxtype(ob, FL_UP_BOX); - fl_set_button(ob, 0); - fl_redraw_object(ob); - - //Buffer *tmpbuffer = men->_view->currentBuffer(); - LyXFunc * tmpfunc = men->_view->getLyXFunc(); - - int OptionsMenu = fl_defpup(FL_ObjWin(ob), - _("|Spellchecker Options..." - "|Keyboard...%l" - "|Reconfigure" - "|Preferences")); - - fl_setpup_shortcut(OptionsMenu, 1, scex(_("OM|Ss#s#S"))); - fl_setpup_shortcut(OptionsMenu, 2, scex(_("OM|Kk#k#K"))); - fl_setpup_shortcut(OptionsMenu, 3, scex(_("OM|Rr#r#R"))); - fl_setpup_shortcut(OptionsMenu, 4, scex(_("OM|Pp#p#P"))); - - if(lyxrc.isp_command == "none") - fl_setpup_mode(OptionsMenu, 2, FL_PUP_GREY); - - fl_setpup_position( - men->_view->getForm()->x + ob->x, - men->_view->getForm()->y + ob->y + ob->h + 10); - int choice = fl_dopup(OptionsMenu); - XFlush(fl_display); - - // set the pseudo menu-button back - fl_set_object_boxtype(ob, FL_FLAT_BOX); - fl_redraw_object(ob); - switch (choice){ - case 1: SpellCheckerOptions(); break; - case 2: men->_view->getIntl()->MenuKeymap(); break; - case 3: tmpfunc->Dispatch(LFUN_RECONFIGURE); break; - case 4: men->_view->getDialogs()->showPreferences(); break; - default: break; - } - fl_freepup(OptionsMenu); -} - - -void Menus::ShowBufferMenu(FL_OBJECT * ob, long) -{ - Menus * men = static_cast(ob->u_vdata); - - // set the pseudo menu-button - fl_set_object_boxtype(ob, FL_UP_BOX); - fl_set_button(ob, 0); - fl_redraw_object(ob); - - int BufferMenu = fl_newpup(FL_ObjWin(ob)); - vector namevec = bufferlist.getFileNames(); - if (namevec.size() != 0) { - for (vector::const_iterator cit = namevec.begin(); - cit != namevec.end(); ++cit) { - string relbuf = MakeDisplayPath((*cit), 30); - fl_addtopup(BufferMenu, relbuf.c_str()); - } - } else { - fl_addtopup(BufferMenu, _("No Documents Open!%t")); - } - - fl_setpup_position( - men->_view->getForm()->x + ob->x, - men->_view->getForm()->y + ob->y + ob->h + 10); - int choice = fl_dopup(BufferMenu); - XFlush(fl_display); - - // set the pseudo menu-button back - fl_set_object_boxtype(ob, FL_FLAT_BOX); - fl_redraw_object(ob); - if (choice > 0) men->handleBufferMenu(choice - 1); - - fl_freepup(BufferMenu); -} - - -static -char const * doc_files [] = {"Intro", "Tutorial", - "UserGuide", "Extended", - "Customization", "Reference", - "FAQ", "TOC", - "BUGS", "LyXConfig"}; - -void Menus::ShowHelpMenu(FL_OBJECT * ob, long) -{ - Menus * men = static_cast(ob->u_vdata); - LyXFunc * tmpfunc = men->_view->getLyXFunc(); - - // set the pseudo menu-button - fl_set_object_boxtype(ob, FL_UP_BOX); - fl_set_button(ob, 0); - fl_redraw_object(ob); - - int HelpMenu = fl_defpup(FL_ObjWin(ob), - _("Introduction" - "|Tutorial" - "|User's Guide" - "|Extended Features" - "|Customization" - "|Reference Manual" - "|FAQ" - "|Table of Contents" - "|Known Bugs" - "|LaTeX Configuration%l" - "|Copyright and Warranty..." - "|Credits..." - "|Version...")); - - fl_setpup_shortcut(HelpMenu, 1, scex(_("HM|Ii#I#i"))); - fl_setpup_shortcut(HelpMenu, 2, scex(_("HM|Tt#T#t"))); - fl_setpup_shortcut(HelpMenu, 3, scex(_("HM|Uu#U#u"))); - fl_setpup_shortcut(HelpMenu, 4, scex(_("HM|xX#x#X"))); - fl_setpup_shortcut(HelpMenu, 5, scex(_("HM|Cc#C#c"))); - fl_setpup_shortcut(HelpMenu, 6, scex(_("HM|Rr#R#r"))); - fl_setpup_shortcut(HelpMenu, 7, scex(_("HM|Ff#F#f"))); - fl_setpup_shortcut(HelpMenu, 8, scex(_("HM|aA#a#A"))); - fl_setpup_shortcut(HelpMenu, 9, scex(_("HM|Kk#K#k"))); - fl_setpup_shortcut(HelpMenu, 10, scex(_("HM|Ll#L#l"))); - fl_setpup_shortcut(HelpMenu, 11, scex(_("HM|oO#o#O"))); - fl_setpup_shortcut(HelpMenu, 12, scex(_("HM|eE#e#E"))); - fl_setpup_shortcut(HelpMenu, 13, scex(_("HM|Vv#v#V"))); - - fl_setpup_position( - men->_view->getForm()->x + ob->x, - men->_view->getForm()->y + ob->y + ob->h + 10); - int choice = fl_dopup(HelpMenu); - XFlush(fl_display); - - // set the pseudo menu-button back - fl_set_object_boxtype(ob, FL_FLAT_BOX); - fl_redraw_object(ob); - - switch (choice) { - case 1: case 2: case 3: case 4: case 5: - case 6: case 7: case 8: case 9: case 10: - ProhibitInput(men->currentView()); - men->MenuDocu(doc_files[choice - 1]); - AllowInput(men->currentView()); - break; - case 11: tmpfunc->Dispatch(LFUN_HELP_COPYRIGHT); break; - case 12: ShowCredits(); break; - case 13: - ProhibitInput(men->currentView()); - fl_show_message((string(_("LyX Version ")) + LYX_VERSION - + _(" of ") + LYX_RELEASE).c_str(), - (_("Library directory: ") - + MakeDisplayPath(system_lyxdir)).c_str(), - (_("User directory: ") - + MakeDisplayPath(user_lyxdir)).c_str()); - AllowInput(men->currentView()); - break; - } - fl_freepup(HelpMenu); -} - - -void Menus::MenuDocu(string const & docname) -{ - string fname = i18nLibFileSearch("doc", docname, "lyx"); - if (fname.empty()) { - WriteAlert(_("Error!"), - _("Could not find requested Documentation file"), - fname); - return; - } - _view->getMiniBuffer()->Set(_("Opening help file"), - MakeDisplayPath(fname), "..."); - currentView()->buffer(bufferlist.loadLyXFile(fname, false)); - - if (docname == "Reference") - _view->getLyXFunc()->Dispatch(LFUN_TOCVIEW); -} - - -void Menus::handleBufferMenu(int choice) -{ - currentView()->buffer(bufferlist.getBuffer(choice)); -} diff --git a/src/menus.h b/src/menus.h deleted file mode 100644 index b3ffff4a34..0000000000 --- a/src/menus.h +++ /dev/null @@ -1,108 +0,0 @@ -// -*- C++ -*- -/* This file is part of -* ====================================================== -* -* LyX, The Document Processor -* -* Copyright 1995 Matthias Ettrich -* Copyright 1995-2000 The LyX Team. -* -* ====================================================== */ - -#ifndef MENUS_H -#define MENUS_H - -#ifdef __GNUG__ -#pragma interface -#endif - -#include FORMS_H_LOCATION -#include "lyx.h" -#include "LString.h" - -class BufferView; -class LyXView; - - -/// -class Menus { -public: - /// - Menus(LyXView *view, int air); - /// - void showMenus(); - /// - void hideMenus(); - /// - void openByName(string const &menuName); - /// - static void ShowFileMenu(FL_OBJECT *ob, long); - /// - static void ShowFileMenu2(FL_OBJECT *ob, long); - /// - static void ShowEditMenu(FL_OBJECT *ob, long data); - /// - static void ShowTocMenu(FL_OBJECT *ob, long data); - /// - static void ShowRefsMenu(FL_OBJECT *ob, long data); - /// - static void ShowLayoutMenu(FL_OBJECT *ob, long data); - /// - static void ShowInsertMenu(FL_OBJECT *ob, long data); - /// - static void ShowMathMenu(FL_OBJECT *ob, long); - /// - static void ShowOptionsMenu(FL_OBJECT *ob, long men); - /// - static void ShowBufferMenu(FL_OBJECT *ob, long); - /// - static void ShowHelpMenu(FL_OBJECT *ob, long); -private: - /// - void create_menus(int air); - /// - void showCopyright(); - /// - void showLicense(); - /// - void MenuDocu(string const & docname); - /// - void handleBufferMenu(int choice); - - /// - BufferView *currentView(); - /// - LyXView *_view; - /// - FL_OBJECT *menu_grp1; - /// - FL_OBJECT *menu_grp2; - /// - FL_OBJECT *menu_file; - /// - FL_OBJECT *menu_file2; - /// - FL_OBJECT *menu_edit; - /// - FL_OBJECT *menu_toc; - /// - FL_OBJECT *menu_refs; - /// - FL_OBJECT *menu_layout; - /// - FL_OBJECT *menu_insert; - /// - FL_OBJECT *menu_math; - /// - FL_OBJECT *menu_options; - /// - FL_OBJECT *menu_options2; - /// - FL_OBJECT *menu_buffer; - /// - FL_OBJECT *menu_help; - /// - FL_OBJECT *menu_help2; -}; - -#endif -- 2.39.5