using System;
using System.ComponentModel;
using System.Drawing;
using Utils.Data.Validation;
using Utils.Data;
namespace Utils.Data.Test
{
/// <summary>
/// Summary description for TestClass.
/// </summary>
public enum ProjectType
{
Desktop,
Database,
Web
}
public class AgeList : NumericListProvider
{
public AgeList() : base(1,100,1)
{
}
}
[EditControl("Azienda",StandardControls.TabPages)]
public class Company
{
[EditControl("Dipendenti")]
public Anag[] Employee;
public Project Project;
}
[EditControl("Anagrafica")]
public class Anag
{
[EditControl("Nome"),Validation(Min=3),XmlElement("name",IsAttribute=true)]
public string Name="";
[EditControl("Età",Width=100),Validation(Min=1,AllowEmpty=true),DataType(DataTypes.Integer),ValueList(typeof(AgeList),true)]
public int Age;
[EditControl("Attivo")]
public bool Active;
[EditControl("Scadenza")]
public DateTime Expire;
[EditControl("Livello",StandardControls.TrackBar,Properties="Minimum=0,Maximum=20,TrackBar.TickFrequency=5")]
public byte Level;
public override string ToString()
{
return Name==null || Name==""?"<nome>":Name;
}
}
[EditControl("Progetto")]
public class Project
{
[EditControl("Creatori",StandardControls.CheckedListBox,Height=80),ValueList("../../Employee",DisplayMember="Name",ValueMember="Name")]
public string[] Creators;
[EditControl("Nome")]
public string Name;
[EditControl("Tipo progetto",StandardControls.RadioButton)]
public ProjectType Type;
[EditControl("Colore penna"),ReadOnly(true)]
public Color PenColor;
}
public class Start
{
static void Main()
{
Company c=new Company();
EditForm.ShowDialog(this,c,"Configura");
}
}
}