using InABox.Core; using InABox.DynamicGrid; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace PRSDesktop { public class CustomImporterSettingsGrid : DynamicItemsListGrid { public CustomImporterSettingsGrid() { OnCustomiseEditor += CustomImporterSettingsGrid_OnCustomiseEditor; } private void CustomImporterSettingsGrid_OnCustomiseEditor(IDynamicEditorForm sender, CustomImporterSettings[]? items, DynamicGridColumn column, BaseEditor editor) { if (items?.FirstOrDefault() is not CustomImporterSettings settings) return; if (column.ColumnName == nameof(CustomImporterSettings.Script) && editor is ScriptEditor scriptEditor) { scriptEditor.Type = ScriptEditorType.TemplateEditor; scriptEditor.OnEditorClicked += () => { var script = settings.Script.NotWhiteSpaceOr() ?? settings.DefaultScript(); var editor = new ScriptEditorWindow(script, SyntaxLanguage.CSharp); if (editor.ShowDialog() == true) { sender.SetEditorValue(column.ColumnName, editor.Script); settings.Script = editor.Script; } }; } } } }