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

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

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

revision 1.3 by cpcp, Sun Feb 23 21:34:45 2003 UTC revision 1.4 by cpcp, Mon Feb 24 21:26:19 2003 UTC
# Line 9  Line 9 
9  #include "MMIChildToFamilyLink.hh"  #include "MMIChildToFamilyLink.hh"
10  #include <libgnome/libgnome.h>  #include <libgnome/libgnome.h>
11  #include "../string_utility/Converter.hh"  #include "../string_utility/Converter.hh"
 #include <iostream>  
 #include "MMIMenuFamily.hh"  
12    
13  MMIChildToFamilyLink::MMIChildToFamilyLink(  MMIChildToFamilyLink::MMIChildToFamilyLink(
14  ) : MMIChildToFamilyLink_glade(),  ) : MMIFamilyLink(_("Parents"))
     _cpt_family(0),  
     _family_added(),  
     _family_deleted()  
15  {    {  
16    _child_to_family_links->pages().clear();    return;
   button_press_event.connect(slot(this, &MMIChildToFamilyLink::button_pressed));  
 }  
   
 SigC::Signal0<void> &MMIChildToFamilyLink::FamilyAdded(void)  
 {  
   return _family_added;  
 }  
   
 SigC::Signal1<void, int> &MMIChildToFamilyLink::FamilyDeleted(void)  
 {  
   return _family_deleted;  
 }  
   
 int MMIChildToFamilyLink::button_pressed(GdkEventButton * event)  
 {  
   if (event->button == 3)  
     {  
       MMIMenuFamily * popup_menu = manage(new MMIMenuFamily());  
       popup_menu->getAddItem()->activate.connect(slot(this, &MMIChildToFamilyLink::menu_add_activated));  
       popup_menu->getDeleteItem()->activate.connect(slot(this, &MMIChildToFamilyLink::menu_delete_activated));  
       guint button = 3;  
       guint32 activate_time = 0;  
       popup_menu->popup(button, activate_time);  
     }  
   return 1;  
17  }  }
18    
19  void MMIChildToFamilyLink::menu_add_activated(void)  void MMIChildToFamilyLink::menu_add_activated(void)
20  {  {
21    addChildToFamilyLink("","");    addChildToFamilyLink("","");
22    _family_added.emit();    MMIFamilyLink::menu_add_activated();
   return;  
 }  
   
 void MMIChildToFamilyLink::menu_delete_activated(void)  
 {  
   int family_index = _child_to_family_links->get_current_page_num();  
   deleteChildToFamilyLink();  
   _family_deleted.emit(family_index);  
   return;  
 }  
   
 void MMIChildToFamilyLink::deleteChildToFamilyLink(void)  
 {  
   _cpt_family--;  
   Gtk::Notebook_Helpers::PageList pages = _child_to_family_links->pages();  
   Gtk::Notebook_Helpers::PageList::iterator page_iter = pages.find(_child_to_family_links->get_current());  
   if (page_iter != pages.end())  
     {  
       pages.erase(page_iter);  
     }  
23    return;    return;
24  }  }
25    
26  OneChildToFamilyLink * MMIChildToFamilyLink::addChildToFamilyLink(std::string const &father, std::string const &mother, SigC::Slot0<void> * slot_father = 0, SigC::Slot0<void> * slot_mother = 0 )  OneChildToFamilyLink * MMIChildToFamilyLink::addChildToFamilyLink(std::string const &father, std::string const &mother, SigC::Slot0<void> * slot_father = 0, SigC::Slot0<void> * slot_mother = 0 )
27  {  {
28    _cpt_family++;    _cpt_family++;
29    OneChildToFamilyLink = manage(new class OneChildToFamilyLink(father, mother, slot_father, slot_mother));    class OneChildToFamilyLink * OneChildToFamilyLink = manage(new class OneChildToFamilyLink(father, mother, slot_father, slot_mother));
30    MMIParentsFamilyNote = manage(new class MMIParentsFamilyNote());    class MMIParentsFamilyNote * MMIParentsFamilyNote = manage(new class MMIParentsFamilyNote());
31    
32    Gtk::Label *_child_to_family_link1 = manage(new class Gtk::Label(_("Family ") + toString<int>(_cpt_family)));    Gtk::Label *_child_to_family_link1 = manage(new class Gtk::Label(_("Family ") + toString<int>(_cpt_family)));
33    _child_to_family_link1->set_alignment(0.5, 0.5);    _child_to_family_link1->set_alignment(0.5, 0.5);
# Line 86  OneChildToFamilyLink * MMIChildToFamilyL Line 36  OneChildToFamilyLink * MMIChildToFamilyL
36    Gtk::HBox *hbox24 = manage(new class Gtk::HBox(false, 0));    Gtk::HBox *hbox24 = manage(new class Gtk::HBox(false, 0));
37    hbox24->pack_start(*_child_to_family_link1);    hbox24->pack_start(*_child_to_family_link1);
38    hbox24->pack_end(*MMIParentsFamilyNote, false, true, 0);    hbox24->pack_end(*MMIParentsFamilyNote, false, true, 0);
39    _child_to_family_links->pages().push_back(Gtk::Notebook_Helpers::TabElem(*OneChildToFamilyLink, *hbox24));    hbox24->show_all();
40      _family_links->pages().push_back(Gtk::Notebook_Helpers::TabElem(*OneChildToFamilyLink, *hbox24));
41    OneChildToFamilyLink->MMIParentsFamilyNote = MMIParentsFamilyNote;    OneChildToFamilyLink->MMIParentsFamilyNote = MMIParentsFamilyNote;
42    return OneChildToFamilyLink;    return OneChildToFamilyLink;
43  }  }
44    
 void MMIChildToFamilyLink::Clear(void)  
 {  
   _child_to_family_links->pages().clear();  
   _cpt_family = 0;  
   return;  
 }  

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

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