private SettingsPageCollection(SettingsPageCollection basePages, string filename) { m_basePages = basePages; if (m_basePages != null) { m_basePages.m_children.Add(this); } m_filename = filename; m_loaded = false; foreach (var item in SettingsPageAddonType.Instance.StaticSpace.GetAllAddons()) { m_settings[item.Name] = new SettingsPageStruct { Attribute = (SettingsPageAttribute)item.Attrib, SettingsPage = (SettingsPageBase)item.CreateInstance() }; m_settings[item.Name].SettingsPage.Pages = this; } foreach (var page in m_settings.Values) { foreach (PropertyInfo prop in page.SettingsPage.GetType().GetProperties()) { foreach (SettingsKeyAttribute attr in prop.GetCustomAttributes(typeof(SettingsKeyAttribute), true)) { m_keys[attr.KeyName] = new SettingsKeyStruct { Property = prop, SettingsPage = page.SettingsPage }; } } } }
public static void Initialize() { Pages = SettingsPageCollection.Get(SettingsFileName); foreach (var item in DialectAddonType.Instance.StaticSpace.GetAllAddons()) { DialectSettings[item.Name] = SettingsPageCollection.Get(Pages, Path.Combine(Core.SettingsDirectory, "dialect-" + item.Name + ".xml")); } }
public void SetBasePages(SettingsPageCollection basePages) { if (basePages == this) { throw new InternalError("DAE-00075 GlobalSettings.SetBasePages: basePages == this"); } Unload(); m_basePages = basePages; }
public static void Run(SettingsPageCollection pages, SettingsTargets target) { SettingsForm win = new SettingsForm(); win.settingsPageFrame1.Target = target; win.settingsPageFrame1.Pages = pages; win.ShowDialogEx(); // save settings win.settingsPageFrame1.Pages = null; }
public SettingsPageCollection GetDatabaseSettings(string dbname) { if (DatabaseMode != ConnectionDatabaseMode.All) { return(null); } if (dbname == null) { return(null); } return(SettingsPageCollection.Get(ConnectionSettings, Path.Combine(Path.Combine(FileName + ".databases", dbname), "settings.xml"))); }
public static SettingsPageCollection Get(string filename) { lock (m_settingsByFile) { if (m_settingsByFile.ContainsKey(filename)) { return(m_settingsByFile[filename]); } m_settingsByFile[filename] = new SettingsPageCollection(filename); return(m_settingsByFile[filename]); } }
private void SaveSettings(XmlElement xml, SettingsPageCollection diffBase) { foreach (var page in m_settings.Values) { var pageBase = diffBase.m_settings[page.Attribute.Name]; foreach (PropertyInfo prop in pageBase.SettingsPage.GetType().GetProperties()) { foreach (SettingsKeyAttribute attr in prop.GetCustomAttributes(typeof(SettingsKeyAttribute), true)) { object myvalue = prop.CallGet(page.SettingsPage), baseValue = prop.CallGet(pageBase.SettingsPage); if (myvalue != null && !myvalue.Equals(baseValue)) { XmlElement parx = xml.AddChild("Param"); parx.SetAttribute("name", attr.KeyName); parx.SetAttribute("value", XmlTool.PropertyToString(prop, myvalue)); } } } } }
public static SqlFormatProperties SqlFormat(this SettingsPageCollection col) { return new SqlFormatProperties(); //return (SqlFormatProperties)col.PageByName("sqlformat"); }
public static EditorSettings Editor(this SettingsPageCollection col) { return((EditorSettings)col.PageByName("editor")); }
public static AlterTableSettings AlterTable(this SettingsPageCollection col) { return((AlterTableSettings)col.PageByName("altertable")); }
public static GeneralSettings General(this SettingsPageCollection col) { return((GeneralSettings)col.PageByName("general")); }
public static TreeSettings Tree(this SettingsPageCollection col) { return((TreeSettings)col.PageByName("tree")); }
public static ConnectionSettings Connection(this SettingsPageCollection col) { return((ConnectionSettings)col.PageByName("connection")); }
public static DataFormatSettings DataFormat(this SettingsPageCollection col) { return((DataFormatSettings)col.PageByName("dataformat")); }
public static LogSettings Log(this SettingsPageCollection col) { return((LogSettings)col.PageByName("log")); }
public static CacheSettings Cache(this SettingsPageCollection col) { return((CacheSettings)col.PageByName("cache")); }
public static EmailSettings Email(this SettingsPageCollection col) { return((EmailSettings)col.PageByName("email")); }
public static InternetSettings Internet(this SettingsPageCollection col) { return((InternetSettings)col.PageByName("internet")); }
public static TableDataSettings TableData(this SettingsPageCollection col) { return((TableDataSettings)col.PageByName("tabledata")); }