public Control GetView(RageLib.FileSystem.Common.File file) { var data = file.GetData(); Stream s = Assembly.GetExecutingAssembly().GetManifestResourceStream("SparkIV.Viewer.Xml.defaultss.xslt"); XmlDocument doc = new XmlDocument(); doc.InnerXml = Encoding.ASCII.GetString(data); XmlReader xr = XmlReader.Create(s); XslCompiledTransform xct = new XslCompiledTransform(); xct.Load(xr); StringBuilder sb = new StringBuilder(); XmlWriter xw = XmlWriter.Create(sb); xct.Transform(doc, xw); WebBrowser browser = new WebBrowser(); browser.AllowNavigation = false; browser.AllowWebBrowserDrop = false; //browser.WebBrowserShortcutsEnabled = false; browser.IsWebBrowserContextMenuEnabled = false; browser.DocumentText = sb.ToString(); return(browser); }
protected override void SaveAndClose(EditorForm form, TextureFile textureFile, File file) { using (new WaitCursor(form)) { var resourceFile = new ResourceFile(); using (var ms = new MemoryStream(file.GetData())) { resourceFile.Read(ms); } var msSystem = new MemoryStream(resourceFile.SystemMemData); var msGraphics = new MemoryStream(resourceFile.GraphicsMemData); try { textureFile.Save(msSystem, msGraphics); } finally { msSystem.Close(); msGraphics.Close(); } using (var resMS = new MemoryStream()) { resourceFile.Write(resMS); file.SetData(resMS.ToArray()); } } form.Close(); }
public Control GetView(RageLib.FileSystem.Common.File file) { var data = file.GetData(); var ms = new MemoryStream(data); var audioFile = new AudioFile(); try { audioFile.Open(ms); } catch { ms.Close(); throw; } var view = new AudioView(); var controller = new AudioViewController(view); controller.AudioFile = audioFile; return(view); }
private void BuildFSDirectory(DirectoryEntry dirEntry, Directory fsDirectory) { fsDirectory.Name = dirEntry.Name; for (var i = 0; i < dirEntry.DirectoryCount; i++) { var dir = new Directory(); BuildFSDirectory(dirEntry.GetDirectory(i), dir); dir.ParentDirectory = fsDirectory; fsDirectory.AddObject(dir); } for (var i = 0; i < dirEntry.FileCount; i++) { var fileEntry = dirEntry.GetFile(i); File file; file = new File( () => (_customData.ContainsKey(fileEntry.FullName) ? _customData[fileEntry.FullName] : fileEntry.GetData()), data => _customData[fileEntry.FullName] = data, () => _customData.ContainsKey(fileEntry.FullName) ); file.CompressedSize = fileEntry.Size; file.IsCompressed = false; file.Name = fileEntry.Name; file.Size = fileEntry.Size; file.IsResource = fileEntry.IsResourceFile; file.ResourceType = fileEntry.ResourceType; file.ParentDirectory = fsDirectory; fsDirectory.AddObject(file); } }
protected Control CreateControl(File file, IModelFile modelfile) { var view = new ModelView(); var controller = new ModelViewController(view); var fileName = file.Name; var fileNameWOE = fileName.Substring(0, fileName.LastIndexOf('.')); List<TextureFile> textures = new List<TextureFile>(); TryLoadTexture(textures, file, fileNameWOE); TryLoadTexture(textures, file, "vehshare"); TryLoadTexture(textures, file, "vehshare_truck"); controller.TextureFiles = textures.ToArray(); controller.ModelFile = modelfile; return view; }
public virtual Control GetView(File file) { var data = file.GetData(); var ms = new MemoryStream(data); var modelFile = new ModelFile(); try { modelFile.Open(ms); } finally { ms.Close(); } return CreateControl(file, modelFile); }
public virtual Control GetView(File file) { var data = file.GetData(); var ms = new MemoryStream(data); var modelFile = new ModelFile(); try { modelFile.Open(ms); } finally { ms.Close(); } return(CreateControl(file, modelFile)); }
public override Control GetView(RageLib.FileSystem.Common.File file) { var data = file.GetData(); var ms = new MemoryStream(data); var modelFile = new ModelDictionaryFile(); try { modelFile.Open(ms); } finally { ms.Close(); } return(CreateControl(file, modelFile)); }
protected Control CreateControl(File file, IModelFile modelfile) { var view = new ModelView(); var controller = new ModelViewController(view); var fileName = file.Name; var fileNameWOE = fileName.Substring(0, fileName.LastIndexOf('.')); List <TextureFile> textures = new List <TextureFile>(); TryLoadTexture(textures, file, fileNameWOE); TryLoadTexture(textures, file, "vehshare"); TryLoadTexture(textures, file, "vehshare_truck"); controller.TextureFiles = textures.ToArray(); controller.ModelFile = modelfile; return(view); }
private void TryLoadTexture(List<TextureFile> textureList, File file, string name) { var textureFileName = name + ".wtd"; var textures = file.ParentDirectory.FindByName(textureFileName) as File; if (textures != null) { var textureFile = new TextureFile(); var textureMS = new MemoryStream(textures.GetData()); try { textureFile.Open(textureMS); textureList.Add(textureFile); } finally { textureMS.Close(); } } }
private void TryLoadTexture(List <TextureFile> textureList, File file, string name) { var textureFileName = name + ".wtd"; var textures = file.ParentDirectory.FindByName(textureFileName) as File; if (textures != null) { var textureFile = new TextureFile(); var textureMS = new MemoryStream(textures.GetData()); try { textureFile.Open(textureMS); textureList.Add(textureFile); } finally { textureMS.Close(); } } }
public Control GetView(RageLib.FileSystem.Common.File file) { var data = file.GetData(); ScriptFile scriptFile = new ScriptFile(); //try { scriptFile.Open(new MemoryStream(data)); } /*catch * { * return null; * }*/ ScriptView view = new ScriptView(); view.ScriptFile = scriptFile; return(view); }
public Control GetView(RageLib.FileSystem.Common.File file) { var data = file.GetData(); var ms = new MemoryStream(data); var textureFile = new TextureFile(); try { textureFile.Open(ms); } finally { ms.Close(); } var view = new TexturePreviewView(); var controller = new TexturePreviewController(view); controller.TextureFile = textureFile; return(view); }
public Control GetView(File file) { var data = file.GetData(); var ms = new MemoryStream(data); var hyperTextFile = new HyperTextFile(); try { hyperTextFile.Open(ms); } finally { ms.Close(); } StringWriter sw = new StringWriter(); hyperTextFile.WriteHTML(sw); // Create a temporary folder string tempPath = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName()); string htmlPath = Path.Combine(tempPath, "exported.html"); Directory.CreateDirectory(tempPath); System.IO.File.WriteAllText(htmlPath, sw.ToString()); if (hyperTextFile.EmbeddedTextureFile != null) { foreach (var texture in hyperTextFile.EmbeddedTextureFile) { string imagePath = Path.Combine(tempPath, texture.Name + ".png"); string directory = Path.GetDirectoryName(imagePath); if (!Directory.Exists(directory)) { Directory.CreateDirectory(directory); } Image image = texture.Decode(); image.Save(imagePath, ImageFormat.Png); } } WebBrowser browser = new WebBrowser(); browser.AllowNavigation = false; browser.AllowWebBrowserDrop = false; //_browser.WebBrowserShortcutsEnabled = false; //_browser.IsWebBrowserContextMenuEnabled = false; //browser.DocumentText = sw.ToString(); browser.Navigate(htmlPath); browser.Disposed += delegate { Directory.Delete(tempPath, true); if (hyperTextFile.EmbeddedTextureFile != null) { hyperTextFile.EmbeddedTextureFile.Dispose(); } }; return(browser); }
private void BuildFSDirectory(DirectoryEntry dirEntry, Directory fsDirectory) { fsDirectory.Name = dirEntry.Name; for (var i = 0; i < dirEntry.DirectoryCount; i++ ) { var dir = new Directory(); BuildFSDirectory(dirEntry.GetDirectory(i), dir); dir.ParentDirectory = fsDirectory; fsDirectory.AddObject(dir); } for (var i = 0; i < dirEntry.FileCount; i++ ) { var fileEntry = dirEntry.GetFile(i); File file; file = new File( ()=> (_customData.ContainsKey(fileEntry.FullName) ? _customData[fileEntry.FullName] : fileEntry.GetData()), data => _customData[fileEntry.FullName] = data, () => _customData.ContainsKey(fileEntry.FullName) ); file.CompressedSize = fileEntry.Size; file.IsCompressed = false; file.Name = fileEntry.Name; file.Size = fileEntry.Size; file.IsResource = fileEntry.IsResourceFile; file.ResourceType = fileEntry.ResourceType; file.ParentDirectory = fsDirectory; fsDirectory.AddObject(file); } }
public Control GetView(File file) { var data = file.GetData(); var ms = new MemoryStream(data); var hyperTextFile = new HyperTextFile(); try { hyperTextFile.Open(ms); } finally { ms.Close(); } StringWriter sw = new StringWriter(); hyperTextFile.WriteHTML(sw); // Create a temporary folder string tempPath = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName()); string htmlPath = Path.Combine(tempPath, "exported.html"); Directory.CreateDirectory(tempPath); System.IO.File.WriteAllText(htmlPath, sw.ToString()); if (hyperTextFile.EmbeddedTextureFile != null) { foreach (var texture in hyperTextFile.EmbeddedTextureFile) { string imagePath = Path.Combine(tempPath, texture.Name + ".png"); string directory = Path.GetDirectoryName(imagePath); if (!Directory.Exists(directory)) { Directory.CreateDirectory(directory); } Image image = texture.Decode(); image.Save(imagePath, ImageFormat.Png); } } WebBrowser browser = new WebBrowser(); browser.AllowNavigation = false; browser.AllowWebBrowserDrop = false; //_browser.WebBrowserShortcutsEnabled = false; //_browser.IsWebBrowserContextMenuEnabled = false; //browser.DocumentText = sw.ToString(); browser.Navigate(htmlPath); browser.Disposed += delegate { Directory.Delete(tempPath, true); if (hyperTextFile.EmbeddedTextureFile != null) { hyperTextFile.EmbeddedTextureFile.Dispose(); } }; return browser; }