]> git.lyx.org Git - features.git/commitdiff
remove the multiple menubar stuff
authorJean-Marc Lasgouttes <lasgouttes@lyx.org>
Sat, 20 Jul 2002 21:50:05 +0000 (21:50 +0000)
committerJean-Marc Lasgouttes <lasgouttes@lyx.org>
Sat, 20 Jul 2002 21:50:05 +0000 (21:50 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4730 a592a061-630c-0410-9148-cb99ea01b6c8

12 files changed:
lib/ChangeLog
lib/ui/default.ui
src/ChangeLog
src/MenuBackend.C
src/MenuBackend.h
src/frontends/ChangeLog
src/frontends/LyXView.C
src/frontends/Menubar.C
src/frontends/Menubar.h
src/frontends/xforms/ChangeLog
src/frontends/xforms/Menubar_pimpl.C
src/frontends/xforms/Menubar_pimpl.h

index 14ca89656e50cf9cfa30a5a153de3ceb31351293..c2dea3baaf7eb4d8463ea784d1b4497511590cef 100644 (file)
@@ -1,5 +1,8 @@
 2002-07-20  Jean-Marc Lasgouttes  <lasgouttes@freesurf.fr>
 
+       * 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
 
index a47527434be018d19167c6e388d83a788a7eb5bb..7e21b5911541250269b84ecb654f47ae903cf0f8 100644 (file)
@@ -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"
index 0f66d830c7334f7c9c97eeb80b32287b9ae7599c..0194c8595f816e8f22aa7604a09f2c49244f18a4 100644 (file)
@@ -1,5 +1,11 @@
 2002-07-20  Jean-Marc Lasgouttes  <lasgouttes@freesurf.fr>
 
+       * 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
 
index 0bb7f4c975038f8cda4ea51af6da1685fd45305f..d5cee4136467c04153308269fc06ab62701156b7 100644 (file)
@@ -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_;
+}
index 6f4bf989dbc9dc96acaf734fd1a4ce17284c662a..af49d96e1e5fd6ed85a937eb0ad352aea40f3e05 100644 (file)
@@ -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_;
 };
 
 ///
index 52989813017c06bf5218f13f8a0b2b5d720d4f7a..a1112c1d6ca5f9501b7dc1ec01e4dfea20121dd0 100644 (file)
@@ -1,3 +1,9 @@
+2002-07-20  Jean-Marc Lasgouttes  <lasgouttes@freesurf.fr>
+
+       * LyXView.C (updateMenubar): remove code to set different menubars 
+
+       * Menubar.C (set): remove
+
 2002-07-19  John Levon  <moz@compsoc.man.ac.uk>
 
        * LyXView.h:
index e5be0f283340567610781dca89977498fe256c4e..bb966cf6a37682f9b0977e3acdf79215c6468abe 100644 (file)
@@ -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();
 }
 
index 156dd056df187deb1bc92e4b7e4136ed5dce5ea4..9737d5997519ddd39957d047e6fd940752c8ef75 100644 (file)
@@ -33,12 +33,6 @@ Menubar::~Menubar()
 }
 
 
-void Menubar::set(string const & name)
-{
-       pimpl_->set(name);
-}
-
-
 void Menubar::openByName(string const & name)
 {
        pimpl_->openByName(name);
index 2dd3ca212bf9aac566dd86f5472e4a0a14dd4b0d..0114bae456d030c3d96f9ddba7226d677f4433be 100644 (file)
@@ -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
index 9c53ee219dbae4337655a2d9d6d68fc67d4a1616..c1a26b231df5aede7fd494829fc2c645dd9fd11d 100644 (file)
@@ -1,3 +1,7 @@
+2002-07-20  Jean-Marc Lasgouttes  <lasgouttes@freesurf.fr>
+
+       * Menubar_pimpl.[Ch]: remove support for multiple menubars
+
 2002-07-20  John Levon  <moz@compsoc.man.ac.uk>
 
        * XMiniBuffer.h:
index 415c7509c785c1ab94f1d3e746a7f23db501c815..6c6ed7eb347afd2d42b2c2704d1f8419a64a92b7 100644 (file)
@@ -87,23 +87,9 @@ extern "C" {
 
 
 Menubar::Pimpl::Pimpl(LyXView * view, MenuBackend const & mb)
-       : owner_(static_cast<XFormsView*>(view)), menubackend_(&mb),
-         current_group_(0)
+       : owner_(static_cast<XFormsView*>(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;
 }
index 94b96b43d57f3315cb8bfaddb1dd815c81b1c3cb..bd5aebcf014d0322a8c12a4108e7f7d57a07c04c 100644 (file)
@@ -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<int> & smn, Window win);
@@ -58,9 +61,6 @@ public:
                           string const & menuname,
                           std::vector<int> & smn);
 
-       /// update the state of the menuitems
-       void update() {}
-private:
        //
        void makeMenubar(Menu const &menu);
 
@@ -87,14 +87,5 @@ private:
        typedef std::vector<boost::shared_ptr<ItemInfo> > ButtonList;
        ///
        ButtonList buttonlist_;
-
-       ///
-       typedef std::map<string, FL_OBJECT *> MenubarMap;
-       ///
-       MenubarMap menubarmap_;
-       ///
-       string current_menu_name_;
-       ///
-       FL_OBJECT * current_group_;
 };
 #endif