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 } }