コード例 #1
0
        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");
                }
            }
        }
コード例 #2
0
        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);
            }
        }
コード例 #3
0
ファイル: GDMExtensions.cs プロジェクト: hazzik/GEDKeeper
 public static GDMIndividualRecord GetPtrValue(this GDMTree tree, GDMIndividualLink ptr)
 {
     return(tree.GetPtrValue <GDMIndividualRecord>(ptr));
 }