/// <summary> /// This adds a workspace entry to our available data source list. /// </summary> /// <param name="entry"></param> private void AddFileToWorkspace(WorkspaceEntry entry) { // Find the specific data loader responsible for this entry. var owner = Extensions.Current.DataProviders.Where(ldr => ldr.Key == entry.LoaderKey).FirstOrDefault(); if (owner != null) { IBioDataLoader loader = owner.Create(entry.LoaderData); if (loader != null) { var dvm = new OpenBioDataViewModel(entry.LoaderData, entry.FormatType, loader, owner); dvm.CloseRequest += OnDataSourceClosing; AvailableDataSources.Add(dvm); } } else { var uiMessage = Resolve <IErrorVisualizer>(); if (uiMessage != null) { uiMessage.Show("Error loading workspace", "Could not resolve loader provider for " + entry.FormatType + ". File will be ignored."); } } }
/// <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); }
public OpenFileDefinitionViewModel(OpenBioDataViewModel vm, bool inWorkspace) { _data = vm; InWorkspace = inWorkspace; }