Beispiel #1
0
		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);
					}
				}
			}
		}
Beispiel #2
0
		public EventModel(EventModelType modelType, GedcomEvent.GedcomEventType filterType, bool excludeFilter) :
			this(modelType, new List<GedcomEvent.GedcomEventType>() { filterType }, excludeFilter)
		{
		}
Beispiel #3
0
		public EventModel(EventModelType modelType) : this(modelType, GedcomEvent.GedcomEventType.GenericEvent, false)
		{
			
		}