private void UpdateEditors() { if (LicenseManager.UsageMode == LicenseUsageMode.Designtime) //Don't look for editors while being designed (see http://stackoverflow.com/a/1166547) { return; } SuspendLayout(); ResetEditors(); List <IEditorGUIProvider> specialEditors = EditorsInfo.FindEditors(Edited); foreach (IEditorGUIProvider provider in specialEditors) { IEditorGUI editor = provider.CreateEditor(); editor.Control.Dock = DockStyle.Top; this.Controls.Add(editor.Control); this.MinimumSize = new Size(MinimumSize.Width, MinimumSize.Height + editor.Control.Height); m_editors.Add(editor); } foreach (IEditorGUI editor in m_editors) { editor.Edited = edited; } ResumeLayout(); }
void structureChanged(object sender, EventArgs e) { string selected = (string)structureBox.SelectedItem; if (selected == "raw value") { m_edited.Entry = new ValueEntry(); } else if (selected == "raw section") { m_edited.Entry = new SectionEntry(); } else { IEditorGUIProvider prov = EditorsInfo.FindEditorByName(selected); m_edited.Entry = prov.GenerateDefault(); } this.StructureChanged?.Invoke(this, new EventArgs()); }