using System.Collections.Generic;
using Consulenza.ReportWriter.Business.Entity;
namespace Consulenza.ReportWriter.Business.OBJ_PDF
{
///
/// Tipologia di elenco puntato.
///
public enum BulletType
{
Pallino,
Trattino
}
///
/// Rappresenta un elenco puntato.
/// Gli Items rappresentano la lista di stringhe che saranno disegnate.
/// Per scrivere un elenco punatto in Bold, Oblique o BoldOblique, impostare la proprietà _font con il relativo valore.
/// La larghezza di default della TextArea è 520, pari all'area scrivibile del documento.
/// Di default il _bullettype è settato per disegnare pallini.
/// Settando la proprietà Margin (default=5) è possibile aumentare lo spazio, sia in alto che in basso tra gli Items.
/// Utilizza la classe primitiva ceTe.DynamicPDF.PageElements.UnorderedList.
///
public class UnorderedListPDF : ObjectPDF
{
#region Fields
private float _fontsize = 8;
private float _width = 520;
private List _items = new List();
private BulletType _bullettype = BulletType.Pallino;
private float _margin = 5;
private ceTe.DynamicPDF.TextAlign _textalign = ceTe.DynamicPDF.TextAlign.Justify;
///
/// Imposta o ottiene l'elemento base (PageElement)
///
public ceTe.DynamicPDF.PageElements.UnorderedList BaseElement { get; set; }
///
/// Imposta o recupera la X del documento su cui disegnare l'elenco puntato.
///
public float X { get; set; }
///
/// Imposta o recupera la Y del documento su cui disegnare l'elenco puntato.
///
public float Y { get; set; }
///
/// Imposta o recupera la grandezza del carattere dell'elenco puntato.
/// Di default=8.
///
public float FontSize
{
get { return _fontsize; }
set { _fontsize = value; }
}
///
/// Imposta o recupera l'altezza.
/// Se impostata a 0, l'altezza viene recuperata automaticamente.
/// Di default=0.
///
public float Height { get; set; }
///
/// Imposta o recupera la larghezza.
/// Di default=520.(Corrisponde alla larghezza totale della pagina scrivibile)
///
public float Width
{
get { return _width; }
set { _width = value; }
}
///
/// Imposta o recupera la lista dei testi da scrivere.
///
public List Items
{
get { return _items; }
set { _items = value; }
}
///
/// Imposta o recupera il tipo di bullet.
/// Di default=Pallino.
///
public BulletType BulletType
{
get { return _bullettype; }
set { _bullettype = value; }
}
///
/// Imposta o ottiene il margine alto e basso tra gli items.
/// Di default=5.
///
public float Margin
{
get { return _margin; }
set { _margin = value; }
}
///
/// Imposta o ottiene l'allineamento del testo.
/// Di default=Justify.
///
public ceTe.DynamicPDF.TextAlign TextAlign
{
get { return _textalign; }
set { _textalign = value; }
}
#endregion
#region Costruttori
///
/// Costruttore
///
public UnorderedListPDF()
{
ObjectType = ObjectTypePdf.UNORDEREDLIST;
}
///
/// Costruttore
///
/// X
/// Lista di stringhe da scrivere
public UnorderedListPDF(float x, List items)
: this()
{
X = x;
_items = items;
}
///
/// Costruttore
///
/// X
/// Lista di stringhe da scrivere
/// Tipo di bullet. Se non specificato viene usato il pallino.
public UnorderedListPDF(float x, List items, BulletType bullettype)
: this(x, items)
{
_bullettype = bullettype;
}
#endregion
#region Metodi
///
/// Ritorna l'oggetto che sarà stampato sulla pagina del documento.
///
///
public override ceTe.DynamicPDF.PageElement ToElement()
{
return BaseElement;
}
#endregion
}
}