fix: Italian labels + section title style + double header row height in dividend renderer
This commit is contained in:
@@ -35,9 +35,21 @@ public class DividendSectionRenderer
|
||||
|
||||
private static readonly string[] Col2Headers =
|
||||
[
|
||||
"", "Strike", "Last", "% Perf.",
|
||||
"Barr.Cap.", "Buf.Cap.", "Trig.CPN", "Buf.CPN", "Trig.AC",
|
||||
"Data Stacco", "Data Pag.", "Importo", "Rend.", "Imp.Fut.", "Rend.Fut.",
|
||||
"", // Nome (nessuna sub-label)
|
||||
"Livello Iniziale", // Strike
|
||||
"Ultimo Prezzo", // Last
|
||||
"% Perf.", // % Perf. (invariato)
|
||||
"Barriera Capitale", // Barr.Cap.
|
||||
"Protezione Capitale", // Buf.Cap.
|
||||
"Livello Cedola", // Trig.CPN
|
||||
"Protezione Cedola", // Buf.CPN
|
||||
"Livello Richiamo Anticipato", // Trig.AC
|
||||
"Data Stacco", // (invariato)
|
||||
"Data Pagamento", // Data Pag.
|
||||
"Importo", // (invariato)
|
||||
"Rendimento", // Rend.
|
||||
"Importo Futuro", // Imp.Fut.
|
||||
"Rendimento Futuro", // Rend.Fut.
|
||||
];
|
||||
|
||||
// Indici colonne soggette a colore performance (0-based)
|
||||
@@ -65,14 +77,12 @@ public class DividendSectionRenderer
|
||||
float x0 = PdfTheme.PageMargin;
|
||||
float y = PdfTheme.PageMargin;
|
||||
|
||||
// ── Titolo ────────────────────────────────────────────────────
|
||||
g.DrawString("Sottostanti e Dividendi", PdfTheme.Title, PdfTheme.AccentBlueBrush,
|
||||
new RectangleF(x0, y, w, 20f));
|
||||
y += 20f + 4f;
|
||||
|
||||
// ── Linea separatrice ─────────────────────────────────────────
|
||||
g.DrawLine(PdfTheme.AccentBluePen, new PointF(x0, y), new PointF(x0 + w, y));
|
||||
y += 6f;
|
||||
// ── Titolo stile DrawSectionLabel ─────────────────────────────
|
||||
float rh0 = PdfTheme.RowHeight;
|
||||
g.DrawRectangle(PdfTheme.TableHeaderBrush, new RectangleF(x0, y, w, rh0));
|
||||
g.DrawString("Sottostanti e Dividendi", PdfTheme.TableBold, PdfBrushes.White,
|
||||
new RectangleF(x0 + 4f, y + 2f, w - 8f, rh0));
|
||||
y += rh0 + 4f;
|
||||
|
||||
// ── Calcolo fattore scala su larghezza reale ──────────────────
|
||||
float totalNominal = ColWidths.Sum();
|
||||
@@ -84,7 +94,7 @@ public class DividendSectionRenderer
|
||||
|
||||
DrawHeader(g, x0, y, cw, rh);
|
||||
|
||||
y += rh * 2;
|
||||
y += rh * 3;
|
||||
|
||||
// ── Tabella dati ──────────────────────────────────────────────
|
||||
DrawDataGrid(g, data, x0, y, cw);
|
||||
@@ -127,13 +137,13 @@ public class DividendSectionRenderer
|
||||
for (int i = 0; i < cw.Length; i++)
|
||||
{
|
||||
var bg = i >= 9 ? DarkBlueBrush : accentBrush;
|
||||
DrawHeaderCell(g, cx, y + rh, cw[i], rh, Col2Headers[i], bg, whiteBrush, headerFont);
|
||||
DrawHeaderCell(g, cx, y + rh, cw[i], rh * 2, Col2Headers[i], bg, whiteBrush, headerFont);
|
||||
cx += cw[i];
|
||||
}
|
||||
|
||||
// ── Separatore verticale tra col 8 e col 9 ────────────────────
|
||||
float sepX = x0 + cw.Take(9).Sum();
|
||||
g.DrawLine(SeparatorPen, new PointF(sepX, y), new PointF(sepX, y + rh * 2));
|
||||
g.DrawLine(SeparatorPen, new PointF(sepX, y), new PointF(sepX, y + rh * 3));
|
||||
}
|
||||
|
||||
private static void DrawHeaderCell(PdfGraphics g, float x, float y, float w, float h,
|
||||
|
||||
Reference in New Issue
Block a user