protected override string Register(System.Reflection.MemberInfo mi, object target) { if (target.GetType().IsSubclassOf(typeof(System.Windows.Forms.Control))) { CategoryData data = new CategoryData(title, (System.Windows.Forms.Control)target); Core.GuiThread.AddSettingsPage(data); return String.Format("Settings category '{0}' added.", title); } else { throw new RuntimeException("SettingsCategoryAttribute can be used only on types inherited from System.Windows.Forms.Control."); } }
public void AddCategory(CategoryData data) { if (data == null) { throw new ArgumentNullException("data"); } if (data.Control == null) { throw new ArgumentNullException("data.Control"); } if (data.Title == null) { throw new ArgumentNullException("data.Title"); } listBox.Items.Add(data); listBox.SelectedIndex = 0; data.Control.CreateControl(); }
private void listBox_SelectedIndexChanged(object sender, EventArgs e) { CategoryData data = listBox.SelectedItem as CategoryData; if (data == null || data.Control != activeControl) { if (activeControl != null) { activeControl.Hide(); Controls.Remove(activeControl); activeControl = null; } if (data != null) { activeControl = data.Control; SetControlSize(activeControl); Controls.Add(activeControl); activeControl.Show(); } } }
public void RemoveSettingsPage(CategoryData data) { InvokeFast(new SettingsCategoryDelegate(window.SettingsPage.RemoveCategory), data); }
public void AddSettingsPage(CategoryData data) { InvokeFast(new SettingsCategoryDelegate(window.SettingsPage.AddCategory), data); }
public void RemoveCategory(CategoryData data) { listBox.Items.Remove(data); }
internal void RemoveCategory(CategoryData data) { categoryControl.RemoveCategory(data); RuntimeCore.RemoveAssemblyObject(data); }
internal void AddCategory(CategoryData data) { RuntimeCore.AddAssemblyObject(data, this); categoryControl.AddCategory(data); }