private void SetEvent(GEDCOMCustomEvent value) { fEvent = value; if (fEvent is GEDCOMFamilyEvent) { int num = GKData.FamilyEvents.Length; for (int i = 0; i < num; i++) { cmbEventType.Items.Add(LangMan.LS(GKData.FamilyEvents[i].Name)); } int idx = GKUtils.GetFamilyEventIndex(fEvent.Name); if (idx < 0) { idx = 0; } cmbEventType.SelectedIndex = idx; } else { int num = GKData.PersonEvents.Length; for (int i = 0; i < num; i++) { cmbEventType.Items.Add(LangMan.LS(GKData.PersonEvents[i].Name)); } int idx = GKUtils.GetPersonEventIndex(fEvent.Name); if (idx < 0) { idx = 0; } cmbEventType.SelectedIndex = idx; if (idx >= 0 && GKData.PersonEvents[idx].Kind == PersonEventKind.ekFact) { txtAttribute.Text = fEvent.StringValue; } } EditEventType_SelectedIndexChanged(null, null); GEDCOMCustomDate date = fEvent.Date.Value; if (date is GEDCOMDateRange) { GEDCOMDateRange dtRange = date as GEDCOMDateRange; if (dtRange.After.StringValue == "" && dtRange.Before.StringValue != "") { cmbEventDateType.SelectedIndex = 1; } else if (dtRange.After.StringValue != "" && dtRange.Before.StringValue == "") { cmbEventDateType.SelectedIndex = 2; } else if (dtRange.After.StringValue != "" && dtRange.Before.StringValue != "") { cmbEventDateType.SelectedIndex = 3; } txtEventDate1.Text = dtRange.After.GetDisplayString(DateFormat.dfDD_MM_YYYY); txtEventDate2.Text = dtRange.Before.GetDisplayString(DateFormat.dfDD_MM_YYYY); SetComboCalendar(cmbDate1Calendar, dtRange.After.DateCalendar); SetComboCalendar(cmbDate2Calendar, dtRange.Before.DateCalendar); btnBC1.Checked = dtRange.After.YearBC; btnBC2.Checked = dtRange.Before.YearBC; } else if (date is GEDCOMDatePeriod) { GEDCOMDatePeriod dtPeriod = date as GEDCOMDatePeriod; if (dtPeriod.DateFrom.StringValue != "" && dtPeriod.DateTo.StringValue == "") { cmbEventDateType.SelectedIndex = 4; } else if (dtPeriod.DateFrom.StringValue == "" && dtPeriod.DateTo.StringValue != "") { cmbEventDateType.SelectedIndex = 5; } else if (dtPeriod.DateFrom.StringValue != "" && dtPeriod.DateTo.StringValue != "") { cmbEventDateType.SelectedIndex = 6; } txtEventDate1.Text = dtPeriod.DateFrom.GetDisplayString(DateFormat.dfDD_MM_YYYY); txtEventDate2.Text = dtPeriod.DateTo.GetDisplayString(DateFormat.dfDD_MM_YYYY); SetComboCalendar(cmbDate1Calendar, dtPeriod.DateFrom.DateCalendar); SetComboCalendar(cmbDate2Calendar, dtPeriod.DateTo.DateCalendar); btnBC1.Checked = dtPeriod.DateFrom.YearBC; btnBC2.Checked = dtPeriod.DateTo.YearBC; } else if (date is GEDCOMDate) { GEDCOMApproximated approximated = (date as GEDCOMDate).Approximated; switch (approximated) { case GEDCOMApproximated.daExact: cmbEventDateType.SelectedIndex = 0; break; case GEDCOMApproximated.daAbout: cmbEventDateType.SelectedIndex = 7; break; case GEDCOMApproximated.daCalculated: cmbEventDateType.SelectedIndex = 8; break; case GEDCOMApproximated.daEstimated: cmbEventDateType.SelectedIndex = 9; break; } txtEventDate1.Text = (date as GEDCOMDate).GetDisplayString(DateFormat.dfDD_MM_YYYY); SetComboCalendar(cmbDate1Calendar, (date as GEDCOMDate).DateCalendar); btnBC1.Checked = (date as GEDCOMDate).YearBC; } else { cmbEventDateType.SelectedIndex = 0; txtEventDate1.Text = ""; cmbDate1Calendar.SelectedIndex = 0; btnBC1.Checked = false; } EditEventDateType_SelectedIndexChanged(null, null); txtEventName.Text = fEvent.Classification; txtEventCause.Text = fEvent.Cause; txtEventOrg.Text = fEvent.Agency; fLocation = (fEvent.Place.Location.Value as GEDCOMLocationRecord); fNotesList.ListModel.DataOwner = fEvent; fMediaList.ListModel.DataOwner = fEvent; fSourcesList.ListModel.DataOwner = fEvent; ControlsRefresh(); ActiveControl = cmbEventType; }
public override void UpdateView() { fView.NotesList.ListModel.DataOwner = fEvent; fView.MediaList.ListModel.DataOwner = fEvent; fView.SourcesList.ListModel.DataOwner = fEvent; if (fEvent is GEDCOMFamilyEvent) { SetEventTypes(GKData.FamilyEvents); int idx = GKUtils.GetFamilyEventIndex(fEvent.Name); if (idx < 0) { idx = 0; } fView.EventType.SelectedIndex = idx; } else { SetEventTypes(GKData.PersonEvents); int idx = GKUtils.GetPersonEventIndex(fEvent.Name); if (idx < 0) { idx = 0; } fView.EventType.SelectedIndex = idx; if (idx >= 0 && GKData.PersonEvents[idx].Kind == PersonEventKind.ekFact) { fView.Attribute.Text = fEvent.StringValue; } } ChangeEventType(); GEDCOMCustomDate date = fEvent.Date.Value; if (date is GEDCOMDateRange) { GEDCOMDateRange dtRange = date as GEDCOMDateRange; if (dtRange.After.StringValue == "" && dtRange.Before.StringValue != "") { fView.EventDateType.SelectedIndex = 1; } else if (dtRange.After.StringValue != "" && dtRange.Before.StringValue == "") { fView.EventDateType.SelectedIndex = 2; } else if (dtRange.After.StringValue != "" && dtRange.Before.StringValue != "") { fView.EventDateType.SelectedIndex = 3; } fView.Date1.Text = dtRange.After.GetDisplayString(DateFormat.dfDD_MM_YYYY); fView.Date2.Text = dtRange.Before.GetDisplayString(DateFormat.dfDD_MM_YYYY); fView.Date1Calendar.SelectedTag = dtRange.After.DateCalendar; fView.Date2Calendar.SelectedTag = dtRange.Before.DateCalendar; fView.Date1BC.Checked = dtRange.After.YearBC; fView.Date2BC.Checked = dtRange.Before.YearBC; } else if (date is GEDCOMDatePeriod) { GEDCOMDatePeriod dtPeriod = date as GEDCOMDatePeriod; if (dtPeriod.DateFrom.StringValue != "" && dtPeriod.DateTo.StringValue == "") { fView.EventDateType.SelectedIndex = 4; } else if (dtPeriod.DateFrom.StringValue == "" && dtPeriod.DateTo.StringValue != "") { fView.EventDateType.SelectedIndex = 5; } else if (dtPeriod.DateFrom.StringValue != "" && dtPeriod.DateTo.StringValue != "") { fView.EventDateType.SelectedIndex = 6; } fView.Date1.Text = dtPeriod.DateFrom.GetDisplayString(DateFormat.dfDD_MM_YYYY); fView.Date2.Text = dtPeriod.DateTo.GetDisplayString(DateFormat.dfDD_MM_YYYY); fView.Date1Calendar.SelectedTag = dtPeriod.DateFrom.DateCalendar; fView.Date2Calendar.SelectedTag = dtPeriod.DateTo.DateCalendar; fView.Date1BC.Checked = dtPeriod.DateFrom.YearBC; fView.Date2BC.Checked = dtPeriod.DateTo.YearBC; } else if (date is GEDCOMDate) { GEDCOMApproximated approximated = (date as GEDCOMDate).Approximated; switch (approximated) { case GEDCOMApproximated.daExact: fView.EventDateType.SelectedIndex = 0; break; case GEDCOMApproximated.daAbout: fView.EventDateType.SelectedIndex = 7; break; case GEDCOMApproximated.daCalculated: fView.EventDateType.SelectedIndex = 8; break; case GEDCOMApproximated.daEstimated: fView.EventDateType.SelectedIndex = 9; break; } fView.Date1.Text = (date as GEDCOMDate).GetDisplayString(DateFormat.dfDD_MM_YYYY); fView.Date1Calendar.SelectedTag = (date as GEDCOMDate).DateCalendar; fView.Date1BC.Checked = (date as GEDCOMDate).YearBC; } else { fView.EventDateType.SelectedIndex = 0; fView.Date1.Text = ""; fView.Date1Calendar.SelectedTag = GEDCOMCalendar.dcGregorian; fView.Date1BC.Checked = false; } ChangeDateType(); fView.EventName.Text = fEvent.Classification; fView.Cause.Text = fEvent.Cause; fView.Agency.Text = fEvent.Agency; fTempLocation = (fEvent.Place.Location.Value as GEDCOMLocationRecord); UpdatePlace(); fView.NotesList.UpdateSheet(); fView.MediaList.UpdateSheet(); fView.SourcesList.UpdateSheet(); }