using System; using System.Collections.Generic; using System.Linq; using System.Text; using ceTe.DynamicPDF; namespace PDFGenerator.Entity { /// <summary> /// Enumeratore dei tipi di oggetto(ObjectPDF) disponibili. /// </summary> public enum ObjectTypePdf { FORMATTEDTEXTAREA, IMAGE, //LABEL, TABLENOTE, SPACE, TABLE, PAGE, LINE, RECTANGLE, CIRCLE, CIRCLEREAL, UNORDEREDLIST, RESETTER_Y, CHART, REPEATER, COMPOSITE, CUSTOMCHART, ACTIONPDF } /// <summary> /// Enumeratore dei tipi di oggetto(Chart) disponibili. /// </summary> public enum ChartTypePdf { PIE, STACKED, COMBINATION } /// <summary> /// Enumeratore dei tipi di entità(EntityBase) disponibili. /// </summary> public enum EntityTypePdf { Chapter, Paragraph, Section } /// <summary> /// Enumeratore generico dei formati. /// </summary> public enum FormatType { Intero, Decimale0, Decimale1, Decimale2, Decimale2ConSeparatore, Valuta, Percentuale, Data, DataShort, DataSenzaOra, MeseAnno, PercentualeImmobiliare, //InteroConSepartore } /// <summary> /// Definisce la classe astratta che racchiude le caratteristiche comuni ad ogni ObjectPDF. /// Ogni ObjectPDF, i cui tipi sono definiti dalla proprietà _objecttype, avrà _autoincrementywritable di default=true /// in modo da rendere possibile al motore di renderizzazione di autoicrementare la y del documento alla scrittura di qualsiasi ObjectPDF. /// </summary> public abstract class ObjectPDF : PageElement { private bool _autoincrementywritable = true; /// <summary> /// Imposta o recupera il tipo di oggetto. /// </summary> public ObjectTypePdf ObjectType { get; set; } /// <summary> /// Imposta o recupera un booleano che se true incrementa la YWritable dopo che l'oggetto è stato disegnato sulla pagina. /// Di default=true. /// </summary> public bool AutoIncrementYWritable { get { return _autoincrementywritable; } set { _autoincrementywritable = value; } } /// <summary> /// Override del metodo /// </summary> /// <param name="wr"></param> public override void Draw(ceTe.DynamicPDF.IO.PageWriter wr) { } /// <summary> /// Oggetto che sarà stampato /// </summary> /// <returns></returns> public abstract PageElement ToElement(); } }