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);
     }
 }