private void saveObject(Saveable saveable, EditorResourceProvider resourceProvider, String filename) { using (XmlTextWriter writer = new XmlTextWriter(resourceProvider.openWriteStream(filename), Encoding.Unicode)) { writer.Formatting = Formatting.Indented; EditorController.XmlSaver.saveObject(saveable, writer); } }
void browseButton_MouseButtonClick(Widget source, EventArgs e) { FileOpenDialog openDialog = new FileOpenDialog(MainWindow.Instance, "Choose an image", wildcard: "Images|*.jpg;*.jpeg;*.png"); openDialog.showModal((result, paths) => { if (result == NativeDialogResult.OK) { if (imageAtlas.containsImage(Key)) { imagePreview.setItemResource(null); imageAtlas.removeImage(Key); } String path = paths.First(); String extension = Path.GetExtension(path); if (extension.Equals(".png", StringComparison.InvariantCultureIgnoreCase) || extension.Equals(".jpg", StringComparison.InvariantCultureIgnoreCase) || extension.Equals(".jpeg", StringComparison.InvariantCultureIgnoreCase)) { imageName = Guid.NewGuid().ToString("D") + extension; String filename = Path.Combine(subdirectory, imageName); System.Threading.ThreadPool.QueueUserWorkItem((stateInfo) => { try { using (Stream writeStream = resourceProvider.openWriteStream(filename)) { using (Stream readStream = File.Open(path, FileMode.Open, FileAccess.Read)) { readStream.CopyTo(writeStream); } } openImageBGThread(filename, true); } catch (Exception ex) { ThreadManager.invoke(() => { MessageBox.show(String.Format("Error copying file {0} to your project.\nReason: {1}", path, ex.Message), "Image Copy Error", MessageBoxStyle.IconError | MessageBoxStyle.Ok); }); } }); } else { MessageBox.show(String.Format("Cannot open a file with extension '{0}'. Please choose a file that is a Png Image (.png) or a Jpeg (.jpg or .jpeg).", extension), "Can't Load Image", MessageBoxStyle.IconWarning | MessageBoxStyle.Ok); } } }); }