public TaskGoalRet GetTaskGoal()
        {
            GEDCOMTree   tree    = Owner;
            GEDCOMRecord goalRec = tree.XRefIndex_Find(GEDCOMUtils.CleanXRef(Goal));

            GKGoalType goalType;

            if (goalRec is GEDCOMIndividualRecord)
            {
                goalType = GKGoalType.gtIndividual;
            }
            else if (goalRec is GEDCOMFamilyRecord)
            {
                goalType = GKGoalType.gtFamily;
            }
            else if (goalRec is GEDCOMSourceRecord)
            {
                goalType = GKGoalType.gtSource;
            }
            else
            {
                goalType = GKGoalType.gtOther;
            }

            return(new TaskGoalRet(goalType, goalRec));
        }
        public override void UpdateView()
        {
            IndividualListFilter iFilter = (IndividualListFilter)fListMan.Filter;
            GlobalOptions        options = GlobalOptions.Instance;

            fView.NameCombo.Clear();
            fView.NameCombo.Add("*");
            fView.NameCombo.AddStrings(options.NameFilters);

            fView.ResidenceCombo.Clear();
            fView.ResidenceCombo.Add("*");
            fView.ResidenceCombo.AddStrings(options.ResidenceFilters);

            fView.EventValCombo.Clear();
            fView.EventValCombo.AddStrings(options.EventFilters);

            int lifeSel;

            if (iFilter.FilterLifeMode != FilterLifeMode.lmTimeLocked)
            {
                lifeSel = (int)iFilter.FilterLifeMode;
                fView.SetLifeEnabled(true);
                fView.AliveBeforeDate.Text = iFilter.AliveBeforeDate;
            }
            else
            {
                lifeSel = -1;
                fView.SetLifeEnabled(false);
                fView.AliveBeforeDate.Text = "";
            }

            fView.SetLifeRadio(lifeSel);
            fView.SetSexRadio((int)iFilter.Sex);

            fView.NameCombo.Text              = iFilter.Name;
            fView.ResidenceCombo.Text         = iFilter.Residence;
            fView.EventValCombo.Text          = iFilter.EventVal;
            fView.OnlyPatriarchsCheck.Checked = iFilter.PatriarchOnly;

            GEDCOMTree tree = Base.Context.Tree;

            var values = new StringList();

            fView.GroupCombo.Clear();
            int num = tree.RecordsCount;

            for (int i = 0; i < num; i++)
            {
                GEDCOMRecord rec = tree[i];
                if (rec is GEDCOMGroupRecord)
                {
                    values.AddObject((rec as GEDCOMGroupRecord).GroupName, rec);
                }
            }
            values.Sort();
            fView.GroupCombo.AddItem(LangMan.LS(LSID.LSID_SrcAll), null);
            fView.GroupCombo.AddItem(LangMan.LS(LSID.LSID_SrcNot), null);
            fView.GroupCombo.AddItem(LangMan.LS(LSID.LSID_SrcAny), null);
            fView.GroupCombo.AddStrings(values);
            if (iFilter.FilterGroupMode != FilterGroupMode.Selected)
            {
                fView.GroupCombo.SelectedIndex = (int)iFilter.FilterGroupMode;
            }
            else
            {
                GEDCOMGroupRecord groupRec = tree.XRefIndex_Find(iFilter.GroupRef) as GEDCOMGroupRecord;
                if (groupRec != null)
                {
                    fView.GroupCombo.Text = groupRec.GroupName;
                }
            }

            values = new StringList();
            fView.SourceCombo.Clear();
            for (int i = 0; i < tree.RecordsCount; i++)
            {
                GEDCOMRecord rec = tree[i];
                if (rec is GEDCOMSourceRecord)
                {
                    values.AddObject((rec as GEDCOMSourceRecord).FiledByEntry, rec);
                }
            }
            values.Sort();
            fView.SourceCombo.AddItem(LangMan.LS(LSID.LSID_SrcAll), null);
            fView.SourceCombo.AddItem(LangMan.LS(LSID.LSID_SrcNot), null);
            fView.SourceCombo.AddItem(LangMan.LS(LSID.LSID_SrcAny), null);
            fView.SourceCombo.AddStrings(values);
            if (iFilter.SourceMode != FilterGroupMode.Selected)
            {
                fView.SourceCombo.SelectedIndex = (int)iFilter.SourceMode;
            }
            else
            {
                GEDCOMSourceRecord sourceRec = tree.XRefIndex_Find(iFilter.SourceRef) as GEDCOMSourceRecord;
                if (sourceRec != null)
                {
                    fView.SourceCombo.Text = sourceRec.FiledByEntry;
                }
            }
        }
Beispiel #3
0
        private void UpdateSpecific()
        {
            IndividualListFilter iFilter = (IndividualListFilter)fListMan.Filter;
            GlobalOptions options = GlobalOptions.Instance;

            txtName.Items.Clear();
            txtName.Items.AddRange(options.NameFilters.ToArray());
            txtName.Items.Insert(0, "*");

            cmbResidence.Items.Clear();
            cmbResidence.Items.AddRange(options.ResidenceFilters.ToArray());
            cmbResidence.Items.Insert(0, "*");

            cmbEventVal.Items.Clear();
            cmbEventVal.Items.AddRange(options.EventFilters.ToArray());

            int lifeSel;
            if (iFilter.FilterLifeMode != FilterLifeMode.lmTimeLocked)
            {
                lifeSel = (int)iFilter.FilterLifeMode;
                rgLife.Enabled = true;
                txtAliveBeforeDate.Text = iFilter.AliveBeforeDate;
            } else {
                lifeSel = -1;
                rgLife.Enabled = false;
                txtAliveBeforeDate.Text = "";
            }

            switch (lifeSel) {
                case 0:
                    rbAll.Checked = true;
                    break;
                case 1:
                    rbOnlyLive.Checked = true;
                    break;
                case 2:
                    rbOnlyDead.Checked = true;
                    break;
                case 3:
                    rbAliveBefore.Checked = true;
                    break;
            }

            int sexSel = (int)iFilter.Sex;
            switch (sexSel) {
                case 0:
                    rbSexAll.Checked = true;
                    break;
                case 1:
                    rbSexMale.Checked = true;
                    break;
                case 2:
                    rbSexFemale.Checked = true;
                    break;
            }

            txtName.Text = iFilter.Name;
            cmbResidence.Text = iFilter.Residence;
            cmbEventVal.Text = iFilter.EventVal;
            chkOnlyPatriarchs.Checked = iFilter.PatriarchOnly;

            GEDCOMTree tree = Base.Context.Tree;

            cmbGroup.Items.Clear();
            cmbGroup.Sorted = true;
            int num = tree.RecordsCount;
            for (int i = 0; i < num; i++) {
                GEDCOMRecord rec = tree[i];
                if (rec is GEDCOMGroupRecord) {
                    cmbGroup.Items.Add(new GKComboItem((rec as GEDCOMGroupRecord).GroupName, rec));
                }
            }
            cmbGroup.Sorted = false;
            cmbGroup.Items.Insert(0, new GKComboItem(LangMan.LS(LSID.LSID_SrcAll), null));
            cmbGroup.Items.Insert(1, new GKComboItem(LangMan.LS(LSID.LSID_SrcNot), null));
            cmbGroup.Items.Insert(2, new GKComboItem(LangMan.LS(LSID.LSID_SrcAny), null));
            if (iFilter.FilterGroupMode != FilterGroupMode.Selected) {
                cmbGroup.SelectedIndex = (int)iFilter.FilterGroupMode;
            } else {
                GEDCOMGroupRecord groupRec = tree.XRefIndex_Find(iFilter.GroupRef) as GEDCOMGroupRecord;
                if (groupRec != null) cmbGroup.Text = groupRec.GroupName;
            }

            cmbSource.Items.Clear();
            cmbSource.Sorted = true;
            for (int i = 0; i < tree.RecordsCount; i++) {
                GEDCOMRecord rec = tree[i];
                if (rec is GEDCOMSourceRecord) {
                    cmbSource.Items.Add(new GKComboItem((rec as GEDCOMSourceRecord).FiledByEntry, rec));
                }
            }
            cmbSource.Sorted = false;
            cmbSource.Items.Insert(0, new GKComboItem(LangMan.LS(LSID.LSID_SrcAll), null));
            cmbSource.Items.Insert(1, new GKComboItem(LangMan.LS(LSID.LSID_SrcNot), null));
            cmbSource.Items.Insert(2, new GKComboItem(LangMan.LS(LSID.LSID_SrcAny), null));
            if (iFilter.SourceMode != FilterGroupMode.Selected) {
                cmbSource.SelectedIndex = (int)iFilter.SourceMode;
            } else {
                GEDCOMSourceRecord sourceRec = tree.XRefIndex_Find(iFilter.SourceRef) as GEDCOMSourceRecord;
                if (sourceRec != null) cmbSource.Text = sourceRec.FiledByEntry;
            }
        }