/[ghosts]/ghosts/gedcomviewer/src/MMIglade/src/MMIMenuLinkEditor.cc
ViewVC logotype

Diff of /ghosts/gedcomviewer/src/MMIglade/src/MMIMenuLinkEditor.cc

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2 by cpcp, Wed Mar 26 10:37:36 2003 UTC revision 1.3 by cpcp, Sun Aug 3 19:50:47 2003 UTC
# Line 27  Line 27 
27  #include <gtk--/menuitem.h>  #include <gtk--/menuitem.h>
28  #include <iostream>  #include <iostream>
29    
30    #define MENU_MAX_ELEMS 6
31    
32  MMIMenuLinkEditor::MMIMenuLinkEditor(LinkEditorMenu_t const &menus, OneFamilyLink * const mmi) :  MMIMenuLinkEditor::MMIMenuLinkEditor(LinkEditorMenu_t const &menus, OneFamilyLink * const mmi) :
33    Menu()    Menu()
34  {  {
# Line 40  MMIMenuLinkEditor::MMIMenuLinkEditor(Lin Line 42  MMIMenuLinkEditor::MMIMenuLinkEditor(Lin
42          }          }
43        else        else
44          {          {
45            Gtk::MenuItem * menu_item = manage(new Gtk::MenuItem(_("More")));            submenu = InitSubMenu(submenu, _("More"));
           submenu->append(*menu_item);  
           submenu = manage(new Gtk::Menu());  
           menu_item->set_submenu(*submenu);  
46          }          }
47          int cpt_menu;
48          cpt_menu = 0;
49        for (MenuItems_t::const_iterator menu_iter = submenu_iter->begin();        for (MenuItems_t::const_iterator menu_iter = submenu_iter->begin();
50             menu_iter != submenu_iter->end(); menu_iter++)             menu_iter != submenu_iter->end(); menu_iter++)
51          {          {
# Line 53  MMIMenuLinkEditor::MMIMenuLinkEditor(Lin Line 54  MMIMenuLinkEditor::MMIMenuLinkEditor(Lin
54            Gtk::MenuItem * menu_item = manage(new Gtk::MenuItem(menu_label));            Gtk::MenuItem * menu_item = manage(new Gtk::MenuItem(menu_label));
55            menu_item->activate.connect(SigC::bind(SigC::slot(mmi, &OneFamilyLink::menu_link_editor_activated), menu_id));            menu_item->activate.connect(SigC::bind(SigC::slot(mmi, &OneFamilyLink::menu_link_editor_activated), menu_id));
56            submenu->append(*menu_item);            submenu->append(*menu_item);
57              cpt_menu++;
58              if (cpt_menu == MENU_MAX_ELEMS)
59                {
60                  submenu = InitSubMenu(submenu, _("List continue..."));
61                  cpt_menu = 0;
62                }
63    
64          }          }
65      }      }
66    show_all();    show_all();
67    return;    return;
68  }  }
69    
70    Gtk::Menu * MMIMenuLinkEditor::InitSubMenu(Gtk::Menu * parent_menu, std::string const &label)
71    {
72      Gtk::Menu * res = 0;
73      Gtk::MenuItem * menu_item = manage(new Gtk::MenuItem(label));
74      parent_menu->append(*menu_item);
75      res = manage(new Gtk::Menu());
76      menu_item->set_submenu(*res);
77      return res;
78    }

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26