protected override T CreateInstance() { IModelPresenter presenter = null; if (typeof(T) == typeof(IModelPresenter <TextEventListViewModel>)) { presenter = new TextEventViewControl(); } else if (typeof(T) == typeof(IModelPresenter <HttpEventListViewModel>)) { presenter = new HttpEventViewControl(); } else if (typeof(T) == typeof(IModelPresenter <TextRulesViewModel>)) { presenter = new TextRulesEventViewControl(); } else if (typeof(T) == typeof(IModelPresenter <HttpRulesViewModel>)) { presenter = new HttpRulesEventViewControl(); } else if (typeof(T) == typeof(IModelPresenter <LogEventsViewModel>)) { presenter = new LogEventViewControl(); } else if (typeof(T) == typeof(IModelPresenter <SettingsListViewModel>)) { presenter = new SettingsEventViewControl(); } return((T)presenter); }
public TItem ModifySelectedItem <TItem>(ISingleSelector <TItem> selector, TItem item) where TItem : class { if (item == null) { IModelPresenter <TItem> firstPresenter = selector.Screens.Cast <IModelPresenter <TItem> >().FirstOrDefault(); if (firstPresenter != null) { return(firstPresenter.Model); } } return(item); }
public void SetPresenter <T>(bool value) where T : IEventViewModel { if (!_lockPresenters) { if (value) { EventViewModelPresenterProvider <IModelPresenter <T> > eventViewModelPresenterProvider = new EventViewModelPresenterProvider <IModelPresenter <T> >(); IModelPresenter presenter = eventViewModelPresenterProvider.GetInstance(); _itemPresenters.Add(presenter); } else { _itemPresenters.Remove(_itemPresenters.FirstOrDefault(presenter => presenter is IModelPresenter <T>)); } } }