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
                        };
                    }
                }
            }
        }
Esempio n. 2
0
 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;
 }
Esempio n. 4
0
        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;
        }
Esempio n. 5
0
 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));
                 }
             }
         }
     }
 }
Esempio n. 8
0
 public static SqlFormatProperties SqlFormat(this SettingsPageCollection col)
 {
     return new SqlFormatProperties();
     //return (SqlFormatProperties)col.PageByName("sqlformat");
 }
Esempio n. 9
0
 public static EditorSettings Editor(this SettingsPageCollection col)
 {
     return((EditorSettings)col.PageByName("editor"));
 }
Esempio n. 10
0
 public static AlterTableSettings AlterTable(this SettingsPageCollection col)
 {
     return((AlterTableSettings)col.PageByName("altertable"));
 }
Esempio n. 11
0
 public static GeneralSettings General(this SettingsPageCollection col)
 {
     return((GeneralSettings)col.PageByName("general"));
 }
Esempio n. 12
0
 public static TreeSettings Tree(this SettingsPageCollection col)
 {
     return((TreeSettings)col.PageByName("tree"));
 }
Esempio n. 13
0
 public static ConnectionSettings Connection(this SettingsPageCollection col)
 {
     return((ConnectionSettings)col.PageByName("connection"));
 }
Esempio n. 14
0
 public static DataFormatSettings DataFormat(this SettingsPageCollection col)
 {
     return((DataFormatSettings)col.PageByName("dataformat"));
 }
Esempio n. 15
0
 public static LogSettings Log(this SettingsPageCollection col)
 {
     return((LogSettings)col.PageByName("log"));
 }
Esempio n. 16
0
 public static CacheSettings Cache(this SettingsPageCollection col)
 {
     return((CacheSettings)col.PageByName("cache"));
 }
Esempio n. 17
0
 public static EmailSettings Email(this SettingsPageCollection col)
 {
     return((EmailSettings)col.PageByName("email"));
 }
Esempio n. 18
0
 public static InternetSettings Internet(this SettingsPageCollection col)
 {
     return((InternetSettings)col.PageByName("internet"));
 }
Esempio n. 19
0
 public static TableDataSettings TableData(this SettingsPageCollection col)
 {
     return((TableDataSettings)col.PageByName("tabledata"));
 }