protected override void AfterLoadInternal(Stack <ObjectModel> objectModels) { base.AfterLoadInternal(objectModels); PackageObjectModel package = (objectModels.Pop() as PackageObjectModel); ModelObjectModel model = (objectModels.Pop() as ModelObjectModel); }
public static void Main(string[] args) { Console.Error.WriteLine("uex started..."); List <string> listFileNames = new List <string>(); string outputFileName = "output.uex"; bool foundFileName = false; for (int i = 0; i < args.Length; i++) { if (args[i].StartsWith("/") && !foundFileName) { if (args[i].StartsWith("/out:")) { outputFileName = args[i].Substring(5); } } else { // is file name foundFileName = true; listFileNames.Add(args[i]); } } PackageObjectModel ue = new PackageObjectModel(); OpenDocumentDataFormat odf = new OpenDocumentDataFormat(); System.Text.StringBuilder sb = new System.Text.StringBuilder(); int totalInstances = 0; string exefilename = System.Environment.GetCommandLineArgs()[0]; string workingdir = System.IO.Path.GetDirectoryName(exefilename); for (int i = 0; i < listFileNames.Count; i++) { string relpath = listFileNames[i]; if (relpath.StartsWith(workingdir)) { relpath = relpath.Substring(workingdir.Length); } relpath = "Content/" + relpath; byte[] filedata = System.IO.File.ReadAllBytes(listFileNames[i]); ue.FileSystem.AddFile(relpath, filedata); } FileAccessor faout = new FileAccessor(outputFileName, true, true); Document.Save(ue, odf, faout); Console.Error.WriteLine("uex written to {0}!", outputFileName); }
protected override void BeforeSaveInternal(Stack <ObjectModel> objectModels) { ModelObjectModel model = (objectModels.Pop() as ModelObjectModel); PackageObjectModel package = new PackageObjectModel(); MarkupObjectModel momDocument = CreateDocument(model); File file = package.FileSystem.AddFile("model/document.xml"); file.SetObjectModel <MarkupObjectModel>(new XMLDataFormat(), momDocument); objectModels.Push(package); base.BeforeSaveInternal(objectModels); }