protected override void SaveConfig(ConfigBase config) { DBToolConfig dbToolConfig = config as DBToolConfig; string name = comboBoxName.Text; DBToolConnection conn = dbToolConfig.Connections.FirstOrDefault(c => c.Name == name); if (conn == null) { conn = new DBToolConnection(); conn.Name = name; conn.Type = (DatabaseType)Enum.Parse(typeof(DatabaseType), cbxDatabaseType.Text); conn.DataSource = textBoxDataSource.Text; conn.Username = textBoxUsername.Text; conn.Password = textBoxPassword.Text; dbToolConfig.Connections.Add(conn); (comboBoxName.DataSource as BindingList<DBToolConnection>).ResetBindings(); comboBoxName.SelectedIndex = dbToolConfig.Connections.Count - 1; } else { conn.Type = (DatabaseType)Enum.Parse(typeof(DatabaseType), cbxDatabaseType.Text); conn.DataSource = textBoxDataSource.Text; conn.Username = textBoxUsername.Text; conn.Password = textBoxPassword.Text; } }
protected override void ShowConfig(ConfigBase config) { DBToolConfig dbToolConfig = config as DBToolConfig; BindingList<DBToolConnection> data = new BindingList<DBToolConnection>(dbToolConfig.Connections); comboBoxName.DataSource = data; if (comboBoxName.Items.Count > 0) { comboBoxName.SelectedIndex = 0; } }
private static ConfigBase LoadConfig(ConfigBase config, string key) { string configFileName = key + CONFIG_EXT; string configFile = Path.Combine(ConfigFolder, configFileName); XMLHelper xml = new XMLHelper(configFile, ENCRYPT); if (File.Exists(configFile)) { config = xml.Load(config.GetType()) as ConfigBase; } else { xml.Save(config); } return config; }
private static void GetPluginConfigInstance(IPlugin plugin, out ConfigBase config, out ConfigPanelBase configPanel) { config = null; configPanel = null; object[] attributes = plugin.GetType().GetCustomAttributes(typeof(PluginAttribute), false); if (attributes.Length > 0) { PluginAttribute attr = attributes[0] as PluginAttribute; config = Activator.CreateInstance(attr.ConfigType) as ConfigBase; config = LoadConfig(config, config.Key); configPanel = Activator.CreateInstance(attr.ConfigPanelType) as ConfigPanelBase; } }
private static void GetAssemblyConfig(Assembly assembly, out ConfigBase config, out ConfigPanelBase configPanel) { config = null; configPanel = null; foreach (Type type in assembly.GetExportedTypes()) { if (config == null && type.IsSubclassOf(typeof(ConfigBase))) { config = Activator.CreateInstance(type) as ConfigBase; config = LoadConfig(config, config.Key); } if (configPanel == null && type.IsSubclassOf(typeof(ConfigPanelBase))) { configPanel = Activator.CreateInstance(type) as ConfigPanelBase; } if (config != null && configPanel != null) { break; } } }
public static void Save(ConfigBase config) { string configFileName = config.Key + CONFIG_EXT; string configFile = Path.Combine(ConfigFolder, configFileName); XMLHelper xml = new XMLHelper(configFile, ENCRYPT); xml.Save(config); }