32 id =
project -> getFolioSheetsQuantity();
43 int folioSheetQty =
project() -> getFolioSheetsQuantity();
44 if (folioSheetQty > 0)
45 project() -> setFolioSheetsQuantity(folioSheetQty-1);
59 p -> setRenderHint(QPainter::Antialiasing,
false);
60 p -> setRenderHint(QPainter::TextAntialiasing,
true);
61 p -> setRenderHint(QPainter::SmoothPixmapTransform,
false);
64 p -> setPen(Qt::NoPen);
67 p -> setPen(Qt::black);
75 QRectF row_RectBorder(x0, y0, width, height);
86 QList<Diagram *> diagram_list =
project() -> diagrams();
88 int startDiagram =
id * 29;
89 for (
int i = startDiagram; i < startDiagram+29 && i < diagram_list.size(); ++i) {
92 if (settings.value(
"genericpanel/folio",
true).toBool()){
94 diagram_list[i] ->
title(),
102 diagram_list[i] ->
title(),
103 QString::number(diagram_list[i] ->
folioIndex()+1),
123 const QString& folio,
const QString& plant,
const QString& loc,
const QString& indexrev,
const QString& date)
125 qreal x = row_rect.topLeft().x();
126 qreal y = row_rect.topLeft().y();
134 if (settings.value(
"genericpanel/folio",
true).toBool()){
136 if (origFontMetrics.width(folio) > 0.95*
colWidths[0]*row_rect.width())
137 workingFont.setPointSizeF(origFontSize * 0.95*
colWidths[0]*row_rect.width() / origFontMetrics.width(folio));
139 workingFont.setPointSizeF(origFontSize);
140 qp -> setFont(workingFont);
141 qp -> drawText(QRectF(x, y,
colWidths[0]*row_rect.width(), row_rect.height()), Qt::AlignCenter, folio);
145 if (origFontMetrics.width(folio) > 0.95*
colWidths[0]*row_rect.width())
146 workingFont.setPointSizeF(origFontSize * 0.95*
colWidths[0]*row_rect.width() / origFontMetrics.width(folio));
148 workingFont.setPointSizeF(origFontSize);
149 qp -> setFont(workingFont);
150 qp -> drawText(QRectF(x, y,
colWidths[0]*row_rect.width(), row_rect.height()), Qt::AlignCenter, folio);
155 if (origFontMetrics.width(
title) > 0.95*
colWidths[1]*row_rect.width())
156 workingFont.setPointSizeF(origFontSize * 0.95*
colWidths[1]*row_rect.width() / origFontMetrics.width(
title));
158 workingFont.setPointSizeF(origFontSize);
159 qp -> setFont(workingFont);
160 QString heading =
tr(
"Titre");
161 if (
title == heading)
162 qp -> drawText(QRectF(x, y,
colWidths[1]*row_rect.width(),row_rect.height()), Qt::AlignCenter,
title);
164 qp -> drawText(QRectF(x+0.01*row_rect.width(), y,
colWidths[1]*row_rect.width()*10.2,
165 row_rect.height()), Qt::AlignLeft | Qt::AlignVCenter,
title);
169 if (origFontMetrics.width(plant) > 0.95*
colWidths[2]*row_rect.width())
170 workingFont.setPointSizeF(origFontSize * 0.95*
colWidths[2]*row_rect.width() / origFontMetrics.width(plant));
172 workingFont.setPointSizeF(origFontSize);
173 qp -> setFont(workingFont);
174 qp -> drawText(QRectF(x, y,
colWidths[3]*row_rect.width(), row_rect.height()), Qt::AlignCenter, plant);
178 if (origFontMetrics.width(loc) > 0.95*
colWidths[3]*row_rect.width())
179 workingFont.setPointSizeF(origFontSize * 0.95*
colWidths[3]*row_rect.width() / origFontMetrics.width(loc));
181 workingFont.setPointSizeF(origFontSize);
182 qp -> setFont(workingFont);
183 qp -> drawText(QRectF(x, y,
colWidths[3]*row_rect.width(), row_rect.height()), Qt::AlignCenter, loc);
187 if (origFontMetrics.width(indexrev) > 0.95*
colWidths[4]*row_rect.width())
188 workingFont.setPointSizeF(origFontSize * 0.95*
colWidths[4]*row_rect.width() / origFontMetrics.width(indexrev));
190 workingFont.setPointSizeF(origFontSize);
191 qp -> setFont(workingFont);
192 qp -> drawText(QRectF(x, y,
colWidths[4]*row_rect.width(), row_rect.height()), Qt::AlignCenter, indexrev);
198 if (origFontMetrics.width(author) > 0.95*
colWidths[5]*row_rect.width())
199 workingFont.setPointSizeF(origFontSize * 0.95*
colWidths[5]*row_rect.width() / origFontMetrics.width(author));
201 workingFont.setPointSizeF(origFontSize);
202 qp -> setFont(workingFont);
203 qp -> drawText(QRectF(x, y,
colWidths[6]*row_rect.width(), row_rect.height()), Qt::AlignCenter, author);
207 if (origFontMetrics.width(date) > 0.95*
colWidths[6]*row_rect.width())
208 workingFont.setPointSizeF(origFontSize * 0.95*
colWidths[6]*row_rect.width() / origFontMetrics.width(date));
210 workingFont.setPointSizeF(origFontSize);
211 qp -> setFont(workingFont);
212 qp -> drawText(QRectF(x, y,
colWidths[6]*row_rect.width(), row_rect.height()), Qt::AlignCenter, date);
223 for (
int i = 0; i < 7; i++ )
225 if ( sum < 0.99 || sum > 1.01 ) {
226 qDebug() <<
"Invalid input: Column widths do not sum to 1";
230 qreal tablesSpacing = rect.height() * 0.02;
231 qreal tableWidth = (rect.width() - tablesSpacing*(tables+1) ) / tables;
232 qreal rowHeight = (rect.height() - 2*tablesSpacing) / rows;
235 qreal x0 = tablesSpacing + rect.topLeft().x();
236 qreal y0 = tablesSpacing + rect.topLeft().y();
238 for (
int i = 0; i < tables; ++i) {
239 QRectF *tableRect =
new QRectF(x0, y0, tableWidth, rect.height() - 2*tablesSpacing);
240 qp->drawRect(*tableRect);
242 for (
int j = 1; j < rows; ++j) {
243 QLineF *line =
new QLineF(x0, y0 + j*rowHeight, x0 + tableWidth,y0 + j*rowHeight);
247 for (
int j = 0; j < cols-1; ++j) {
248 QLineF *line =
new QLineF(x0 +
colWidths[j]*tableWidth, y0, x0 +
colWidths[j]*tableWidth,y0 + rows*rowHeight);
253 x0 +=
colWidths[cols-1]*tableWidth + tablesSpacing;
267 QString plantTranslatable(
QObject::tr(
"Installation"));
268 QString locTranslatable(
QObject::tr(
"Localisation"));
274 fillRow(qp, row_RectF, authorTranslatable, titleTranslatable, folioTranslatable, plantTranslatable, locTranslatable, indexrevTranslatable, dateTranslatable);
void fillRow(QPainter *, const QRectF &, const QString &, const QString &, const QString &, const QString &, const QString &, const QString &, const QString &)
DiagramFolioList::fillRow Add new row and fill it with the given information.
void drawBackground(QPainter *, const QRectF &) override
DiagramFolioList::drawBackground Draw background, and call method to draw the folio list (grid) ...
DiagramFolioList(QETProject *project)
DiagramFolioList::DiagramFolioList Constructor.
static QFont foliolistTextsFont(qreal=-1.0)
QETApp::foliolistTextsFont the font for to use in summary pages.
QString finalfolio() const
qreal rowsHeaderWidth() const
void draw(QPainter *painter)
BorderTitleBlock::draw Draw the border and the titleblock.
~DiagramFolioList() override
DiagramFolioList::~DiagramFolioList Destructor.
qreal columnsHeaderHeight() const
qreal columnsTotalWidth() const
static QColor background_color
background color of diagram
void buildGrid(QPainter *, const QRectF &, int, int, qreal[])
QList< QLineF * > list_lines_
qreal rowsTotalHeight() const
void fillHeader(QPainter *, const QRectF &)
DiagramFolioList::fillHeader Fill the header with bigger font.
static QFont diagramTextsFont(qreal=-1.0)
QETApp::diagramTextsFont The font to use By default the font is "sans Serif" and size 9...
BorderTitleBlock border_and_titleblock
Diagram dimensions and title block.
QETProject * project() const
QList< QRectF * > list_rectangles_
static qreal colWidths[7]