/[ghosts]/ghosts/gedcomparser/src/GEDCOMHelper/IndividualRecordHelper.cpp
ViewVC logotype

Diff of /ghosts/gedcomparser/src/GEDCOMHelper/IndividualRecordHelper.cpp

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

revision 1.1 by cpcp, Thu Oct 30 20:22:30 2003 UTC revision 1.2 by cpcp, Mon Dec 1 20:20:52 2003 UTC
# Line 21  Line 21 
21  */  */
22    
23  #include "GEDCOMHelper/IndividualRecordHelper.hh"  #include "GEDCOMHelper/IndividualRecordHelper.hh"
 #include <iostream>  
24    
25  GEDCOMParser::PersonalName * GEDCOMHelper::IndividualRecordHelper::setPersonalName(std::string const &first_name, std::string const& last_name)  GEDCOMParser::PersonalName * GEDCOMHelper::IndividualRecordHelper::setPersonalName(std::string const &first_name, std::string const& last_name)
26  {  {
# Line 40  GEDCOMParser::PersonalName * GEDCOMHelpe Line 39  GEDCOMParser::PersonalName * GEDCOMHelpe
39    return personal_name;    return personal_name;
40  }  }
41    
42    GEDCOMParser::IndividualEvent * const GEDCOMHelper::IndividualRecordHelper::getBirth(void) const
43    {
44      GEDCOMParser::IndividualEvent * const res = getEvent(GEDCOMParser::IndividualEvent::e_Birt);
45      return res;
46    }
47    
48    GEDCOMParser::IndividualEvent * const GEDCOMHelper::IndividualRecordHelper::getDeath(void) const
49    {
50      GEDCOMParser::IndividualEvent * const res = getEvent(GEDCOMParser::IndividualEvent::e_Deat);
51      return res;
52    }
53    
54    GEDCOMParser::IndividualEvent * const GEDCOMHelper::IndividualRecordHelper::getEvent(GEDCOMParser::IndividualEvent::enumIndividualEvents const &event) const
55    {
56      GEDCOMParser::IndividualEvent * res = 0;
57      GEDCOMParser::IndividualEvents_t const &events = _individual_record->getIndividualEvents();
58      GEDCOMParser::IndividualEvents_t::const_iterator iter =
59        std::find(events.begin(),
60                  events.end(),
61                  event);
62      if (iter != events.end())
63        {
64          res = (*iter).getPtr();
65        }
66      return res;
67    }
68    
69  GEDCOMParser::IndividualEvent * GEDCOMHelper::IndividualRecordHelper::setEvent(GEDCOMParser::IndividualEvent::enumIndividualEvents const &event_type, std::string const &date, std::string const &location)  GEDCOMParser::IndividualEvent * GEDCOMHelper::IndividualRecordHelper::setEvent(GEDCOMParser::IndividualEvent::enumIndividualEvents const &event_type, std::string const &date, std::string const &location)
70  {  {
71    GEDCOMParser::IndividualEvent * event = _individual_record->getEvent(event_type);    GEDCOMParser::IndividualEvent * event = getEvent(event_type);
72    if (event == 0)    if (event == 0)
73      {      {
74        event = _individual_record->addIndividualEvent();        event = _individual_record->addIndividualEvent();
# Line 144  GEDCOMParser::FamilyRecord * GEDCOMHelpe Line 170  GEDCOMParser::FamilyRecord * GEDCOMHelpe
170            res = _lineage->addFamilyRecord();            res = _lineage->addFamilyRecord();
171          }          }
172        link->setFamsXref(res->getId());        link->setFamsXref(res->getId());
173        res->setSpouse(*_individual_record);        if (_individual_record->getSex() == GEDCOMParser::IndividualRecord::MALE)
174            {
175              res->setHusb(_individual_record->getId());
176            }
177          else
178            {
179              res->setWife(_individual_record->getId());
180            }
181      }      }
182    return res;    return res;
183  }  }
# Line 193  GEDCOMParser::IndividualRecord * GEDCOMH Line 226  GEDCOMParser::IndividualRecord * GEDCOMH
226    GEDCOMParser::IndividualRecords_t const &individus = _lineage->getIndividualRecords();    GEDCOMParser::IndividualRecords_t const &individus = _lineage->getIndividualRecords();
227    GEDCOMParser::FamilyRecords_t::const_iterator fam_iter;    GEDCOMParser::FamilyRecords_t::const_iterator fam_iter;
228    GEDCOMParser::IndividualRecords_t::const_iterator parent_iter;    GEDCOMParser::IndividualRecords_t::const_iterator parent_iter;
229    GEDCOMParser::IndividualRecords_elem_t res;    GEDCOMParser::IndividualRecords_elem_t tmp_res;
230      GEDCOMParser::IndividualRecord * res = 0;
231    
232    if (_individual_record->getChildToFamilyLinks().size() == 1)    if (_individual_record->getChildToFamilyLinks().size() == 1)
233      {      {
# Line 212  GEDCOMParser::IndividualRecord * GEDCOMH Line 246  GEDCOMParser::IndividualRecord * GEDCOMH
246            parent_iter = individus.find(parent_id);            parent_iter = individus.find(parent_id);
247            if (parent_iter != individus.end())            if (parent_iter != individus.end())
248              {              {
249                res = *parent_iter;                tmp_res = *parent_iter;
250                  res = tmp_res.second.getPtr();
251              }              }
252          }          }
253      }      }
254    return res.second.getPtr();    return res;
255  }  }
256    
257  void  GEDCOMHelper::IndividualRecordHelper::RemoveChildFromFamily(GEDCOMParser::FamilyRecord * const family)  void  GEDCOMHelper::IndividualRecordHelper::RemoveChildFromFamily(GEDCOMParser::FamilyRecord * const family)

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

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