123456789101112131415161718192021222324252627282930313233343536373839 |
- 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<CustomImporterSettings>
- {
- 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;
- }
- };
- }
- }
- }
- }
|