private void WriteEventList(PedigreePerson person, ExtList <PedigreeEvent> evList) { evList.QuickSort(EventsCompare); int num3 = evList.Count; for (int i = 0; i < num3; i++) { GEDCOMCustomEvent evt = evList[i].Event; if (evt != null && Equals(evList[i].IRec, person.IRec)) { if (evt.Name == "BIRT") { evList.Exchange(i, 0); } else if (evt.Name == "DEAT") { evList.Exchange(i, evList.Count - 1); } } } fWriter.beginList(); int num4 = evList.Count; for (int i = 0; i < num4; i++) { PedigreeEvent evObj = evList[i]; GEDCOMCustomEvent evt = evObj.Event; string li; if (evObj.IRec == person.IRec) { int ev = GKUtils.GetPersonEventIndex(evt.Name); string st; if (ev == 0) { st = evt.Classification; } else { st = (ev > 0) ? LangMan.LS(GKData.PersonEvents[ev].Name) : evt.Name; } string dt = GKUtils.GEDCOMEventToDateStr(evt, DateFormat.dfDD_MM_YYYY, false); li = dt + ": " + st + "."; if (evt.Place.StringValue != "") { li = li + " " + LangMan.LS(LSID.LSID_Place) + ": " + evt.Place.StringValue; } fWriter.addListItem(" " + li, fTextFont); } else { string dt = (evt == null) ? "?" : GKUtils.GEDCOMEventToDateStr(evt, DateFormat.dfDD_MM_YYYY, false); string st = (evObj.IRec.Sex == GEDCOMSex.svMale) ? ": Родился " : ": Родилась "; li = dt + st + GKUtils.GetNameString(evObj.IRec, true, false); PedigreePerson prs = FindPerson(evObj.IRec); string id = (prs != null) ? prs.Id : ""; fWriter.addListItemLink(" " + li + " ", fTextFont, id, fLinkFont); } } fWriter.endList(); }
private void WriteEventList(PedigreePerson person, ExtList <PedigreeEvent> evList) { evList.QuickSort(EventsCompare); int evtNum = evList.Count; for (int i = 0; i < evtNum; i++) { GDMCustomEvent evt = evList[i].Event; if (evt != null && Equals(evList[i].IRec, person.IRec)) { var evtType = evt.GetTagType(); if (evtType == GEDCOMTagType.BIRT) { evList.Exchange(i, 0); } else if (evtType == GEDCOMTagType.DEAT) { evList.Exchange(i, evtNum - 1); } } } fWriter.BeginList(); var dateFormat = GlobalOptions.Instance.DefDateFormat; for (int i = 0; i < evtNum; i++) { PedigreeEvent evObj = evList[i]; GDMCustomEvent evt = evObj.Event; string li; if (evObj.IRec == person.IRec) { var evtName = evt.GetTagName(); int ev = GKUtils.GetPersonEventIndex(evtName); string st; if (ev == 0) { st = evt.Classification; } else { st = (ev > 0) ? LangMan.LS(GKData.PersonEvents[ev].Name) : evtName; } string dt = GKUtils.GEDCOMEventToDateStr(evt, dateFormat, false); li = dt + ": " + st + "."; if (evt.Place.StringValue != "") { li = li + " " + LangMan.LS(LSID.LSID_Place) + ": " + evt.Place.StringValue; } fWriter.AddListItem(" " + li, fTextFont); } else { string dt = (evt == null) ? "?" : GKUtils.GEDCOMEventToDateStr(evt, dateFormat, false); string st = (evObj.IRec.Sex == GDMSex.svMale) ? LangMan.LS(LSID.LSID_HeWasBorn) : LangMan.LS(LSID.LSID_SheWasBorn); li = string.Format("{0}: {1} {2}", dt, st, GKUtils.GetNameString(evObj.IRec, true, false)); PedigreePerson prs = FindPerson(evObj.IRec); string id = (prs != null) ? prs.Id : ""; fWriter.AddListItemLink(" " + li + " ", fTextFont, id, fLinkFont); } } fWriter.EndList(); }
public void Exchange(int Index1, int Index2) { Changing(); fList.Exchange(Index1, Index2); Changed(); }
public void Test_Common() { using (ExtList <object> list = new ExtList <object>(true)) { Assert.IsNotNull(list); } using (ExtList <object> list = new ExtList <object>()) { Assert.IsNotNull(list); Assert.AreEqual(0, list.Count); Assert.Throws(typeof(ListException), () => { list[-1] = null; }); object obj = new object(); object obj1 = new object(); list.Add(obj); Assert.AreEqual(1, list.Count); Assert.AreEqual(obj, list[0]); Assert.AreEqual(0, list.IndexOf(obj)); list.Delete(0); Assert.AreEqual(0, list.Count); list.Add(obj); Assert.AreEqual(obj, list.Extract(obj)); list.Insert(0, obj); list[0] = obj; Assert.AreEqual(obj, list[0]); list.Add(null); Assert.AreEqual(2, list.Count); Assert.AreEqual(null, list[1]); list[1] = obj1; Assert.AreEqual(obj1, list[1]); list[1] = null; Assert.AreEqual(2, list.Count); list.Pack(); Assert.AreEqual(1, list.Count); list.Remove(obj); Assert.AreEqual(0, list.Count); Assert.AreEqual(false, list.OwnsObjects); list.OwnsObjects = true; Assert.AreEqual(true, list.OwnsObjects); list.Clear(); list.Add(obj); list.Add(obj1); Assert.AreEqual(obj, list[0]); Assert.AreEqual(obj1, list[1]); list.Exchange(0, 1); Assert.AreEqual(obj, list[1]); Assert.AreEqual(obj1, list[0]); } using (ExtList <ValItem> list = new ExtList <ValItem>()) { Assert.IsNotNull(list); list.Add(new ValItem(5)); list.Add(new ValItem(1)); list.Add(new ValItem(17)); list.Add(new ValItem(4)); list.QuickSort(CompareItems); list.MergeSort(CompareItems); } }