public IPluginForm InfoToForm(PluginFormInfo info) { var form = info.Form; foreach (PluginFormOptionItem item in info.Groups.SelectMany(i => i.Items).Concat(info.UngroupedItems).OfType <PluginFormOptionItem>()) { switch (item) { case BoolPluginFormItem i: item.Member.SetValue(form, i.Value); break; case IntPluginFormItem i: item.Member.SetValue(form, i.Value); break; case StringPluginFormItem i: item.Member.SetValue(form, i.Value); break; case CollectionPluginFormItem i: item.Member.SetValue(form, i.Value); break; } } return(form); }
public bool RequestOptions(IPluginForm optionForm) { PluginFormInfo info = _pluginFormLoader.FormToInfo(optionForm); var pluginDialog = new PluginDialog { DataContext = info, Owner = Application.Current.MainWindow, }; var result = pluginDialog.ShowDialog() == true; _pluginFormLoader.InfoToForm(info); return(result); }
public FormToInfoTests() { IPluginFormLoader formLoader = new PluginFormLoader(); _loadedInfo = formLoader.FormToInfo(new TestPluginForm()); }
public InfoToFormTests() { _formLoader = new PluginFormLoader(); _form = new TestPluginForm(); _loadedInfo = _formLoader.FormToInfo(_form); }