private void CheckChildLink(GDMFamilyRecord fam, int index) { GDMIndividualLink childLink = fam.Children[index]; var childRec = fTree.GetPtrValue <GDMIndividualRecord>(childLink); if (childRec == null) { fam.Children.DeleteAt(index); return; } if (fFormat == GEDCOMFormat.gf_AGES) { var frelTag = FindSubTagValue(childLink, "_FREL"); var mrelTag = FindSubTagValue(childLink, "_MREL"); if (frelTag == "ADOPTED" && mrelTag == "ADOPTED") { GDMChildToFamilyLink ctfLink = childRec.FindChildToFamilyLink(fam); ctfLink.PedigreeLinkageType = GDMPedigreeLinkageType.plAdopted; childLink.DeleteTag("_FREL"); childLink.DeleteTag("_MREL"); } } }
private void ModifySpousesSheet(object sender, ModifyEventArgs eArgs) { GDMFamilyRecord family = eArgs.ItemData as GDMFamilyRecord; if (eArgs.Action == RecordAction.raJump && family != null) { GDMIndividualLink spouse = null; switch (fController.Person.Sex) { case GDMSex.svMale: spouse = family.Wife; break; case GDMSex.svFemale: spouse = family.Husband; break; } fController.JumpToRecord(spouse); } }
public static GDMIndividualRecord GetPtrValue(this GDMTree tree, GDMIndividualLink ptr) { return(tree.GetPtrValue <GDMIndividualRecord>(ptr)); }