コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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();
        }
コード例 #4
0
ファイル: FileReaderVersion1.cs プロジェクト: vmnet04/cmdgui
        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);
        }
コード例 #5
0
        public void Serialize(GuiDocument guiDocument, Stream output)
        {
            var writer = new FileWriterVersion1(output);

            writer.Write(guiDocument);
        }