#region License Information
/* HeuristicLab
* Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
*
* This file is part of HeuristicLab.
*
* HeuristicLab is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* HeuristicLab is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with HeuristicLab. If not, see .
*/
#endregion
using System;
using System.CodeDom.Compiler;
using System.Collections.Generic;
using System.Reflection;
using System.Threading.Tasks;
using System.Windows.Forms;
using HeuristicLab.Common;
using ICSharpCode.NRefactory.TypeSystem;
namespace HeuristicLab.CodeEditor {
public class CodeEditorBase : UserControl {
public virtual string UserCode { get; set; }
public virtual string Prefix { get; set; }
public virtual string Suffix { get; set; }
public virtual bool ReadOnly { get; set; }
public virtual bool Locked { get; set; }
public virtual void AddAssemblies(IEnumerable assemblies) { }
public virtual Task AddAssembliesAsync(IEnumerable assemblies) {
return null;
}
public virtual void AddAssembly(Assembly assembly) { }
public virtual void RemoveAssembly(Assembly assembly) { }
public virtual void RemoveAssemblies(IEnumerable assemblies) { }
public virtual void ScrollAfterPrefix() { }
public virtual void ScrollToPosition(int line, int column) { }
public virtual void ClearEditHistory() { }
public virtual void ShowCompileErrors(CompilerErrorCollection compileErrors) { }
#region Events
public event EventHandler TextEditorTextChanged;
protected virtual void OnTextEditorTextChanged() {
var handler = TextEditorTextChanged;
if (handler != null) handler(this, EventArgs.Empty);
}
public event EventHandler>> AssembliesLoading;
protected virtual void OnAssembliesLoading(IEnumerable args) {
var handler = AssembliesLoading;
if (handler != null) handler(this, new EventArgs>(args));
}
public event EventHandler>> AssembliesLoaded;
protected virtual void OnAssembliesLoaded(IEnumerable args) {
var handler = AssembliesLoaded;
if (handler != null) handler(this, new EventArgs>(args));
}
public event EventHandler>> InternalAssembliesLoaded;
protected virtual void OnInternalAssembliesLoaded(IEnumerable args) {
var handler = InternalAssembliesLoaded;
if (handler != null) handler(this, new EventArgs>(args));
}
public event EventHandler>> AssembliesUnloading;
protected virtual void OnAssembliesUnloading(IEnumerable args) {
var handler = AssembliesUnloading;
if (handler != null) handler(this, new EventArgs>(args));
}
public event EventHandler>> AssembliesUnloaded;
protected virtual void OnAssembliesUnloaded(IEnumerable args) {
var handler = AssembliesUnloaded;
if (handler != null) handler(this, new EventArgs>(args));
}
public event EventHandler>> InternalAssembliesUnloaded;
protected virtual void OnInternalAssembliesUnloaded(IEnumerable args) {
var handler = InternalAssembliesUnloaded;
if (handler != null) handler(this, new EventArgs>(args));
}
#endregion
}
}