using System;
using System.Collections.Generic;
using System.Text;
namespace Basic_Debugger
{
/// <summary>
/// Project class containing all code and subs
/// </summary>
public class BasicProject
{
/// <summary>
/// Initialize a new instance of BasicProject
/// </summary>
public BasicProject()
{
_debugger = new Debugger(this);
_code = new Code();
}
string _location;
string _name;
Debugger _debugger;
Code _code;
/// <summary>
/// Run current project
/// </summary>
public bool Run(bool monitor)
{
//return _debugger.Check(out errorLines);
return true;
}
public string Location
{
get { return _location; }
set { _location = value; }
}
public string Name
{
get { return _name; }
set { _name = value; }
}
public Debugger Debugger
{
get { return _debugger; }
}
public Code Code
{
get { return _code; }
set { _code = value; }
}
public void Save()
{
}
}
public class Code
{
public Code()
{
_main = "";
_subs = new Subs();
}
private string _main;
private Subs _subs;
public string MainCode
{
get { return _main; }
set { _main = value; }
}
public Subs Subs
{
get { return _subs; }
}
}
public class Subs : List<Sub>
{
public event EventHandler OnLibraryChange;
public Subs()
: base()
{
}
/// <summary>
/// Return a specified sub by name, null if not found
/// </summary>
/// <param name="bla">The name of the sub code to searh for</param>
/// <returns>the whole sub item</returns>
public Sub this[string name]
{
get
{
for (int I = 0; I < this.Count; I++)
{
if (this[I].Name == name)
return this[I];
}
return null;
}
}
public void AddItem(Sub item)
{
base.Add(item);
if (OnLibraryChange != null)
OnLibraryChange(null, null);
}
public void AddRange(Sub[] items)
{
}
}
public class Sub
{
public Sub()
{
}
public Sub(string name)
{
_name = name;
}
string _content;
string _name;
public string Content
{
get { return _content; }
set { _content = value; }
}
public string Name
{
get { return _name; }
set { _name = value; }
}
}
}