private void CustomInitializeComponent() { _savedConfig = StyleConfig.GetClone(); EliminateDesignerBug(_appPropertyGrid); _appPropertyGrid.SelectedObject = GetWrapper(Config.GetClone()); // HACK: rameel: Надоело, что PropertyGrid проматывает страницу в конец. _appPropertyGrid.SelectedGridItem = _appPropertyGrid .SelectedGridItem.Parent.Parent.GridItems[0]; _dialogContainer = ApplicationManager .Instance .MainForm .ShortcutManager .GetDesignDialog(); _hotKeysTab.Controls.Add(_dialogContainer.GetDialog()); EliminateDesignerBug(_stylePropertyGrid); _stylePropertyGrid.SelectedObject = GetWrapper(Config.Instance.StyleConfig); // Удаляем стандартную закладку и кладем две наши, одна символизирует // стандартные настройки, другая - расширенные. Реальное управление тем, // что показывать находится в this.StylePropertyGrid_PropertyTabChanged _stylePropertyGrid.PropertyTabs.RemoveTabType( typeof(PropertiesTab)); _stylePropertyGrid.PropertyTabs.AddTabType( typeof(NormalStyleTab), PropertyTabScope.Static); _stylePropertyGrid.PropertyTabs.AddTabType( typeof(DetailStyleTab), PropertyTabScope.Static); }
/// <summary> /// Установить новую схему. /// </summary> /// <param name="cfg">Схема</param> public static void NewStyleConfig(StyleConfig cfg) { _instance = cfg; if (_instance != null) { _instance.OnStyleChangeEvent(StyleChangeEventArgs.AllStyle); } }
private void SaveSchemeButtonClick(object sender, EventArgs e) { using (var fd = new SaveFileDialog()) { fd.Filter = "Style scheme file (*.xml)|*.xml"; if (fd.ShowDialog(this) == DialogResult.OK) { StyleConfig.Save(fd.FileName); } } }
private void LoadSchemeButtonClick(object sender, EventArgs e) { using (var fd = new OpenFileDialog()) { fd.Filter = "Style scheme file (*.xml)|*.xml"; if (fd.ShowDialog(this) == DialogResult.OK) { StyleConfig.Load(fd.FileName); _stylePropertyGrid.SelectedObject = GetWrapper(Config.Instance.StyleConfig); } } }
/// <summary> /// Загрузить схему. /// </summary> /// <param name="path">Файл, откуда будет загружена схема.</param> public static void Load(string path) { lock (_lockFlag) { try { using (var fs = new FileStream(path, FileMode.Open)) NewStyleConfig((StyleConfig)Serializer.Deserialize(fs)); } catch (Exception e) { MessageBox.Show(e.Message, ApplicationInfo.ApplicationName, MessageBoxButtons.OK, MessageBoxIcon.Error); _instance = new StyleConfig(); } } }
/// <summary> /// Загрузить схему. /// </summary> /// <param name="path">Файл, откуда будет загружена схема.</param> public static void Load(string path) { lock (_lockFlag) { try { using (var fs = new FileStream(path, FileMode.Open)) NewStyleConfig((StyleConfig)Serializer.Deserialize(fs)); } catch (Exception e) { MessageBox.Show(e.Message, ApplicationInfo.ApplicationName, MessageBoxButtons.OK, MessageBoxIcon.Error); _instance = new StyleConfig(); } } }
/// <summary> /// Установить новую схему. /// </summary> /// <param name="cfg">Схема</param> public static void NewStyleConfig(StyleConfig cfg) { _instance = cfg; if (_instance != null) { _instance.OnStyleChangeEvent(StyleChangeEventArgs.AllStyle); } }
private void CancelButtonClick(object sender, EventArgs e) { StyleConfig.NewStyleConfig(_savedConfig); }