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; } } }
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; } }