using System;
using System.Collections.Generic;

namespace InABox.Core
{
    public enum SyntaxLanguage
    {
        CSharp,
        XAML,
        HTML,
        CSS
    }

    public enum ScriptEditorType
    { 
        Default,
        TemplateEditor
    }
    public delegate void OnScriptEditorClickedEvent();

    public class ScriptEditor : BaseEditor
    {
        public ScriptEditor(SyntaxLanguage language = SyntaxLanguage.CSharp)
        {
            Alignment = Alignment.NotSet;
            SyntaxLanguage = language;
            Type = ScriptEditorType.Default;
        }

        public event OnScriptEditorClickedEvent OnEditorClicked;

        public SyntaxLanguage SyntaxLanguage { get; set; }
        public ScriptEditorType Type { get; set; }

        protected override BaseEditor DoClone()
        {
            return new ScriptEditor(SyntaxLanguage);
        }

        public void InvokeEvent()
        {
            OnEditorClicked?.Invoke();
        }
    }
}