/// <summary>Prompts the user to save the current source (if open) then opens a Save File dialog for the new empty ResourceSource then loads it.</summary> private void SourceNew() { if (!SourceUnload()) { return; } IList <ResourceSourceFactory> factories = ResourceSourceFactory.GetFactories(); var filter = String.Empty; foreach (var factory in factories) { filter += factory.NewFileFilter + '|'; } if (filter.EndsWith("|")) { filter = filter.Substring(0, filter.Length - 1); } __sfd.Filter = filter; if (__sfd.ShowDialog(this) != DialogResult.OK) { return; } var selectedFactory = factories[__sfd.FilterIndex - 1]; var source = selectedFactory.CreateNew(__sfd.FileName, false, ResourceSourceLoadMode.LazyLoadData); SourceLoad(source, __sfd.FileName); }
/// <summary>Presents a File Open Dialog to the user and either loads the selected source or does nothing if nothing was selected or the FOD was cancelled.</summary> private void SourceLoadDialog() { IList <ResourceSourceFactory> factories = ResourceSourceFactory.GetFactories(); var filter = String.Empty; foreach (var factory in factories) { filter += factory.OpenFileFilter + '|'; } filter += "All Files (*.*)|*.*"; __ofd.Filter = filter; if (__ofd.ShowDialog(this) != DialogResult.OK) { return; } // filterIndex is from 1 var selectedFactory = __ofd.FilterIndex > factories.Count ? null : factories[__ofd.FilterIndex - 1]; SourceLoad(__ofd.FileName, selectedFactory, false); }
private void __sourceFileBrowse_Click(object sender, EventArgs e) { IList <ResourceSourceFactory> factories = ResourceSourceFactory.GetFactories(); String filter = String.Empty; foreach (ResourceSourceFactory factory in factories) { filter += factory.OpenFileFilter + '|'; } filter += "All Files (*.*)|*.*"; __ofd.Filter = filter; if (__ofd.ShowDialog(this) == DialogResult.OK) { __sourceFile.Text = __ofd.FileName; } }