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();
}
}