From a0afb0fd38bfd4a8ec7309eca24f3b765114ae6f Mon Sep 17 00:00:00 2001 From: Jean-Marc Lasgouttes Date: Sat, 20 Jul 2002 21:50:05 +0000 Subject: [PATCH] remove the multiple menubar stuff git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4730 a592a061-630c-0410-9148-cb99ea01b6c8 --- lib/ChangeLog | 3 ++ lib/ui/default.ui | 27 +------------ src/ChangeLog | 6 +++ src/MenuBackend.C | 41 +++++++------------- src/MenuBackend.h | 14 +++---- src/frontends/ChangeLog | 6 +++ src/frontends/LyXView.C | 6 --- src/frontends/Menubar.C | 6 --- src/frontends/Menubar.h | 2 - src/frontends/xforms/ChangeLog | 4 ++ src/frontends/xforms/Menubar_pimpl.C | 58 +++++----------------------- src/frontends/xforms/Menubar_pimpl.h | 19 +++------ 12 files changed, 56 insertions(+), 136 deletions(-) diff --git a/lib/ChangeLog b/lib/ChangeLog index 14ca89656e..c2dea3baaf 100644 --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,5 +1,8 @@ 2002-07-20 Jean-Marc Lasgouttes + * ui/default.ui: cleanup after change of Menu syntax. the + foo_nobuffer menus are gone + * bind/sv_menus.bind: * bind/sciword.bind: remove some cruft diff --git a/lib/ui/default.ui b/lib/ui/default.ui index a47527434b..7e21b59115 100644 --- a/lib/ui/default.ui +++ b/lib/ui/default.ui @@ -1,17 +1,9 @@ # This is the default LyX user interface definition file. -*- text -*- -# The syntax should be straightforward enough. The menubar -# "main_nobuffer" (if it exists) is used when there is no buffer open; -# otherwise, the menubar "main" is used. +# The syntax should be straightforward enough. Menuset - Menubar "main_nobuffer" - Submenu "File|F" "file_nobuffer" - Submenu "Edit|E" "edit_nobuffer" - Submenu "Help|H" "help" - End - - Menubar "main" + Menubar Submenu "File|F" "file" Submenu "Edit|E" "edit" Submenu "Insert|I" "insert" @@ -25,17 +17,6 @@ Menuset # # FILE MENU # - Menu "file_nobuffer" - Item "New|N" "buffer-new" - Item "New from Template...|T" "buffer-new-template" - Item "Open...|O" "file-open" - Separator - Submenu "Import|I" "file_import" - Separator - Item "Exit|x" "lyx-quit" - Separator - Lastfiles - End Menu "file" Item "New|N" "buffer-new" @@ -79,10 +60,6 @@ Menuset # # EDIT MENU # - Menu "edit_nobuffer" - Item "Preferences|P" "dialog-preferences" - Item "Reconfigure|R" "reconfigure" - End Menu "edit" Item "Undo|U" "undo" diff --git a/src/ChangeLog b/src/ChangeLog index 0f66d830c7..0194c8595f 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,11 @@ 2002-07-20 Jean-Marc Lasgouttes + * MenuBackend.C (getMenubar): new method: return the menubar of + this menu set + (read): treat differently reading of menu and menubar (in + particular, the menubar has no name now) + (Menu::menubar): remove + * lyxfunc.C (dispatch): add 'done' message to minibuffer when saving is finished diff --git a/src/MenuBackend.C b/src/MenuBackend.C index 0bb7f4c975..d5cee41364 100644 --- a/src/MenuBackend.C +++ b/src/MenuBackend.C @@ -213,7 +213,7 @@ Menu & Menu::read(LyXLex & lex) break; default: - lex.printError("menubar::read: " + lex.printError("Menu::read: " "Unknown menu tag: `$$Token'"); break; } @@ -464,29 +464,22 @@ void MenuBackend::read(LyXLex & lex) lex.printTable(lyxerr); bool quit = false; - bool menubar = false; while (lex.isOK() && !quit) { switch (lex.lex()) { case md_menubar: - menubar = true; - // fallback to md_menu + menubar_.read(lex); + break; case md_menu: { lex.next(true); string const name = lex.getString(); if (hasMenu(name)) { - if (getMenu(name).menubar() == menubar) { - getMenu(name).read(lex); - } else { - lex.printError("Cannot append to menu `$$Token' unless it is of the same type"); - return; - } + getMenu(name).read(lex); } else { - Menu menu(name, menubar); + Menu menu(name); menu.read(lex); add(menu); } - menubar = false; break; } case md_endmenuset: @@ -539,25 +532,11 @@ void MenuBackend::defaults() documents.add(MenuItem(MenuItem::Documents)); add(documents); - Menu main("main", true); - main - .add(MenuItem(MenuItem::Submenu, _("File|F"), "file")) + menubar_.add(MenuItem(MenuItem::Submenu, _("File|F"), "file")) .add(MenuItem(MenuItem::Submenu, _("Edit|E"), "edit")) .add(MenuItem(MenuItem::Submenu, _("Documents|D"), "documents")); - add(main); - - Menu main_nobuffer("main_nobuffer", true); - main_nobuffer.add(MenuItem(MenuItem::Submenu, _("File|F"), "file")); - add(main_nobuffer); - - if (lyxerr.debugging(Debug::GUI)) { - for (const_iterator cit = begin(); - cit != end() ; ++cit) - lyxerr << "Menu name: " << cit->name() - << ", Menubar: " << cit->menubar() - << endl; - } + } @@ -591,3 +570,9 @@ Menu & MenuBackend::getMenu(string const & name) lyx::Assert(it != menulist_.end()); return (*it); } + + +Menu const & MenuBackend::getMenubar() const +{ + return menubar_; +} diff --git a/src/MenuBackend.h b/src/MenuBackend.h index 6f4bf989db..af49d96e1e 100644 --- a/src/MenuBackend.h +++ b/src/MenuBackend.h @@ -110,8 +110,8 @@ public: /// typedef ItemList::const_iterator const_iterator; /// - explicit Menu(string const & name = string(), bool mb = false) - : menubar_(mb), name_(name) {} + explicit Menu(string const & name = string()) + : name_(name) {} /// Menu & add(MenuItem const &); /// @@ -123,8 +123,6 @@ public: */ void expand(Menu & tomenu, Buffer *) const; /// - bool menubar() const { return menubar_; } - /// string const & name() const { return name_; } /// bool empty() const { return items_.empty(); } @@ -148,8 +146,6 @@ private: /// ItemList items_; /// - bool menubar_; - /// string name_; }; @@ -173,7 +169,9 @@ public: Menu & getMenu (string const &); /// Menu const & getMenu (string const &) const; - // + /// + Menu const & getMenubar() const; + /// bool empty() const { return menulist_.empty(); } /// const_iterator begin() const { @@ -186,6 +184,8 @@ public: private: /// MenuList menulist_; + /// + Menu menubar_; }; /// diff --git a/src/frontends/ChangeLog b/src/frontends/ChangeLog index 5298981301..a1112c1d6c 100644 --- a/src/frontends/ChangeLog +++ b/src/frontends/ChangeLog @@ -1,3 +1,9 @@ +2002-07-20 Jean-Marc Lasgouttes + + * LyXView.C (updateMenubar): remove code to set different menubars + + * Menubar.C (set): remove + 2002-07-19 John Levon * LyXView.h: diff --git a/src/frontends/LyXView.C b/src/frontends/LyXView.C index e5be0f2833..bb966cf6a3 100644 --- a/src/frontends/LyXView.C +++ b/src/frontends/LyXView.C @@ -124,12 +124,6 @@ Menubar * LyXView::getMenubar() const void LyXView::updateMenubar() { - if (!view()->buffer() && menubackend.hasMenu("main_nobuffer")) { - menubar_->set("main_nobuffer"); - } else { - menubar_->set("main"); - } - menubar_->update(); } diff --git a/src/frontends/Menubar.C b/src/frontends/Menubar.C index 156dd056df..9737d59975 100644 --- a/src/frontends/Menubar.C +++ b/src/frontends/Menubar.C @@ -33,12 +33,6 @@ Menubar::~Menubar() } -void Menubar::set(string const & name) -{ - pimpl_->set(name); -} - - void Menubar::openByName(string const & name) { pimpl_->openByName(name); diff --git a/src/frontends/Menubar.h b/src/frontends/Menubar.h index 2dd3ca212b..0114bae456 100644 --- a/src/frontends/Menubar.h +++ b/src/frontends/Menubar.h @@ -29,8 +29,6 @@ public: Menubar(LyXView * o, MenuBackend const &); /// ~Menubar(); - /// - void set(string const &); /// Opens a top-level submenu given its name void openByName(string const &); /// update the state of the menuitems diff --git a/src/frontends/xforms/ChangeLog b/src/frontends/xforms/ChangeLog index 9c53ee219d..c1a26b231d 100644 --- a/src/frontends/xforms/ChangeLog +++ b/src/frontends/xforms/ChangeLog @@ -1,3 +1,7 @@ +2002-07-20 Jean-Marc Lasgouttes + + * Menubar_pimpl.[Ch]: remove support for multiple menubars + 2002-07-20 John Levon * XMiniBuffer.h: diff --git a/src/frontends/xforms/Menubar_pimpl.C b/src/frontends/xforms/Menubar_pimpl.C index 415c7509c7..6c6ed7eb34 100644 --- a/src/frontends/xforms/Menubar_pimpl.C +++ b/src/frontends/xforms/Menubar_pimpl.C @@ -87,23 +87,9 @@ extern "C" { Menubar::Pimpl::Pimpl(LyXView * view, MenuBackend const & mb) - : owner_(static_cast(view)), menubackend_(&mb), - current_group_(0) + : owner_(static_cast(view)), menubackend_(&mb) { - for (MenuBackend::const_iterator menu = menubackend_->begin(); - menu != menubackend_->end() ; ++menu) { - if (menu->menubar()) { - FL_OBJECT * group = fl_bgn_group(); - makeMenubar(*menu); - fl_end_group(); - fl_hide_object(group); - lyxerr[Debug::GUI] - << "Menubar::Pimpl::Pimpl: " - << "creating and hiding group " << group - << " for menubar " << menu->name() << endl; - menubarmap_[menu->name()] = group; - } - } + makeMenubar(menubackend_->getMenubar()); } @@ -157,46 +143,22 @@ void Menubar::Pimpl::makeMenubar(Menu const & menu) } -void Menubar::Pimpl::set(string const & menu_name) +void Menubar::Pimpl::update() { - if (menu_name == current_menu_name_) - return; - - MenubarMap::iterator mbit = menubarmap_.find(menu_name); - - if (mbit == menubarmap_.end()) { - lyxerr << "ERROR:set: Unknown menu `" << menu_name - << "'" << endl; - return; - } - - if (current_group_) { - lyxerr[Debug::GUI] << " hiding group " - << current_group_ << endl; - fl_hide_object(current_group_); - } - - lyxerr[Debug::GUI] << " showing group " - << mbit->second << endl; - fl_show_object(mbit->second); - current_menu_name_ = menu_name; - current_group_ = mbit->second; - lyxerr[Debug::GUI] << "Menubar::Pimpl::set: Menubar set." - << endl; + // nothing yet } void Menubar::Pimpl::openByName(string const & name) { - if (menubackend_->getMenu(current_menu_name_).hasSubmenu(name)) { - for (ButtonList::const_iterator cit = buttonlist_.begin(); - cit != buttonlist_.end(); ++cit) { - if ((*cit)->item_->submenu() == name) { - MenuCallback((*cit)->obj_, 1); - return; - } + for (ButtonList::const_iterator cit = buttonlist_.begin(); + cit != buttonlist_.end(); ++cit) { + if ((*cit)->item_->submenu() == name) { + MenuCallback((*cit)->obj_, 1); + return; } } + lyxerr << "Menubar::Pimpl::openByName: menu " << name << " not found" << endl; } diff --git a/src/frontends/xforms/Menubar_pimpl.h b/src/frontends/xforms/Menubar_pimpl.h index 94b96b43d5..bd5aebcf01 100644 --- a/src/frontends/xforms/Menubar_pimpl.h +++ b/src/frontends/xforms/Menubar_pimpl.h @@ -39,14 +39,17 @@ struct Menubar::Pimpl { public: /// Pimpl(LyXView *, MenuBackend const &); - /// - void set(string 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); @@ -58,9 +61,6 @@ public: string const & menuname, std::vector & smn); - /// update the state of the menuitems - void update() {} -private: // void makeMenubar(Menu const &menu); @@ -87,14 +87,5 @@ private: typedef std::vector > ButtonList; /// ButtonList buttonlist_; - - /// - typedef std::map MenubarMap; - /// - MenubarMap menubarmap_; - /// - string current_menu_name_; - /// - FL_OBJECT * current_group_; }; #endif -- 2.39.2