public DeveloperResolutionMenu(DeveloperRenderPropertiesDialog renderDialog) : base("Developer.GUI.DeveloperRenderer.DeveloperResolutionMenu.layout") { this.renderDialog = renderDialog; Button addButton = (Button)widget.findWidget("AddButton"); addButton.MouseButtonClick += new MyGUIEvent(addButton_MouseButtonClick); Button removeButton = (Button)widget.findWidget("RemoveButton"); removeButton.MouseButtonClick += new MyGUIEvent(removeButton_MouseButtonClick); presets = (MultiListBox)widget.findWidget("PresetList"); presets.addColumn("Preset", 50); presets.setColumnResizingPolicyAt(0, ResizingPolicy.Fill); if (!File.Exists(RenderPresetsFile)) { presets.addItem("Web", new RenderPreset("Web", 640, 480)); presets.addItem("Presentation", new RenderPreset("Presentation", 1024, 768)); } else { try { using (XmlTextReader xmlReader = new XmlTextReader(RenderPresetsFile)) { RenderPresetCollection container = (RenderPresetCollection)xmlSaver.restoreObject(xmlReader); foreach (RenderPreset preset in container) { presets.addItem(preset.Name, preset); } } } catch (Exception) { try { File.Delete(RenderPresetsFile); } catch (Exception) { } presets.addItem("Web", new RenderPreset("Web", 640, 480)); presets.addItem("Presentation", new RenderPreset("Presentation", 1024, 768)); } } presets.ListChangePosition += new MyGUIEvent(presets_ListChangePosition); }
private void savePresets() { try { RenderPresetCollection container = new RenderPresetCollection(); uint count = presets.getItemCount(); for (uint i = 0; i < count; ++i) { container.AddLast((RenderPreset)presets.getItemDataAt(i)); } using (XmlTextWriter xmlWriter = new XmlTextWriter(RenderPresetsFile, Encoding.Unicode)) { xmlWriter.Formatting = Formatting.Indented; xmlSaver.saveObject(container, xmlWriter); } } catch (Exception ex) { Logging.Log.Error("{0} saving presets. Reason: {1}", ex.GetType().Name, ex.Message); } }