2025-04-15 12:10:19 +02:00

114 lines
2.7 KiB
C#

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