private GuiFileDocument CreateFileDocument(GuiDocument document, IEnumerable <Persistence.Version1.Argument> arguments) { var doc = new GuiFileDocument() { Arguments = new Persistence.Version1.ArgumentList(arguments), ToolDefinition = new Persistence.Version1.ToolDefinition() { Location = document.ToolInfo.ToolExecutablePath, Name = document.ToolInfo.Tool.Name, GuiSchemaRef = document.GuiSchema.SchemaFilePath }, }; return(doc); }
public void Write(GuiDocument guiDocument) { var argFinder = new BindingModelArgumentFinder(); argFinder.Navigate(guiDocument.ToolBindingModel); var fileDocument = CreateFileDocument(guiDocument, argFinder.Arguments); if (guiDocument.EmbedGuiSchema) { fileDocument.ToolDefinition.GuiSchema = CreateGuiSchema(guiDocument.ToolInfo.Tool); } XmlSerializer <GuiFileDocument> .Serialize(fileDocument, OutputStream); }
public void Serialize(GuiDocument guiDocument, Stream output) { var writer = new StreamWriter(output); var builder = new CommandLineBuilder(guiDocument.ToolInfo.Tool); var cmdLine = builder.Build(guiDocument.ToolBindingModel); writer.WriteLine("REM This file was generated with the Command Line Gui application. (c) 2011 Canned Bytes."); writer.WriteLine(); writer.Write("\""); writer.Write(guiDocument.ToolInfo.ToolExecutablePath); writer.Write("\" "); writer.Write(cmdLine); writer.WriteLine(); writer.WriteLine(); writer.WriteLine("pause"); writer.Flush(); }
public void ApplyTo(GuiDocument document) { if (GuiFileDocument == null) { throw new InvalidOperationException("Call Read before calling ApplyTo."); } if (document.ToolBindingModel == null) { throw new ArgumentException("The Binding Model must be filled out.", "document.ToolBindingModel"); } var commonParentFinder = new CommonParentFinder(GuiFileDocument.Arguments); commonParentFinder.Navigate(document.ToolBindingModel); var argApplyer = new BindingModelArgumentApplyer(GuiFileDocument.Arguments); argApplyer.CommonParent = commonParentFinder.CommonParent; argApplyer.Navigate(document.ToolBindingModel); }
public void Serialize(GuiDocument guiDocument, Stream output) { var writer = new FileWriterVersion1(output); writer.Write(guiDocument); }