public void ReadThingGraphCursor(IGraphScene <IVisual, IVisualEdge> scene) { try { DefaultDialogValues(OpenFileDialog, ThingGraphCursorIoManager.ReadFilter); if (scene != null && scene.HasThingGraph()) { if (FileDialogShow(OpenFileDialog, true) == DialogResult.Ok) { var graphCursor = new GraphCursor <IThing, ILink>(scene.Graph.Source <IVisual, IVisualEdge, IThing, ILink>().Source); var uri = IoUtils.UriFromFileName(OpenFileDialog.FileName); ThingGraphCursorIoManager.ConfigureSinkIo = s => ConfigureSink(s); graphCursor = ThingGraphCursorIoManager.ReadSink(uri, graphCursor); if (graphCursor != null) { Registry.Create <ISceneViz <IVisual, IThing, IVisualEdge, ILink> > () .SetDescription(scene, graphCursor.Cursor, OpenFileDialog.FileName); } OpenFileDialog.ResetFileName(); } } } catch (Exception ex) { Registry.Pooled <IExceptionHandler>().Catch(ex, MessageType.OK); } }
public void ImportRawSource() { Save(); Close(Data); bool tryIt = true; while (tryIt && MessageBoxShow("Open a new, non exisiting file", "RawImport", MessageBoxButtons.OkCancel) == DialogResult.Ok) { var fileDialog = new FileDialogMemento(); DefaultDialogValues(fileDialog, WriteFilter); DefaultDialogValues(OpenFileDialog, ReadFilter); if (FileDialogShow(fileDialog, true) == DialogResult.Ok) { var sinkFile = fileDialog.FileName; fileDialog.ResetFileName(); if (File.Exists(sinkFile)) { continue; } if (tryIt = MessageBoxShow("Open the file to import", "RawImport", MessageBoxButtons.OkCancel) == DialogResult.Ok) { if (FileDialogShow(OpenFileDialog, true) == DialogResult.Ok) { var sourceFile = OpenFileDialog.FileName; if (!File.Exists(sourceFile)) { MessageBoxShow("File does not exist", "RawImport", MessageBoxButtons.Ok); break; } tryIt = false; var sourceInfo = Iori.FromFileName(sourceFile); var sinkIo = ThingGraphIoManager.GetSinkIO(Iori.FromFileName(sinkFile), IoMode.Write) as ThingGraphIo; ThingGraphContent sink = null; try { sink = sinkIo.Open(Iori.FromFileName(sinkFile)); var repairer = Registry.Pooled <ThingGraphRepairPool>() .Find(sourceInfo.Extension, IoMode.Read) as IPipe <Iori, IThingGraph>; this.AttachProgress(repairer as IProgress); repairer.Use(Iori.FromFileName(sourceFile), sink.Data); } catch (Exception ex) { Registry.Pooled <IExceptionHandler>() .Catch(new Exception("Raw import failed: " + ex.Message, ex), MessageType.OK); sinkIo.Close(sink); File.Delete(sinkFile); } sinkIo.Close(sink); MessageBoxShow("Import successfull", "RawImport", MessageBoxButtons.Ok); this.Open(Iori.FromFileName(sinkFile)); OpenFileDialog.ResetFileName(); } } } } }
/// <summary> /// reads a content from a file /// and provides it in ContentIn-Action /// </summary> public void Read() { DefaultDialogValues(OpenFileDialog, ReadFilter); if (FileDialogShow(OpenFileDialog, true) == DialogResult.Ok) { StreamContentIoManager.ConfigureSinkIo = s => ConfigureSink(s); var content = StreamContentIoManager.ReadSink(IoUtils.UriFromFileName(OpenFileDialog.FileName)); if (content != null && content.Data != null) { StreamContentIoManager.Close = () => content.Data.Close(); } OpenFileDialog.ResetFileName(); } }
public void Open() { if (this.IsUnsaved(this.Data)) { if (MessageBoxShow("You have an unsaved document. Do you want to save it?", "", MessageBoxButtons.YesNo) == DialogResult.Yes) { SaveAs(); } } DefaultDialogValues(OpenFileDialog, ReadFilter); if (FileDialogShow(OpenFileDialog, true) == DialogResult.Ok) { Open(Iori.FromFileName(OpenFileDialog.FileName)); OpenFileDialog.ResetFileName(); } }