public EventModel(EventModelType modelType, List<GedcomEvent.GedcomEventType> filterTypes, bool excludeFilter) : this() { _modelType = modelType; foreach (GedcomEvent.GedcomEventType eventType in Enum.GetValues(typeof(GedcomEvent.GedcomEventType))) { bool add = false; switch (_modelType) { case EventModelType.All: // even for all we don't want to include custom / generics if (eventType != GedcomEvent.GedcomEventType.Custom && eventType != GedcomEvent.GedcomEventType.GenericEvent && eventType != GedcomEvent.GedcomEventType.GenericFact) { add = true; } break; case EventModelType.Individual: // want individual events in the list if (eventType < GedcomEvent.GedcomEventType.ANUL || eventType > GedcomEvent.GedcomEventType.RESI) { add = true; } break; case EventModelType.Family: // want family events in the list if (eventType >= GedcomEvent.GedcomEventType.ANUL && eventType <= GedcomEvent.GedcomEventType.RESI) { add = true; } break; } if (add) { add = (filterTypes.Contains(eventType) || filterTypes.Contains(GedcomEvent.GedcomEventType.GenericEvent)); if (excludeFilter) { add = !add; } if (add) { Gtk.TreeIter iter = Append(); SetValue(iter, 0, GedcomEvent.TypeToTag(eventType)); SetValue(iter, 1, GedcomEvent.TypeToReadable(eventType)); SetValue(iter, 2, eventType); SetValue(iter, 3, false); } } } }
public EventModel(EventModelType modelType, GedcomEvent.GedcomEventType filterType, bool excludeFilter) : this(modelType, new List<GedcomEvent.GedcomEventType>() { filterType }, excludeFilter) { }
public EventModel(EventModelType modelType) : this(modelType, GedcomEvent.GedcomEventType.GenericEvent, false) { }