// Copyright (C) 2015-2026 The Neo Project.
//
// ScriptEditor.cs file belongs to the neo project and is free
// software distributed under the MIT software license, see the
// accompanying file LICENSE in the main directory of the
// repository or http://www.opensource.org/licenses/mit-license.php
// for more details.
//
// Redistribution and use in source and binary forms with or without
// modifications are permitted.

using System.ComponentModel;
using System.Windows.Forms.Design;

namespace Neo.GUI.Wrappers;

internal class ScriptEditor : FileNameEditor
{
    public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
    {
        string path = (string)base.EditValue(context, provider, null);
        if (path == null) return null;
        return File.ReadAllBytes(path);
    }

    protected override void InitializeDialog(OpenFileDialog openFileDialog)
    {
        base.InitializeDialog(openFileDialog);
        openFileDialog.DefaultExt = "avm";
        openFileDialog.Filter = "NeoContract|*.avm";
    }
}
