/[ghosts]/ghosts/gedcomviewer/src/BakeryGateway/ViewSpouseToFamilyLink.cpp
ViewVC logotype

Diff of /ghosts/gedcomviewer/src/BakeryGateway/ViewSpouseToFamilyLink.cpp

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

revision 1.2 by cpcp, Tue Nov 12 21:25:22 2002 UTC revision 1.3 by cpcp, Sun Mar 2 14:39:22 2003 UTC
# Line 22  Line 22 
22  #include "BakeryGateway/ViewSpouseToFamilyLink.hh"  #include "BakeryGateway/ViewSpouseToFamilyLink.hh"
23  #include "BakeryGateway/ViewFamilyRecordNoteFactory.hh"  #include "BakeryGateway/ViewFamilyRecordNoteFactory.hh"
24  #include "BakeryGateway/ViewIndividualEventNoteFactory.hh"  #include "BakeryGateway/ViewIndividualEventNoteFactory.hh"
25    #include "OneFamilyLinkHandler.hh"
26    #include "OneSpouseToFamilyLinkHandler.hh"
27    #include "OneSpouseToFamilyLink.hh"
28    
29  BakeryGateway::ViewSpouseToFamilyLink::ViewSpouseToFamilyLink(MMISpouseToFamilyLink * mmi) :  BakeryGateway::ViewSpouseToFamilyLink::ViewSpouseToFamilyLink(MMISpouseToFamilyLink * mmi) :
30    _mmi_spousetofamilylink(mmi)    _mmi_spousetofamilylink(mmi)
# Line 75  void BakeryGateway::ViewSpouseToFamilyLi Line 78  void BakeryGateway::ViewSpouseToFamilyLi
78                std::string * wife_id = new std::string((*fams_iter).second->getWife());                std::string * wife_id = new std::string((*fams_iter).second->getWife());
79                husband = get_name_individual(individuals, *husband_id);                husband = get_name_individual(individuals, *husband_id);
80                wife = get_name_individual(individuals, *wife_id);                wife = get_name_individual(individuals, *wife_id);
81                SigC::Slot0<void> * slot_husband = new SigC::Slot0<void>(SigC::bind(SigC::slot(this, &BakeryGateway::ViewSpouseToFamilyLink::Navigate), husband_id));                OneFamilyLinkHandler::SlotHandler_t * slot_husband = new OneFamilyLinkHandler::SlotHandler_t(SigC::bind(SigC::slot(this, &BakeryGateway::ViewSpouseToFamilyLink::ButtonPressed), husband_id));
82                SigC::Slot0<void> * slot_wife = new SigC::Slot0<void>(SigC::bind(SigC::slot(this, &BakeryGateway::ViewSpouseToFamilyLink::Navigate), wife_id));                OneFamilyLinkHandler::SlotHandler_t * slot_wife = new OneFamilyLinkHandler::SlotHandler_t(SigC::bind(SigC::slot(this, &BakeryGateway::ViewSpouseToFamilyLink::ButtonPressed), wife_id));
83                std::vector<std::string> children;                std::vector<std::string> children;
84                std::vector < SigC::Slot0<void> * > slot_children;                std::vector < OneFamilyLinkHandler::SlotHandler_t * > slots_children;
85                GEDCOMParser::ChildXrefs_t children_ids = (*fams_iter).second->getChilXrefs();                GEDCOMParser::ChildXrefs_t children_ids = (*fams_iter).second->getChilXrefs();
86                for (GEDCOMParser::ChildXrefs_t::const_iterator child_iter = children_ids.begin(); child_iter != children_ids.end(); child_iter++)                for (GEDCOMParser::ChildXrefs_t::const_iterator child_iter = children_ids.begin(); child_iter != children_ids.end(); child_iter++)
87                  {                  {
88                    std::string * child_id = new std::string(*child_iter);                    std::string * child_id = new std::string(*child_iter);
89                    std::string child = get_name_individual(individuals, *child_id);                    std::string child = get_name_individual(individuals, *child_id);
90                    children.push_back(child);                    children.push_back(child);
91                    SigC::Slot0<void> * slot_child = new SigC::Slot0<void>(SigC::bind(SigC::slot(this, &BakeryGateway::ViewSpouseToFamilyLink::Navigate), child_id));                    OneFamilyLinkHandler::SlotHandler_t * slot_child = new OneFamilyLinkHandler::SlotHandler_t(SigC::bind(SigC::slot(this, &BakeryGateway::ViewSpouseToFamilyLink::ButtonPressed), child_id));
92                    slot_children.push_back(slot_child);                    slots_children.push_back(slot_child);
93                  }                  }
94                OneSpouseToFamilyLink * new_family_link = _mmi_spousetofamilylink->addSpouseToFamilyLink(*union_date, *union_place, husband, wife, children, slot_husband, slot_wife, slot_children);                OneSpouseToFamilyLinkHandler new_handler(*union_date, *union_place, husband, wife, children, slot_husband, slot_wife, slots_children);
95                  OneFamilyLink * new_family_link;
96                  new_family_link = _mmi_spousetofamilylink->addFamilyLink(new_handler);
97    
98                Bakery::View<BakeryGateway::Document> * note_view = _view_factory->createView(new_family_link->OneSpouseToFamilyLinkNote);                Bakery::View<BakeryGateway::Document> * note_view = _view_factory->createView(new_family_link->getFamilyNote());
99                subscribe_view(note_view);                subscribe_view(note_view);
100                BakeryExtras::View_Linked < BakeryGateway::Document, GEDCOMParser::SpouseToFamilyLink > * tmp =  dynamic_cast < BakeryExtras::View_Linked < BakeryGateway::Document, GEDCOMParser::SpouseToFamilyLink > * > (note_view);                BakeryExtras::View_Linked < BakeryGateway::Document, GEDCOMParser::SpouseToFamilyLink > * tmp =  dynamic_cast < BakeryExtras::View_Linked < BakeryGateway::Document, GEDCOMParser::SpouseToFamilyLink > * > (note_view);
101                tmp->set_parent_entity((*iter).getPtr());                tmp->set_parent_entity((*iter).getPtr());
102                                
103                BakeryGateway::ViewFamilyRecordNoteFactory familyrecord_note_factory;                BakeryGateway::ViewFamilyRecordNoteFactory familyrecord_note_factory;
104                Bakery::View<BakeryGateway::Document> * family_note_view = familyrecord_note_factory.createView(new_family_link->MMIUnionFamilyNote);                Bakery::View<BakeryGateway::Document> * family_note_view = familyrecord_note_factory.createView(new_family_link->getFamilyNote());
105                subscribe_view(family_note_view);                subscribe_view(family_note_view);
106                BakeryExtras::View_Linked < BakeryGateway::Document, GEDCOMParser::FamilyRecord > * tmp2 =  dynamic_cast < BakeryExtras::View_Linked < BakeryGateway::Document, GEDCOMParser::FamilyRecord > * > (family_note_view);                BakeryExtras::View_Linked < BakeryGateway::Document, GEDCOMParser::FamilyRecord > * tmp2 =  dynamic_cast < BakeryExtras::View_Linked < BakeryGateway::Document, GEDCOMParser::FamilyRecord > * > (family_note_view);
107                tmp2->set_parent_entity(fams_iter->second.getPtr());                tmp2->set_parent_entity(fams_iter->second.getPtr());
108                if (union_event != 0)                if (union_event != 0)
109                  {                  {
110                    BakeryGateway::ViewIndividualEventNoteFactory union_event_note_factory;                    BakeryGateway::ViewIndividualEventNoteFactory union_event_note_factory;
111                    Bakery::View<BakeryGateway::Document> * union_event_note_view = union_event_note_factory.createView(new_family_link->MMIUnionNote);                    Bakery::View<BakeryGateway::Document> * union_event_note_view = union_event_note_factory.createView(new_family_link->getFamilyNote());
112                    subscribe_view(union_event_note_view);                    subscribe_view(union_event_note_view);
113                    BakeryExtras::View_Linked < BakeryGateway::Document, GEDCOMParser::Event > * tmp3 =  dynamic_cast < BakeryExtras::View_Linked < BakeryGateway::Document, GEDCOMParser::Event > * > (union_event_note_view);                    BakeryExtras::View_Linked < BakeryGateway::Document, GEDCOMParser::Event > * tmp3 =  dynamic_cast < BakeryExtras::View_Linked < BakeryGateway::Document, GEDCOMParser::Event > * > (union_event_note_view);
114                    tmp3->set_parent_entity(union_event);                    tmp3->set_parent_entity(union_event);
# Line 115  void BakeryGateway::ViewSpouseToFamilyLi Line 120  void BakeryGateway::ViewSpouseToFamilyLi
120    return;    return;
121  }  }
122    
123  void BakeryGateway::ViewSpouseToFamilyLink::Navigate(std::string const * key)  OneFamilyLinkHandler::ReturnHandler_t BakeryGateway::ViewSpouseToFamilyLink::ButtonPressed(GdkEventButton * event, std::string const * key)
124  {  {
125    BakeryExtras::View_Navigator<BakeryGateway::Document, std::string >::Navigate(*key);    bool new_win = false;
126    return;    if (event->state & GDK_CONTROL_MASK)
127        {
128          new_win = true;
129        }
130      Navigate(*key, new_win);
131      return false;
132  }  }
133    
134  std::string BakeryGateway::ViewSpouseToFamilyLink::get_name_individual(GEDCOMParser::IndividualRecords_t const &individuals, std::string const &individual_id) const  std::string BakeryGateway::ViewSpouseToFamilyLink::get_name_individual(GEDCOMParser::IndividualRecords_t const &individuals, std::string const &individual_id) const

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