| 53 |
return _events.back().getPtr(); |
return _events.back().getPtr(); |
| 54 |
} |
} |
| 55 |
|
|
|
GEDCOMParser::FamilyEvent * GEDCOMParser::FamilyRecord::getMarriageEvent(void) const |
|
|
{ |
|
|
GEDCOMParser::FamilyEvent * res = 0; |
|
|
|
|
|
GEDCOMParser::FamilyEvents_t::const_iterator event_iter = find(_events.begin(), _events.end(), GEDCOMParser::FamilyEvent::e_Marr); |
|
|
if (event_iter != _events.end()) |
|
|
{ |
|
|
res = (*event_iter).getPtr(); |
|
|
} |
|
|
return res; |
|
|
} |
|
|
|
|
| 56 |
void GEDCOMParser::FamilyRecord::setHusb(std::string const & value) |
void GEDCOMParser::FamilyRecord::setHusb(std::string const & value) |
| 57 |
{ |
{ |
| 58 |
_husb = value; |
_husb = value; |
| 65 |
return; |
return; |
| 66 |
} |
} |
| 67 |
|
|
|
void GEDCOMParser::FamilyRecord::setSpouse(GEDCOMParser::IndividualRecord const &individual) |
|
|
{ |
|
|
if (individual.getSex() == GEDCOMParser::IndividualRecord::MALE) |
|
|
{ |
|
|
setHusb(individual.getId()); |
|
|
} |
|
|
else |
|
|
{ |
|
|
setWife(individual.getId()); |
|
|
} |
|
|
return; |
|
|
} |
|
|
|
|
|
void GEDCOMParser::FamilyRecord::setSpouse(SmartPtr < GEDCOMParser::IndividualRecord > const &individual) |
|
|
{ |
|
|
if (! individual.Null()) |
|
|
{ |
|
|
setSpouse(*(individual.getPtr())); |
|
|
} |
|
|
return; |
|
|
} |
|
|
|
|
|
std::string GEDCOMParser::FamilyRecord::getSpouseId(GEDCOMParser::IndividualRecord const &individual) const |
|
|
{ |
|
|
std::string res = getHusb(); |
|
|
if (individual.getSex() == GEDCOMParser::IndividualRecord::MALE) |
|
|
{ |
|
|
res = getWife(); |
|
|
} |
|
|
return res; |
|
|
} |
|
|
|
|
|
void GEDCOMParser::FamilyRecord::RemoveSpouse(GEDCOMParser::IndividualRecord const &individual) |
|
|
{ |
|
|
if (individual.getSex() == GEDCOMParser::IndividualRecord::MALE) |
|
|
{ |
|
|
if (getHusb() == individual.getId()) |
|
|
{ |
|
|
setHusb(""); |
|
|
} |
|
|
} |
|
|
else |
|
|
{ |
|
|
if (getWife() == individual.getId()) |
|
|
{ |
|
|
setWife(""); |
|
|
} |
|
|
} |
|
|
return; |
|
|
} |
|
|
|
|
| 68 |
void GEDCOMParser::FamilyRecord::addChilXref(std::string const & value) |
void GEDCOMParser::FamilyRecord::addChilXref(std::string const & value) |
| 69 |
{ |
{ |
| 70 |
_chil_xrefs.push_back(value); |
_chil_xrefs.push_back(value); |