/// <summary> /// Routine to open a file /// </summary> /// <param name="entry"></param> /// <param name="filename"></param> /// <returns></returns> private bool OpenFile(IBioDataProvider entry, string filename) { IBioDataLoader dataLoader = entry.Create(filename); if (dataLoader != null) { var dvm = new OpenBioDataViewModel(filename, entry.SupportedTypes, dataLoader, entry); dvm.Load(); dvm.CloseRequest += OnDataSourceClosing; OpenDataSources.Add(dvm); return(true); } return(false); }
/// <summary> /// Constructor for the bio file /// </summary> /// <param name="loadData"></param> /// <param name="format"></param> /// <param name="loader"></param> /// <param name="info"></param> public OpenBioDataViewModel(string loadData, BioFormatType format, IBioDataLoader loader, IBioDataProvider info) { if (format == BioFormatType.Unknown) { throw new ArgumentException("BioFormatType cannot be unknown."); } if (loader == null) { throw new ArgumentNullException("loader"); } RegisterWithMessageMediator(); DefaultCommand = new DelegatingCommand(OnOpenDefaultView, () => !IsLoading); CloseCommand = new DelegatingCommand(OnClose, () => IsLoaded || !IsLoading); ChangePropertiesCommand = new DelegatingCommand(OnChangeProperties, () => IsLoaded); Children = new MTObservableCollection <OpenBioViewModel>(); _bioData = new BioDataFile(loadData, format, loader, info.Key); Header = string.Format("{0} [{1}]", loader.InitializationData, info.Description); Image = info.ImageUrl; }
/// <summary> /// This prompts the user for a non-file based data load. /// </summary> /// <param name="dataProvider"></param> private void OpenDbDataSource(IBioDataProvider dataProvider) { Debug.Assert(string.IsNullOrEmpty(dataProvider.FileFilter)); OpenFile(dataProvider, null); }