public void SetXmlInDocument(XmlDocument document) { XmlDocument doc = TLCGenSerialization.SerializeToXmlDocument(_MyModel); XmlNode node = document.ImportNode(doc.DocumentElement, true); document.DocumentElement.AppendChild(node); }
public void LoadSettings() { try { var appdatpath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); var setpath = Path.Combine(appdatpath, @"TLCGen\Templates\"); if (!Directory.Exists(setpath)) { Directory.CreateDirectory(setpath); } var setfile = Path.Combine(setpath, @"templates.xml"); if (File.Exists(setfile)) { Templates = TLCGenSerialization.DeSerialize <TLCGenTemplatesModel>(setfile); } else if (File.Exists(Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "Settings\\tlcgendefaulttemplates.xml"))) { Templates = TLCGenSerialization.DeSerialize <TLCGenTemplatesModel>(Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "Settings\\tlcgendefaulttemplates.xml")); } else { MessageBox.Show("Could not find defaults for default settings. None loaded.", "Error loading defaults"); setfile = Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "Settings\\tlcgendefaultdefaults.xml"); Templates = new TLCGenTemplatesModel(); return; } } catch (Exception e) { MessageBox.Show("Error while loading templates: " + e.ToString(), "Error while loading templates"); } }
public void SaveSettings() { if (SettingsProvider.Default.Settings.UseFolderForTemplates) { if (!string.IsNullOrWhiteSpace(SettingsProvider.Default.Settings.TemplatesLocation) && Directory.Exists(SettingsProvider.Default.Settings.TemplatesLocation)) { foreach (var t in _LoadedTemplates) { var fn = Path.Combine(SettingsProvider.Default.Settings.TemplatesLocation, t.Location + ".xml"); if (File.Exists(fn)) { File.Delete(fn); } TLCGenSerialization.Serialize(fn, t.Templates); } } } else if (_LoadedTemplates.Any(x => x.Editable)) { if (!string.IsNullOrWhiteSpace(SettingsProvider.Default.Settings.TemplatesLocation) && File.Exists(SettingsProvider.Default.Settings.TemplatesLocation)) { File.Delete(SettingsProvider.Default.Settings.TemplatesLocation); } TLCGenSerialization.Serialize(SettingsProvider.Default.Settings.TemplatesLocation, _LoadedTemplates.First(x => x.Editable).Templates); } }
private void GenerateController(string path, ControllerModel c) { var file = Path.Combine(path, "testGen1.tlc"); CcolGen.ControllerFileName = file; CcolGen.Controller = c; CcolGen.GenerateController(); var visualGen = new CCOLVisualProjectGenerator(); visualGen.GenerateVisualStudioProjectFiles(CcolGen, "Visual_2017", 2017); TLCGenSerialization.Serialize(file, c); }
/// <summary> /// Saves the application settings to a file called TLCGenSettings.xml in the folder where the application runs /// </summary> public void SaveApplicationSettings() { try { string settingsfile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "TLCGen", "settings.xml"); TLCGenSerialization.Serialize(settingsfile, _Settings); } catch (Exception e) { MessageBox.Show("Error saving application settings:\n\n" + e.ToString() + "\n\nReverting to defaults.", "Error saving application settings"); _Settings = new TLCGenSettingsModel(); } }
public void SaveSettings() { var appdatpath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); var setpath = Path.Combine(appdatpath, @"TLCGen\Templates\"); if (!Directory.Exists(setpath)) { Directory.CreateDirectory(setpath); } var setfile = Path.Combine(setpath, @"templates.xml"); TLCGenSerialization.Serialize <TLCGenTemplatesModel>(setfile, Templates); }
public void SaveSettings() { var appdatpath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); var setpath = Path.Combine(appdatpath, @"TLCGen\CCOLGeneratorSettings\"); if (!Directory.Exists(setpath)) { Directory.CreateDirectory(setpath); } var setfile = Path.Combine(setpath, @"ccolgensettings.xml"); TLCGenSerialization.Serialize <CCOLGeneratorSettingsModel>(setfile, CCOLGeneratorSettingsProvider.Default.Settings); }
/// <summary> /// Loads the application settings from a file called TLCGenSettings.xml if it exists in the folder where the application runs /// </summary> public void LoadApplicationSettings() { try { string settingsfile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "TLCGen", "settings.xml"); if (File.Exists(settingsfile)) { _Settings = TLCGenSerialization.DeSerialize <TLCGenSettingsModel>(settingsfile); } if (_Settings == null) { _Settings = new TLCGenSettingsModel(); } } catch (Exception e) { MessageBox.Show("Error loading application settings:\n\n" + e.ToString() + "\n\nReverting to defaults.", "Error loading application settings"); _Settings = new TLCGenSettingsModel(); } }
/// <summary> /// Loads the application settings from a file called TLCGenSettings.xml if it exists in the folder where the application runs /// </summary> public void LoadApplicationSettings() { try { #warning Move this to app data... string settingsfile = Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "TLCGenSettings.xml"); if (File.Exists(settingsfile)) { _Settings = TLCGenSerialization.DeSerialize <TLCGenSettingsModel>(settingsfile); } if (_Settings == null) { _Settings = new TLCGenSettingsModel(); } } catch (Exception e) { MessageBox.Show("Error loading application settings:\n\n" + e.ToString() + "\n\nReverting to defaults.", "Error loading application settings"); _Settings = new TLCGenSettingsModel(); } }
public void LoadSettings() { CCOLGeneratorSettingsProvider.Default.Settings = TLCGenSerialization.DeSerializeData <CCOLGeneratorSettingsModel>( ResourceReader.GetResourceTextFile("TLCGen.Generators.CCOL.Settings.ccolgendefaults.xml", this)); var appdatpath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); var setpath = Path.Combine(appdatpath, @"TLCGen\CCOLGeneratorSettings\"); if (!Directory.Exists(setpath)) { Directory.CreateDirectory(setpath); } var setfile = Path.Combine(setpath, @"ccolgensettings.xml"); // read custom settings and overwrite defaults if (File.Exists(setfile)) { var userSettings = TLCGenSerialization.DeSerialize <CCOLGeneratorSettingsModel>(setfile); // always overwrite visual settings CCOLGeneratorSettingsProvider.Default.Settings.VisualSettings.CCOLIncludesPaden = userSettings.VisualSettings.CCOLIncludesPaden; CCOLGeneratorSettingsProvider.Default.Settings.VisualSettings.CCOLLibs = userSettings.VisualSettings.CCOLLibs; CCOLGeneratorSettingsProvider.Default.Settings.VisualSettings.CCOLLibsPath = userSettings.VisualSettings.CCOLLibsPath; CCOLGeneratorSettingsProvider.Default.Settings.VisualSettings.CCOLPreprocessorDefinitions = userSettings.VisualSettings.CCOLPreprocessorDefinitions; CCOLGeneratorSettingsProvider.Default.Settings.VisualSettings.CCOLResPath = userSettings.VisualSettings.CCOLResPath; CCOLGeneratorSettingsProvider.Default.Settings.VisualSettingsCCOL9.CCOLIncludesPaden = userSettings.VisualSettingsCCOL9.CCOLIncludesPaden; CCOLGeneratorSettingsProvider.Default.Settings.VisualSettingsCCOL9.CCOLLibs = userSettings.VisualSettingsCCOL9.CCOLLibs; CCOLGeneratorSettingsProvider.Default.Settings.VisualSettingsCCOL9.CCOLLibsPath = userSettings.VisualSettingsCCOL9.CCOLLibsPath; CCOLGeneratorSettingsProvider.Default.Settings.VisualSettingsCCOL9.CCOLPreprocessorDefinitions = userSettings.VisualSettingsCCOL9.CCOLPreprocessorDefinitions; CCOLGeneratorSettingsProvider.Default.Settings.VisualSettingsCCOL9.CCOLResPath = userSettings.VisualSettingsCCOL9.CCOLResPath; CCOLGeneratorSettingsProvider.Default.Settings.VisualSettingsCCOL95.CCOLIncludesPaden = userSettings.VisualSettingsCCOL95.CCOLIncludesPaden; CCOLGeneratorSettingsProvider.Default.Settings.VisualSettingsCCOL95.CCOLLibs = userSettings.VisualSettingsCCOL95.CCOLLibs; CCOLGeneratorSettingsProvider.Default.Settings.VisualSettingsCCOL95.CCOLLibsPath = userSettings.VisualSettingsCCOL95.CCOLLibsPath; CCOLGeneratorSettingsProvider.Default.Settings.VisualSettingsCCOL95.CCOLLibsPathNoTig = userSettings.VisualSettingsCCOL95.CCOLLibsPathNoTig; CCOLGeneratorSettingsProvider.Default.Settings.VisualSettingsCCOL95.CCOLPreprocessorDefinitions = userSettings.VisualSettingsCCOL95.CCOLPreprocessorDefinitions; CCOLGeneratorSettingsProvider.Default.Settings.VisualSettingsCCOL95.CCOLResPath = userSettings.VisualSettingsCCOL95.CCOLResPath; // always overwrite visual tabspace and others CCOLGeneratorSettingsProvider.Default.Settings.AlterAddHeadersWhileGenerating = userSettings.AlterAddHeadersWhileGenerating; CCOLGeneratorSettingsProvider.Default.Settings.AlterAddFunctionsWhileGenerating = userSettings.AlterAddFunctionsWhileGenerating; CCOLGeneratorSettingsProvider.Default.Settings.AlwaysOverwriteSources = userSettings.AlwaysOverwriteSources; CCOLGeneratorSettingsProvider.Default.Settings.TabSpace = userSettings.TabSpace; // prefixes: overwrite where needed if (userSettings.Prefixes.Any()) { foreach (var pf in userSettings.Prefixes) { foreach (var pf2 in CCOLGeneratorSettingsProvider.Default.Settings.Prefixes) { if (pf.Default == pf2.Default) { pf2.Setting = pf.Setting; break; } } } } // element name settings: overwrite where needed if (userSettings.CodePieceGeneratorSettings.Any()) { foreach (var cpg in userSettings.CodePieceGeneratorSettings) { foreach (var cpg2 in CCOLGeneratorSettingsProvider.Default.Settings.CodePieceGeneratorSettings) { if (cpg.Item1 == cpg2.Item1) { foreach (var set in cpg.Item2.Settings) { foreach (var set2 in cpg2.Item2.Settings) { if (set.Default == set2.Default) { set2.Setting = set.Setting; break; } } } } } } } } _Generator.LoadSettings(); if (_alwaysOverwriteSourcesMenuItem == null) { _alwaysOverwriteSourcesMenuItem = new MenuItem { Header = "Altijd overschrijven bronbestanden" }; } _alwaysOverwriteSourcesMenuItem.IsChecked = CCOLGeneratorSettingsProvider.Default.Settings.AlwaysOverwriteSources; if (_alterAddHeadersWhileGeneratingMenuItem == null) { _alterAddHeadersWhileGeneratingMenuItem = new MenuItem { Header = "Bijwerken add headers tijdens genereren" }; } _alterAddHeadersWhileGeneratingMenuItem.IsChecked = CCOLGeneratorSettingsProvider.Default.Settings.AlterAddHeadersWhileGenerating; if (_alterAddFunctionsWhileGeneratingMenuItem == null) { _alterAddFunctionsWhileGeneratingMenuItem = new MenuItem { Header = "Bijwerken functies in add files tijdens genereren" }; } _alterAddFunctionsWhileGeneratingMenuItem.IsChecked = CCOLGeneratorSettingsProvider.Default.Settings.AlterAddFunctionsWhileGenerating; }
public void SaveSettings() { var appdatpath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); var setpath = Path.Combine(appdatpath, @"TLCGen\CCOLGeneratorSettings\"); if (!Directory.Exists(setpath)) { Directory.CreateDirectory(setpath); } var setfile = Path.Combine(setpath, @"ccolgensettings.xml"); var settings = new CCOLGeneratorSettingsModel(); // always save visual settings settings.VisualSettings.CCOLIncludesPaden = CCOLGeneratorSettingsProvider.Default.Settings.VisualSettings.CCOLIncludesPaden; settings.VisualSettings.CCOLLibs = CCOLGeneratorSettingsProvider.Default.Settings.VisualSettings.CCOLLibs; settings.VisualSettings.CCOLLibsPath = CCOLGeneratorSettingsProvider.Default.Settings.VisualSettings.CCOLLibsPath; settings.VisualSettings.CCOLPreprocessorDefinitions = CCOLGeneratorSettingsProvider.Default.Settings.VisualSettings.CCOLPreprocessorDefinitions; settings.VisualSettings.CCOLResPath = CCOLGeneratorSettingsProvider.Default.Settings.VisualSettings.CCOLResPath; settings.VisualSettingsCCOL9.CCOLIncludesPaden = CCOLGeneratorSettingsProvider.Default.Settings.VisualSettingsCCOL9.CCOLIncludesPaden; settings.VisualSettingsCCOL9.CCOLLibs = CCOLGeneratorSettingsProvider.Default.Settings.VisualSettingsCCOL9.CCOLLibs; settings.VisualSettingsCCOL9.CCOLLibsPath = CCOLGeneratorSettingsProvider.Default.Settings.VisualSettingsCCOL9.CCOLLibsPath; settings.VisualSettingsCCOL9.CCOLPreprocessorDefinitions = CCOLGeneratorSettingsProvider.Default.Settings.VisualSettingsCCOL9.CCOLPreprocessorDefinitions; settings.VisualSettingsCCOL9.CCOLResPath = CCOLGeneratorSettingsProvider.Default.Settings.VisualSettingsCCOL9.CCOLResPath; settings.VisualSettingsCCOL95.CCOLIncludesPaden = CCOLGeneratorSettingsProvider.Default.Settings.VisualSettingsCCOL95.CCOLIncludesPaden; settings.VisualSettingsCCOL95.CCOLLibs = CCOLGeneratorSettingsProvider.Default.Settings.VisualSettingsCCOL95.CCOLLibs; settings.VisualSettingsCCOL95.CCOLLibsPath = CCOLGeneratorSettingsProvider.Default.Settings.VisualSettingsCCOL95.CCOLLibsPath; settings.VisualSettingsCCOL95.CCOLLibsPathNoTig = CCOLGeneratorSettingsProvider.Default.Settings.VisualSettingsCCOL95.CCOLLibsPathNoTig; settings.VisualSettingsCCOL95.CCOLPreprocessorDefinitions = CCOLGeneratorSettingsProvider.Default.Settings.VisualSettingsCCOL95.CCOLPreprocessorDefinitions; settings.VisualSettingsCCOL95.CCOLResPath = CCOLGeneratorSettingsProvider.Default.Settings.VisualSettingsCCOL95.CCOLResPath; // always save visual tabspace and others settings.AlterAddHeadersWhileGenerating = CCOLGeneratorSettingsProvider.Default.Settings.AlterAddHeadersWhileGenerating; settings.AlterAddFunctionsWhileGenerating = CCOLGeneratorSettingsProvider.Default.Settings.AlterAddFunctionsWhileGenerating; settings.AlwaysOverwriteSources = CCOLGeneratorSettingsProvider.Default.Settings.AlwaysOverwriteSources; settings.TabSpace = CCOLGeneratorSettingsProvider.Default.Settings.TabSpace; // save prefixes where needed foreach (var pf in CCOLGeneratorSettingsProvider.Default.Settings.Prefixes) { if (pf.Setting != pf.Default) { settings.Prefixes.Add(new CCOLGeneratorCodeStringSettingModel { Type = CCOLGeneratorSettingTypeEnum.Prefix, Description = pf.Description, Default = pf.Default, Setting = pf.Setting }); } } // save element naming where needed foreach (var cpg in CCOLGeneratorSettingsProvider.Default.Settings.CodePieceGeneratorSettings) { var ncpg = new CodePieceSettingsTuple <string, CCOLGeneratorClassWithSettingsModel> { Item1 = cpg.Item1, Item2 = new CCOLGeneratorClassWithSettingsModel() }; ncpg.Item2.ClassName = cpg.Item2.ClassName; ncpg.Item2.Description = cpg.Item2.Description; ncpg.Item2.Settings = new List <CCOLGeneratorCodeStringSettingModel>(); foreach (var s in cpg.Item2.Settings) { if (s.Setting != s.Default) { ncpg.Item2.Settings.Add(new CCOLGeneratorCodeStringSettingModel { Type = s.Type, Default = s.Default, Description = s.Description, Setting = s.Setting }); } } if (ncpg.Item2.Settings.Any()) { settings.CodePieceGeneratorSettings.Add(ncpg); } } TLCGenSerialization.Serialize(setfile, settings); }
public void LoadSettings() { CCOLGeneratorSettingsProvider.Default.Settings = TLCGenSerialization.DeSerializeData <CCOLGeneratorSettingsModel>( ResourceReader.GetResourceTextFile("TLCGen.Generators.CCOL.Settings.ccolgendefaults.xml", this)); var appdatpath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); var setpath = Path.Combine(appdatpath, @"TLCGen\CCOLGeneratorSettings\"); if (!Directory.Exists(setpath)) { Directory.CreateDirectory(setpath); } var setfile = Path.Combine(setpath, @"ccolgensettings.xml"); // read custom settings and overwrite defaults if (File.Exists(setfile)) { var userSettings = TLCGenSerialization.DeSerialize <CCOLGeneratorSettingsModel>(setfile); // always overwrite visual settings var userVisualSettings = userSettings.AllVisualSettings; var currVisualSettings = CCOLGeneratorSettingsProvider.Default.Settings.AllVisualSettings; var max = Enum.GetValues(typeof(CCOLVersieEnum)).Cast <int>().Max(); for (int i = 0; i <= max; i++) { currVisualSettings[i].CCOLIncludesPaden = userVisualSettings[i].CCOLIncludesPaden; currVisualSettings[i].CCOLLibs = userVisualSettings[i].CCOLLibs; currVisualSettings[i].CCOLLibsPath = userVisualSettings[i].CCOLLibsPath; currVisualSettings[i].CCOLLibsPathNoTig = userVisualSettings[i].CCOLLibsPathNoTig; currVisualSettings[i].CCOLPreprocessorDefinitions = userVisualSettings[i].CCOLPreprocessorDefinitions; currVisualSettings[i].CCOLResPath = userVisualSettings[i].CCOLResPath; } // always overwrite visual tabspace and others CCOLGeneratorSettingsProvider.Default.Settings.AlterAddHeadersWhileGenerating = userSettings.AlterAddHeadersWhileGenerating; CCOLGeneratorSettingsProvider.Default.Settings.AlterAddFunctionsWhileGenerating = userSettings.AlterAddFunctionsWhileGenerating; CCOLGeneratorSettingsProvider.Default.Settings.AlwaysOverwriteSources = userSettings.AlwaysOverwriteSources; CCOLGeneratorSettingsProvider.Default.Settings.ReplaceRepeatingCommentsTextWithPeriods = userSettings.ReplaceRepeatingCommentsTextWithPeriods; CCOLGeneratorSettingsProvider.Default.Settings.TabSpace = userSettings.TabSpace; // prefixes: overwrite where needed if (userSettings.Prefixes.Any()) { foreach (var pf in userSettings.Prefixes) { var pf2 = CCOLGeneratorSettingsProvider.Default.Settings.Prefixes.FirstOrDefault(x => pf.Default == x.Default); if (pf2 != null) { pf2.Setting = pf.Setting; } } } // element name settings: overwrite where needed if (userSettings.CodePieceGeneratorSettings.Any()) { foreach (var cpg in userSettings.CodePieceGeneratorSettings) { foreach (var cpg2 in CCOLGeneratorSettingsProvider.Default.Settings.CodePieceGeneratorSettings) { if (cpg.Item1 == cpg2.Item1) { foreach (var set in cpg.Item2.Settings) { foreach (var set2 in cpg2.Item2.Settings) { if (set.Type == set2.Type && set.Default == set2.Default) { set2.Setting = set.Setting; break; } } } } } } } } CCOLGeneratorSettingsProvider.Default.Reset(); _generator.LoadSettings(); if (!_noView) { if (_alwaysOverwriteSourcesMenuItem == null) { _alwaysOverwriteSourcesMenuItem = new MenuItem { Header = "Altijd overschrijven bronbestanden" }; } _alwaysOverwriteSourcesMenuItem.IsChecked = CCOLGeneratorSettingsProvider.Default.Settings.AlwaysOverwriteSources; if (_alterAddHeadersWhileGeneratingMenuItem == null) { _alterAddHeadersWhileGeneratingMenuItem = new MenuItem { Header = "Bijwerken add headers tijdens genereren" }; } _alterAddHeadersWhileGeneratingMenuItem.IsChecked = CCOLGeneratorSettingsProvider.Default.Settings.AlterAddHeadersWhileGenerating; if (_alterAddFunctionsWhileGeneratingMenuItem == null) { _alterAddFunctionsWhileGeneratingMenuItem = new MenuItem { Header = "Bijwerken functies in add files tijdens genereren" }; } _alterAddFunctionsWhileGeneratingMenuItem.IsChecked = CCOLGeneratorSettingsProvider.Default.Settings.AlterAddFunctionsWhileGenerating; if (_replaceRepeatingCommentsTextWithPeriodsMenuItem == null) { _replaceRepeatingCommentsTextWithPeriodsMenuItem = new MenuItem { Header = "Herhalend commentaar vervangen door ..." }; } _replaceRepeatingCommentsTextWithPeriodsMenuItem.IsChecked = CCOLGeneratorSettingsProvider.Default.Settings.ReplaceRepeatingCommentsTextWithPeriods; } }
private CCOLGeneratorSettingsModel GetBasicSettings() { return(TLCGenSerialization.DeSerializeData <CCOLGeneratorSettingsModel>( ResourceReader.GetResourceTextFile("TLCGen.Generators.CCOL.Settings.ccolgendefaults.xml", this, typeof(CCOLGeneratorSettingsProvider)))); }
public void LoadSettings() { try { Templates = new TLCGenTemplatesModel(); _LoadedTemplates = new List <TLCGenTemplatesModelWithLocation>(); if (SettingsProvider.Default.Settings.UseFolderForTemplates) { if (!string.IsNullOrWhiteSpace(SettingsProvider.Default.Settings.TemplatesLocation) && Directory.Exists(SettingsProvider.Default.Settings.TemplatesLocation)) { var files = Directory.EnumerateFiles(SettingsProvider.Default.Settings.TemplatesLocation, "*.xml"); foreach (var f in files) { try { var t = TLCGenSerialization.DeSerialize <TLCGenTemplatesModel>(f); var twl = new TLCGenTemplatesModelWithLocation { Location = Path.GetFileNameWithoutExtension(f), Editable = true, Templates = t }; _LoadedTemplates.Add(twl); if (t.FasenTemplates != null) { foreach (var tfc in t.FasenTemplates) { Templates.FasenTemplates.Add(tfc); } } if (twl.Templates.DetectorenTemplates != null) { foreach (var td in t.DetectorenTemplates) { Templates.DetectorenTemplates.Add(td); } } if (twl.Templates.PeriodenTemplates != null) { foreach (var tp in t.PeriodenTemplates) { Templates.PeriodenTemplates.Add(tp); } } } catch { // ignored (file not right) } } } if (string.IsNullOrWhiteSpace(SettingsProvider.Default.Settings.TemplatesLocation) || !string.IsNullOrWhiteSpace(SettingsProvider.Default.Settings.TemplatesLocation) && !Directory.Exists(SettingsProvider.Default.Settings.TemplatesLocation)) { if (!string.IsNullOrWhiteSpace(SettingsProvider.Default.Settings.TemplatesLocation) && !Directory.Exists(SettingsProvider.Default.Settings.TemplatesLocation)) { MessageBox.Show("De ingestelde map met templates is niet gevonden\n\n" + $"{SettingsProvider.Default.Settings.TemplatesLocation}\n\n" + $"De default templates worden geladen", "Map met templates niet gevonden"); } if (File.Exists(Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "Settings\\tlcgendefaulttemplates.xml"))) { var t = TLCGenSerialization.DeSerialize <TLCGenTemplatesModel>(Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "Settings\\tlcgendefaulttemplates.xml")); var twl = new TLCGenTemplatesModelWithLocation { Location = Path.GetFileNameWithoutExtension(Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "Settings\\tlcgendefaulttemplates.xml")), Editable = false, Templates = t }; _LoadedTemplates.Add(twl); if (t.FasenTemplates != null) { foreach (var tfc in t.FasenTemplates) { Templates.FasenTemplates.Add(tfc); } } if (t.DetectorenTemplates != null) { foreach (var td in t.DetectorenTemplates) { Templates.DetectorenTemplates.Add(td); } } if (t.PeriodenTemplates != null) { foreach (var tp in t.PeriodenTemplates) { Templates.PeriodenTemplates.Add(tp); } } } else { MessageBox.Show("Could not find defaults for default settings. None loaded.", "Error loading default template"); Templates = new TLCGenTemplatesModel(); return; } } } else { if (SettingsProvider.Default.Settings.TemplatesLocation != null && File.Exists(SettingsProvider.Default.Settings.TemplatesLocation)) { try { var t = TLCGenSerialization.DeSerialize <TLCGenTemplatesModel>(SettingsProvider.Default.Settings.TemplatesLocation); var twl = new TLCGenTemplatesModelWithLocation { Location = Path.GetFileNameWithoutExtension(SettingsProvider.Default.Settings.TemplatesLocation), Editable = true, Templates = t }; _LoadedTemplates.Add(twl); if (t.FasenTemplates != null) { foreach (var tfc in t.FasenTemplates) { Templates.FasenTemplates.Add(tfc); } } if (t.DetectorenTemplates != null) { foreach (var td in t.DetectorenTemplates) { Templates.DetectorenTemplates.Add(td); } } if (t.PeriodenTemplates != null) { foreach (var tp in t.PeriodenTemplates) { Templates.PeriodenTemplates.Add(tp); } } } catch { MessageBox.Show("Het ingestelde bestand voor templates heeft niet het juiste formaat:\n\n" + $"{SettingsProvider.Default.Settings.TemplatesLocation}\n\n" + $"De default templates worden geladen", "Verkeerd formaat"); } } if (string.IsNullOrWhiteSpace(SettingsProvider.Default.Settings.TemplatesLocation) || !string.IsNullOrWhiteSpace(SettingsProvider.Default.Settings.TemplatesLocation) && !File.Exists(SettingsProvider.Default.Settings.TemplatesLocation)) { if (!string.IsNullOrWhiteSpace(SettingsProvider.Default.Settings.TemplatesLocation) && !File.Exists(SettingsProvider.Default.Settings.TemplatesLocation)) { MessageBox.Show("Het ingestelde bestand voor templates is niet gevonden\n\n" + $"{SettingsProvider.Default.Settings.TemplatesLocation}\n\n" + $"De default templates worden geladen", "Bestand met templates niet gevonden"); } if (File.Exists(Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "Settings\\tlcgendefaulttemplates.xml"))) { var t = TLCGenSerialization.DeSerialize <TLCGenTemplatesModel>(Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "Settings\\tlcgendefaulttemplates.xml")); var twl = new TLCGenTemplatesModelWithLocation { Location = Path.GetFileNameWithoutExtension(Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "Settings\\tlcgendefaulttemplates.xml")), Editable = false, Templates = t }; _LoadedTemplates.Add(twl); if (t.FasenTemplates != null) { foreach (var tfc in t.FasenTemplates) { Templates.FasenTemplates.Add(tfc); } } if (twl.Templates.DetectorenTemplates != null) { foreach (var td in t.DetectorenTemplates) { Templates.DetectorenTemplates.Add(td); } } if (twl.Templates.PeriodenTemplates != null) { foreach (var tp in t.PeriodenTemplates) { Templates.PeriodenTemplates.Add(tp); } } } else { MessageBox.Show("Could not find defaults for templates. None loaded.", "Error loading default template"); Templates = new TLCGenTemplatesModel(); return; } } } } catch (Exception e) { MessageBox.Show("Error while loading templates: " + e.ToString(), "Error while loading templates"); } }
/// <summary> /// Saves the application settings to a file called TLCGenSettings.xml in the folder where the application runs /// </summary> public void SaveApplicationSettings() { string settingsfile = Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "TLCGenSettings.xml"); TLCGenSerialization.Serialize(settingsfile, _Settings); }
public void LoadSettings() { var appdatpath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); var setpath = Path.Combine(appdatpath, @"TLCGen\CCOLGeneratorSettings\"); if (!Directory.Exists(setpath)) { Directory.CreateDirectory(setpath); } var setfile = Path.Combine(setpath, @"ccolgensettings.xml"); if (File.Exists(setfile)) { CCOLGeneratorSettingsProvider.Default.Settings = TLCGenSerialization.DeSerialize <CCOLGeneratorSettingsModel>(setfile); var defsetfile = Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "Settings\\ccolgendefaults.xml"); if (File.Exists(defsetfile)) { var corrected = false; var updated = false; var defaultSettings = TLCGenSerialization.DeSerialize <CCOLGeneratorSettingsModel>(defsetfile); foreach (var def in defaultSettings.CodePieceGeneratorSettings) { var found = false; foreach (var def2 in CCOLGeneratorSettingsProvider.Default.Settings.CodePieceGeneratorSettings) { if (def.Item1 == def2.Item1) { found = true; if (def.Item2.ClassName != def2.Item2.ClassName) { def2.Item2.ClassName = def.Item2.ClassName; corrected = true; } foreach (var s in def.Item2.Settings) { bool foundSet = false; foreach (var s2 in def2.Item2.Settings) { if (s.Type == s2.Type && s.Default == s2.Default) { foundSet = true; } } if (!foundSet) { def2.Item2.Settings.Add(s); updated = true; } } var remSs = new List <CCOLGeneratorCodeStringSettingModel>(); foreach (var s in def2.Item2.Settings) { bool foundSet = false; foreach (var s2 in def.Item2.Settings) { if (s.Type == s2.Type && s.Default == s2.Default) { foundSet = true; } } if (!foundSet) { updated = true; remSs.Add(s); } } foreach (var s in remSs) { def2.Item2.Settings.Remove(s); } } } if (!found) { CCOLGeneratorSettingsProvider.Default.Settings.CodePieceGeneratorSettings.Add(def); updated = false; } } var remDs = new List <CodePieceSettingsTuple <string, CCOLGeneratorClassWithSettingsModel> >(); foreach (var d in CCOLGeneratorSettingsProvider.Default.Settings.CodePieceGeneratorSettings) { bool found = false; foreach (var d2 in defaultSettings.CodePieceGeneratorSettings) { if (d.Item1 == d2.Item1) { found = true; } } if (!found) { updated = true; remDs.Add(d); } } foreach (var d in remDs) { CCOLGeneratorSettingsProvider.Default.Settings.CodePieceGeneratorSettings.Remove(d); } if (updated) { MessageBox.Show("CCOL defaults updated", "CCOL defaults updated"); } if (corrected) { MessageBox.Show("CCOL defaults corrected", "CCOL defaults corrected"); } } } else { CCOLGeneratorSettingsProvider.Default.Settings = TLCGenSerialization.DeSerialize <CCOLGeneratorSettingsModel>(Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "Settings\\ccolgendefaults.xml")); } _Generator.LoadSettings(); if (_alwaysOverwriteSourcesMenuItem == null) { _alwaysOverwriteSourcesMenuItem = new MenuItem { Header = "Altijd overschrijven bronbestanden" }; } _alwaysOverwriteSourcesMenuItem.IsChecked = CCOLGeneratorSettingsProvider.Default.Settings.AlwaysOverwriteSources; if (_alterAddHeadersWhileGeneratingMenuItem == null) { _alterAddHeadersWhileGeneratingMenuItem = new MenuItem { Header = "Bijwerken add headers tijdens genereren" }; } _alterAddHeadersWhileGeneratingMenuItem.IsChecked = CCOLGeneratorSettingsProvider.Default.Settings.AlterAddHeadersWhileGenerating; }