using System; using System.Collections.Generic; using System.Linq; using System.Text; using ceTe.DynamicPDF; namespace PDFGenerator.Entity { /// /// Enumeratore dei tipi di oggetto(ObjectPDF) disponibili. /// public enum ObjectTypePdf { FORMATTEDTEXTAREA, IMAGE, //LABEL, TABLENOTE, SPACE, TABLE, PAGE, LINE, RECTANGLE, CIRCLE, CIRCLEREAL, UNORDEREDLIST, RESETTER_Y, CHART, REPEATER, COMPOSITE, CUSTOMCHART, ACTIONPDF } /// /// Enumeratore dei tipi di oggetto(Chart) disponibili. /// public enum ChartTypePdf { PIE, STACKED, COMBINATION } /// /// Enumeratore dei tipi di entità(EntityBase) disponibili. /// public enum EntityTypePdf { Chapter, Paragraph, Section } /// /// Enumeratore generico dei formati. /// public enum FormatType { Intero, Decimale0, Decimale1, Decimale2, Decimale2ConSeparatore, Valuta, Percentuale, Data, DataShort, DataSenzaOra, MeseAnno, PercentualeImmobiliare, //InteroConSepartore } /// /// 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. /// public abstract class ObjectPDF : PageElement { private bool _autoincrementywritable = true; /// /// Imposta o recupera il tipo di oggetto. /// public ObjectTypePdf ObjectType { get; set; } /// /// Imposta o recupera un booleano che se true incrementa la YWritable dopo che l'oggetto è stato disegnato sulla pagina. /// Di default=true. /// public bool AutoIncrementYWritable { get { return _autoincrementywritable; } set { _autoincrementywritable = value; } } /// /// Override del metodo /// /// public override void Draw(ceTe.DynamicPDF.IO.PageWriter wr) { } /// /// Oggetto che sarà stampato /// /// public abstract PageElement ToElement(); } }