示例#1
0
        private void UpdateFamily(FamilyClass family, TreeViewLayout layout, ref FamilyButton familyButton, IndividualButton parentButton = null)
        {
            trace.TraceInformation("UpdateFamily(" + family.GetXrefName() + "):" + familyButton.bLayout.generation);
            if (familyButton.family == null)
            {
                familyButton.family = family;
                familyButton.Refresh();
            }
            if (!familyButton.Visible)
            {
                if (!familyButton.SetLayout(layout, parentButton))
                {
                    trace.TraceInformation("UpdateFamily(" + family.GetXrefName() + ")-aborted");
                    return;
                }
                //familyButton.Refresh();
            }

            if (layout.VisibleButton(familyButton.bLayout))
            {
                if (layout.SearchChildren())
                {
                    UpdateIndividualList(family.GetChildList(), familyButton);
                }
                if (layout.SearchParents())
                {
                    UpdateIndividualList(family.GetParentList(), familyButton);
                }
                trace.TraceInformation("UpdateFamily(" + family.GetXrefName() + ")-done");
            }
            else
            {
                trace.TraceInformation("UpdateFamily(" + family.GetXrefName() + "," + familyButton.bLayout.generation + ") not visible generation => stop!");
            }
        }
示例#2
0
        private void UpdateIndividual(IndividualClass person, TreeViewLayout layout, ref IndividualButton personButton, FamilyButton parentButton = null)
        {
            trace.TraceInformation("UpdateIndividual(" + person.GetXrefName() + "),gen:" + personButton.bLayout.generation + ",name:" + person.GetPersonalName().GetName());
            if (personButton.individual == null)
            {
                personButton.individual = person;
                personButton.Refresh();
            }
            if (!personButton.Visible)
            {
                if (!personButton.SetLayout(layout, parentButton))
                {
                    trace.TraceInformation("UpdateIndividual(" + person.GetXrefName() + "),gen:" + personButton.bLayout.generation + ")-aborted,hidden");
                    return;
                }
            }

            if (layout.VisibleButton(personButton.bLayout))
            {
                if (layout.SearchChildren())
                {
                    UpdateFamilyList(person.GetFamilySpouseList(), personButton);
                }
                if (layout.SearchParents())
                {
                    UpdateFamilyList(person.GetFamilyChildList(), personButton);
                }
                trace.TraceInformation("UpdateIndividual(" + person.GetXrefName() + ", " + personButton.bLayout.generation + ")-done");
            }
            else
            {
                trace.TraceInformation("UpdateIndividual(" + person.GetXrefName() + ", " + personButton.bLayout.generation + ") not visible generation => stop!");
            }
        }