mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-09-13 20:23:04 +02:00
Title block : add two news variables, previous-folio-num and next-folio-num
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@5664 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
parent
34f59f4920
commit
2274382219
@ -696,6 +696,45 @@ DiagramPosition BorderTitleBlock::convertPosition(const QPointF &pos)
|
|||||||
return(DiagramPosition(letter, row_number));
|
return(DiagramPosition(letter, row_number));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief BorderTitleBlock::setAuthor
|
||||||
|
* @param author the new value of the "Author" field
|
||||||
|
*/
|
||||||
|
void BorderTitleBlock::setAuthor(const QString &author) {
|
||||||
|
btb_author_ = author;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief BorderTitleBlock::setDate
|
||||||
|
* @param date the new value of the "Date" field
|
||||||
|
*/
|
||||||
|
void BorderTitleBlock::setDate(const QDate &date) {
|
||||||
|
btb_date_ = date;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief BorderTitleBlock::setTitle
|
||||||
|
* @param title the new value of the "Title" field
|
||||||
|
*/
|
||||||
|
void BorderTitleBlock::setTitle(const QString &title)
|
||||||
|
{
|
||||||
|
if (btb_title_ != title)
|
||||||
|
{
|
||||||
|
btb_title_ = title;
|
||||||
|
emit(diagramTitleChanged(title));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief BorderTitleBlock::setFolio
|
||||||
|
* @param folio the new value of the "Folio" field
|
||||||
|
*/
|
||||||
|
void BorderTitleBlock::setFolio(const QString &folio)
|
||||||
|
{
|
||||||
|
btb_folio_ = folio;
|
||||||
|
emit (titleBlockFolioChanged(folio));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Update the informations given to the titleblock template by regenerating a
|
Update the informations given to the titleblock template by regenerating a
|
||||||
DiagramContext object.
|
DiagramContext object.
|
||||||
@ -723,6 +762,8 @@ void BorderTitleBlock::updateDiagramContextForTitleBlock(const DiagramContext &i
|
|||||||
context.addValue("folio-id", folio_index_);
|
context.addValue("folio-id", folio_index_);
|
||||||
context.addValue("folio-total", folio_total_);
|
context.addValue("folio-total", folio_total_);
|
||||||
context.addValue("auto_page_num", btb_auto_page_num_);
|
context.addValue("auto_page_num", btb_auto_page_num_);
|
||||||
|
context.addValue("previous-folio-num", m_previous_folio_num);
|
||||||
|
context.addValue("next-folio-num", m_next_folio_num);
|
||||||
|
|
||||||
titleblock_template_renderer_ -> setContext(context);
|
titleblock_template_renderer_ -> setContext(context);
|
||||||
}
|
}
|
||||||
@ -769,3 +810,75 @@ void BorderTitleBlock::setFolioData(int index, int total, const QString& autonum
|
|||||||
|
|
||||||
updateDiagramContextForTitleBlock(project_properties);
|
updateDiagramContextForTitleBlock(project_properties);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief BorderTitleBlock::setPlant
|
||||||
|
* @param plant the new value of the "plant" field
|
||||||
|
*/
|
||||||
|
void BorderTitleBlock::setPlant(const QString &plant) {
|
||||||
|
btb_plant_ = plant;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief BorderTitleBlock::setLocMach
|
||||||
|
* @param locmach the new value of the "locmach" field
|
||||||
|
*/
|
||||||
|
void BorderTitleBlock::setLocMach(const QString &locmach) {
|
||||||
|
btb_locmach_ = locmach;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief BorderTitleBlock::setIndicerev
|
||||||
|
* @param indexrev the new value of the "indexrev" field
|
||||||
|
*/
|
||||||
|
void BorderTitleBlock::setIndicerev(const QString &indexrev) {
|
||||||
|
btb_indexrev_ = indexrev;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief BorderTitleBlock::setFileName
|
||||||
|
* @param filename the new value of the "filename" field
|
||||||
|
*/
|
||||||
|
void BorderTitleBlock::setFileName(const QString &filename) {
|
||||||
|
btb_filename_ = filename;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief BorderTitleBlock::setVersion
|
||||||
|
* @param version the new value of the "version" field
|
||||||
|
*/
|
||||||
|
void BorderTitleBlock::setVersion(const QString &version) {
|
||||||
|
btb_version_ = version;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief BorderTitleBlock::setAutoPageNum
|
||||||
|
* @param auto_page_num the new value of the "auto_page_num" field
|
||||||
|
*/
|
||||||
|
void BorderTitleBlock::setAutoPageNum(const QString &auto_page_num) {
|
||||||
|
btb_auto_page_num_ = auto_page_num;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief BorderTitleBlock::setPreviousFolioNum
|
||||||
|
* @param previous the new value of the "previous-folio-num" field
|
||||||
|
*/
|
||||||
|
void BorderTitleBlock::setPreviousFolioNum(const QString &previous)
|
||||||
|
{
|
||||||
|
m_previous_folio_num = previous;
|
||||||
|
DiagramContext context = titleblock_template_renderer_->context();
|
||||||
|
context.addValue("previous-folio-num", m_previous_folio_num);
|
||||||
|
titleblock_template_renderer_->setContext(context);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief BorderTitleBlock::setNextFolioNum
|
||||||
|
* @param next the new value of the "next-folio-num" field
|
||||||
|
*/
|
||||||
|
void BorderTitleBlock::setNextFolioNum(const QString &next)
|
||||||
|
{
|
||||||
|
m_next_folio_num = next;
|
||||||
|
DiagramContext context = titleblock_template_renderer_->context();
|
||||||
|
context.addValue("next-folio-num", m_next_folio_num);
|
||||||
|
titleblock_template_renderer_->setContext(context);
|
||||||
|
}
|
||||||
|
@ -103,7 +103,6 @@ class BorderTitleBlock : public QObject
|
|||||||
QString locmach() const { return(btb_locmach_); }
|
QString locmach() const { return(btb_locmach_); }
|
||||||
/// @return the value of the revision index block "Folio" field
|
/// @return the value of the revision index block "Folio" field
|
||||||
QString indexrev() const { return(btb_indexrev_); }
|
QString indexrev() const { return(btb_indexrev_); }
|
||||||
|
|
||||||
/// @return the value of the title block "File" field
|
/// @return the value of the title block "File" field
|
||||||
QString fileName() const { return(btb_filename_); }
|
QString fileName() const { return(btb_filename_); }
|
||||||
/// @return the value of the title block Additional Fields
|
/// @return the value of the title block Additional Fields
|
||||||
@ -137,32 +136,19 @@ class BorderTitleBlock : public QObject
|
|||||||
DiagramPosition convertPosition(const QPointF &);
|
DiagramPosition convertPosition(const QPointF &);
|
||||||
|
|
||||||
// methods to set title block basic data
|
// methods to set title block basic data
|
||||||
/// @param author the new value of the "Author" field
|
void setAuthor(const QString &author);
|
||||||
void setAuthor(const QString &author) { btb_author_ = author; }
|
void setDate(const QDate &date);
|
||||||
/// @param author the new value of the "Date" field
|
void setTitle(const QString &title);
|
||||||
void setDate(const QDate &date) { btb_date_ = date; }
|
void setFolio(const QString &folio);
|
||||||
/// @param author the new value of the "Title" field
|
|
||||||
void setTitle(const QString &title) {
|
|
||||||
if (btb_title_ != title) {
|
|
||||||
btb_title_ = title;
|
|
||||||
emit(diagramTitleChanged(title));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/// @param author the new value of the "Folio" field
|
|
||||||
void setFolio(const QString &folio) {
|
|
||||||
btb_folio_ = folio;
|
|
||||||
emit (titleBlockFolioChanged(folio));
|
|
||||||
}
|
|
||||||
void setFolioData(int, int, const QString& = nullptr, const DiagramContext & = DiagramContext());
|
void setFolioData(int, int, const QString& = nullptr, const DiagramContext & = DiagramContext());
|
||||||
/// @param author the new value of the "File" field
|
void setPlant(const QString &plant);
|
||||||
void setPlant(const QString &plant) { btb_plant_ = plant; }
|
void setLocMach(const QString &locmach);
|
||||||
void setLocMach(const QString &locmach) { btb_locmach_ = locmach; }
|
void setIndicerev(const QString &indexrev);
|
||||||
void setIndicerev(const QString &indexrev){ btb_indexrev_ = indexrev; }
|
void setFileName(const QString &filename);
|
||||||
void setFileName(const QString &filename) { btb_filename_ = filename; }
|
void setVersion(const QString &version);
|
||||||
/// @param author the new value of the "Version" field
|
void setAutoPageNum(const QString &auto_page_num);
|
||||||
void setVersion(const QString &version) { btb_version_ = version; }
|
void setPreviousFolioNum(const QString &previous);
|
||||||
/// @param author the new value of the "Auto Page Num" field
|
void setNextFolioNum(const QString &next);
|
||||||
void setAutoPageNum(const QString &auto_page_num) { btb_auto_page_num_ = auto_page_num;}
|
|
||||||
|
|
||||||
void titleBlockToXml(QDomElement &);
|
void titleBlockToXml(QDomElement &);
|
||||||
void titleBlockFromXml(const QDomElement &);
|
void titleBlockFromXml(const QDomElement &);
|
||||||
@ -205,24 +191,20 @@ class BorderTitleBlock : public QObject
|
|||||||
Signal emitted after display options have changed
|
Signal emitted after display options have changed
|
||||||
*/
|
*/
|
||||||
void displayChanged();
|
void displayChanged();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Signal emitted after the title has changed
|
Signal emitted after the title has changed
|
||||||
*/
|
*/
|
||||||
void diagramTitleChanged(const QString &);
|
void diagramTitleChanged(const QString &);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@brief titleBlockFolioChanged
|
@brief titleBlockFolioChanged
|
||||||
Signal emitted after Folio has changed
|
Signal emitted after Folio has changed
|
||||||
*/
|
*/
|
||||||
void titleBlockFolioChanged(const QString &);
|
void titleBlockFolioChanged(const QString &);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Signal emitted when the title block requires its data to be updated in order
|
Signal emitted when the title block requires its data to be updated in order
|
||||||
to generate the folio field.
|
to generate the folio field.
|
||||||
*/
|
*/
|
||||||
void needFolioData();
|
void needFolioData();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Signal emitted when this object needs to set a specific title block
|
Signal emitted when this object needs to set a specific title block
|
||||||
template. This object cannot handle the job since it does not know of
|
template. This object cannot handle the job since it does not know of
|
||||||
@ -248,6 +230,8 @@ class BorderTitleBlock : public QObject
|
|||||||
QString btb_version_;
|
QString btb_version_;
|
||||||
DiagramContext additional_fields_;
|
DiagramContext additional_fields_;
|
||||||
Qt::Edge m_edge;
|
Qt::Edge m_edge;
|
||||||
|
QString m_next_folio_num,
|
||||||
|
m_previous_folio_num;
|
||||||
|
|
||||||
// border dimensions (rows and columns)
|
// border dimensions (rows and columns)
|
||||||
// columns: number and dimensions
|
// columns: number and dimensions
|
||||||
|
@ -1744,7 +1744,8 @@ bool QETProject::projectWasModified() {
|
|||||||
Indique a chaque schema du projet quel est son numero de folio et combien de
|
Indique a chaque schema du projet quel est son numero de folio et combien de
|
||||||
folio le projet contient.
|
folio le projet contient.
|
||||||
*/
|
*/
|
||||||
void QETProject::updateDiagramsFolioData() {
|
void QETProject::updateDiagramsFolioData()
|
||||||
|
{
|
||||||
int total_folio = m_diagrams_list.count();
|
int total_folio = m_diagrams_list.count();
|
||||||
|
|
||||||
DiagramContext project_wide_properties = project_properties_;
|
DiagramContext project_wide_properties = project_properties_;
|
||||||
@ -1752,19 +1753,38 @@ void QETProject::updateDiagramsFolioData() {
|
|||||||
project_wide_properties.addValue("projectpath", filePath());
|
project_wide_properties.addValue("projectpath", filePath());
|
||||||
project_wide_properties.addValue("projectfilename", QFileInfo(filePath()).baseName());
|
project_wide_properties.addValue("projectfilename", QFileInfo(filePath()).baseName());
|
||||||
|
|
||||||
for (int i = 0 ; i < total_folio ; ++ i) {
|
for (int i = 0 ; i < total_folio ; ++ i)
|
||||||
QString title = m_diagrams_list[i] -> title();
|
{
|
||||||
QString autopagenum = m_diagrams_list[i]->border_and_titleblock.autoPageNum();
|
QString autopagenum = m_diagrams_list[i]->border_and_titleblock.autoPageNum();
|
||||||
NumerotationContext nC = folioAutoNum(autopagenum);
|
NumerotationContext nC = folioAutoNum(autopagenum);
|
||||||
NumerotationContextCommands nCC = NumerotationContextCommands(nC);
|
NumerotationContextCommands nCC = NumerotationContextCommands(nC);
|
||||||
if((m_diagrams_list[i]->border_and_titleblock.folio().contains("%autonum"))&&(!autopagenum.isNull())){
|
|
||||||
|
if ((m_diagrams_list[i]->border_and_titleblock.folio().contains("%autonum")) &&
|
||||||
|
(!autopagenum.isNull()))
|
||||||
|
{
|
||||||
m_diagrams_list[i] -> border_and_titleblock.setFolioData(i + 1, total_folio, nCC.toRepresentedString(), project_wide_properties);
|
m_diagrams_list[i] -> border_and_titleblock.setFolioData(i + 1, total_folio, nCC.toRepresentedString(), project_wide_properties);
|
||||||
m_diagrams_list[i]->project()->addFolioAutoNum(autopagenum,nCC.next());
|
m_diagrams_list[i]->project()->addFolioAutoNum(autopagenum,nCC.next());
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
m_diagrams_list[i] -> border_and_titleblock.setFolioData(i + 1, total_folio, nullptr, project_wide_properties);
|
m_diagrams_list[i] -> border_and_titleblock.setFolioData(i + 1, total_folio, nullptr, project_wide_properties);
|
||||||
}
|
}
|
||||||
m_diagrams_list[i] -> update();
|
|
||||||
|
if (i > 0)
|
||||||
|
{
|
||||||
|
m_diagrams_list.at(i)->border_and_titleblock.setPreviousFolioNum(m_diagrams_list.at(i-1)->border_and_titleblock.finalfolio());
|
||||||
|
m_diagrams_list.at(i-1)->border_and_titleblock.setNextFolioNum(m_diagrams_list.at(i)->border_and_titleblock.finalfolio());
|
||||||
|
|
||||||
|
if (i == total_folio-1) {
|
||||||
|
m_diagrams_list.at(i)->border_and_titleblock.setNextFolioNum(QString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
m_diagrams_list.at(i)->border_and_titleblock.setPreviousFolioNum(QString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Diagram *d : m_diagrams_list) {
|
||||||
|
d->update();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -444,6 +444,8 @@ QString TitleBlockTemplateCellWidget::defaultVariablesString() const {
|
|||||||
"<li>%{folio} : numéro du folio</li>"
|
"<li>%{folio} : numéro du folio</li>"
|
||||||
"<li>%{folio-id} : position du folio dans le projet</li>"
|
"<li>%{folio-id} : position du folio dans le projet</li>"
|
||||||
"<li>%{folio-total} : nombre total de folios dans le projet</li>"
|
"<li>%{folio-total} : nombre total de folios dans le projet</li>"
|
||||||
|
"<li>%{previous-folio-num} : numéro du folio précédent</li>"
|
||||||
|
"<li>%{next-folio-num} : numéro du folio suivant</li>"
|
||||||
"<li>%{projecttitle} : titre du projet</li>"
|
"<li>%{projecttitle} : titre du projet</li>"
|
||||||
"<li>%{projectpath} : chemin du projet</li>"
|
"<li>%{projectpath} : chemin du projet</li>"
|
||||||
"<li>%{projectfilename} : nom du fichier</li>"
|
"<li>%{projectfilename} : nom du fichier</li>"
|
||||||
|
@ -7,9 +7,9 @@
|
|||||||
*/
|
*/
|
||||||
TitleBlockTemplateRenderer::TitleBlockTemplateRenderer(QObject *parent) :
|
TitleBlockTemplateRenderer::TitleBlockTemplateRenderer(QObject *parent) :
|
||||||
QObject(parent),
|
QObject(parent),
|
||||||
titleblock_template_(nullptr),
|
m_titleblock_template(nullptr),
|
||||||
use_cache_(true),
|
m_use_cache(true),
|
||||||
last_known_titleblock_width_(-1)
|
m_last_known_titleblock_width(-1)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -23,35 +23,44 @@ TitleBlockTemplateRenderer::~TitleBlockTemplateRenderer() {
|
|||||||
@return the titleblock template used for the rendering
|
@return the titleblock template used for the rendering
|
||||||
*/
|
*/
|
||||||
const TitleBlockTemplate *TitleBlockTemplateRenderer::titleBlockTemplate() const {
|
const TitleBlockTemplate *TitleBlockTemplateRenderer::titleBlockTemplate() const {
|
||||||
return(titleblock_template_);
|
return(m_titleblock_template);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@param titleblock_template TitleBlock template to render.
|
@param titleblock_template TitleBlock template to render.
|
||||||
*/
|
*/
|
||||||
void TitleBlockTemplateRenderer::setTitleBlockTemplate(const TitleBlockTemplate *titleblock_template) {
|
void TitleBlockTemplateRenderer::setTitleBlockTemplate(const TitleBlockTemplate *titleblock_template) {
|
||||||
if (titleblock_template != titleblock_template_) {
|
if (titleblock_template != m_titleblock_template) {
|
||||||
titleblock_template_ = titleblock_template;
|
m_titleblock_template = titleblock_template;
|
||||||
invalidateRenderedTemplate();
|
invalidateRenderedTemplate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@param context Diagram Context to use when rendering the titleblock
|
* @brief TitleBlockTemplateRenderer::setContext
|
||||||
|
* @param context : Context to use when rendering the titleblock
|
||||||
*/
|
*/
|
||||||
void TitleBlockTemplateRenderer::setContext(const DiagramContext &context) {
|
void TitleBlockTemplateRenderer::setContext(const DiagramContext &context) {
|
||||||
context_ = context;
|
m_context = context;
|
||||||
invalidateRenderedTemplate();
|
invalidateRenderedTemplate();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief TitleBlockTemplateRenderer::context
|
||||||
|
* @return the current diagram context use when render the titleblock
|
||||||
|
*/
|
||||||
|
DiagramContext TitleBlockTemplateRenderer::context() const {
|
||||||
|
return m_context;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@return the height of the rendered template, or -1 if no template has been
|
@return the height of the rendered template, or -1 if no template has been
|
||||||
set for this renderer.
|
set for this renderer.
|
||||||
@see TitleBlockTemplate::height()
|
@see TitleBlockTemplate::height()
|
||||||
*/
|
*/
|
||||||
int TitleBlockTemplateRenderer::height() const {
|
int TitleBlockTemplateRenderer::height() const {
|
||||||
if (!titleblock_template_) return(-1);
|
if (!m_titleblock_template) return(-1);
|
||||||
return(titleblock_template_ -> height());
|
return(m_titleblock_template -> height());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -60,26 +69,26 @@ int TitleBlockTemplateRenderer::height() const {
|
|||||||
@param titleblock_width The total width of the titleblock to render
|
@param titleblock_width The total width of the titleblock to render
|
||||||
*/
|
*/
|
||||||
void TitleBlockTemplateRenderer::render(QPainter *provided_painter, int titleblock_width) {
|
void TitleBlockTemplateRenderer::render(QPainter *provided_painter, int titleblock_width) {
|
||||||
if (!titleblock_template_) return;
|
if (!m_titleblock_template) return;
|
||||||
|
|
||||||
if (use_cache_) {
|
if (m_use_cache) {
|
||||||
// Do we really need to calculate all this again?
|
// Do we really need to calculate all this again?
|
||||||
if (titleblock_width != last_known_titleblock_width_ || rendered_template_.isNull()) {
|
if (titleblock_width != m_last_known_titleblock_width || m_rendered_template.isNull()) {
|
||||||
renderToQPicture(titleblock_width);
|
renderToQPicture(titleblock_width);
|
||||||
}
|
}
|
||||||
|
|
||||||
provided_painter -> save();
|
provided_painter -> save();
|
||||||
rendered_template_.play(provided_painter);
|
m_rendered_template.play(provided_painter);
|
||||||
provided_painter -> restore();
|
provided_painter -> restore();
|
||||||
} else {
|
} else {
|
||||||
titleblock_template_ -> render(*provided_painter, context_, titleblock_width);
|
m_titleblock_template -> render(*provided_painter, m_context, titleblock_width);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void TitleBlockTemplateRenderer::renderDxf(QRectF &title_block_rect, int titleblock_width, QString &file_path, int color) {
|
void TitleBlockTemplateRenderer::renderDxf(QRectF &title_block_rect, int titleblock_width, QString &file_path, int color) {
|
||||||
if (!titleblock_template_) return;
|
if (!m_titleblock_template) return;
|
||||||
titleblock_template_ -> renderDxf(title_block_rect, context_, titleblock_width, file_path, color);
|
m_titleblock_template -> renderDxf(title_block_rect, m_context, titleblock_width, file_path, color);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -87,15 +96,15 @@ void TitleBlockTemplateRenderer::renderDxf(QRectF &title_block_rect, int titlebl
|
|||||||
@param titleblock_width Width of the titleblock to render
|
@param titleblock_width Width of the titleblock to render
|
||||||
*/
|
*/
|
||||||
void TitleBlockTemplateRenderer::renderToQPicture(int titleblock_width) {
|
void TitleBlockTemplateRenderer::renderToQPicture(int titleblock_width) {
|
||||||
if (!titleblock_template_) return;
|
if (!m_titleblock_template) return;
|
||||||
|
|
||||||
// we render the template on our internal QPicture
|
// we render the template on our internal QPicture
|
||||||
QPainter painter(&rendered_template_);
|
QPainter painter(&m_rendered_template);
|
||||||
|
|
||||||
titleblock_template_ -> render(painter, context_, titleblock_width);
|
m_titleblock_template -> render(painter, m_context, titleblock_width);
|
||||||
|
|
||||||
// memorize the last known width
|
// memorize the last known width
|
||||||
last_known_titleblock_width_ = titleblock_width;
|
m_last_known_titleblock_width = titleblock_width;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -103,7 +112,7 @@ void TitleBlockTemplateRenderer::renderToQPicture(int titleblock_width) {
|
|||||||
QPicture.
|
QPicture.
|
||||||
*/
|
*/
|
||||||
void TitleBlockTemplateRenderer::invalidateRenderedTemplate() {
|
void TitleBlockTemplateRenderer::invalidateRenderedTemplate() {
|
||||||
rendered_template_ = QPicture();
|
m_rendered_template = QPicture();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -111,7 +120,7 @@ void TitleBlockTemplateRenderer::invalidateRenderedTemplate() {
|
|||||||
false otherwise.
|
false otherwise.
|
||||||
*/
|
*/
|
||||||
void TitleBlockTemplateRenderer::setUseCache(bool use_cache) {
|
void TitleBlockTemplateRenderer::setUseCache(bool use_cache) {
|
||||||
use_cache_ = use_cache;
|
m_use_cache = use_cache;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -119,6 +128,6 @@ void TitleBlockTemplateRenderer::setUseCache(bool use_cache) {
|
|||||||
otherwise.
|
otherwise.
|
||||||
*/
|
*/
|
||||||
bool TitleBlockTemplateRenderer::useCache() const {
|
bool TitleBlockTemplateRenderer::useCache() const {
|
||||||
return(use_cache_);
|
return(m_use_cache);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -19,16 +19,23 @@
|
|||||||
#define TITLEBLOCK_TEMPLATE_RENDERER_H
|
#define TITLEBLOCK_TEMPLATE_RENDERER_H
|
||||||
#include <QPicture>
|
#include <QPicture>
|
||||||
#include "diagramcontext.h"
|
#include "diagramcontext.h"
|
||||||
|
|
||||||
class TitleBlockTemplate;
|
class TitleBlockTemplate;
|
||||||
class TitleBlockTemplateRenderer : public QObject {
|
|
||||||
|
class TitleBlockTemplateRenderer : public QObject
|
||||||
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
TitleBlockTemplateRenderer(QObject * = nullptr);
|
TitleBlockTemplateRenderer(QObject * = nullptr);
|
||||||
~TitleBlockTemplateRenderer() override;
|
~TitleBlockTemplateRenderer() override;
|
||||||
|
|
||||||
const TitleBlockTemplate *titleBlockTemplate() const;
|
const TitleBlockTemplate *titleBlockTemplate() const;
|
||||||
void setTitleBlockTemplate(const TitleBlockTemplate *);
|
void setTitleBlockTemplate(const TitleBlockTemplate *);
|
||||||
|
|
||||||
void setContext(const DiagramContext &context);
|
void setContext(const DiagramContext &context);
|
||||||
|
DiagramContext context()const;
|
||||||
|
|
||||||
int height() const;
|
int height() const;
|
||||||
void render(QPainter *, int);
|
void render(QPainter *, int);
|
||||||
void renderDxf(QRectF &, int, QString &, int);
|
void renderDxf(QRectF &, int, QString &, int);
|
||||||
@ -40,10 +47,10 @@ class TitleBlockTemplateRenderer : public QObject {
|
|||||||
void renderToQPicture(int);
|
void renderToQPicture(int);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
const TitleBlockTemplate *titleblock_template_;
|
const TitleBlockTemplate *m_titleblock_template;
|
||||||
bool use_cache_;
|
bool m_use_cache;
|
||||||
QPicture rendered_template_;
|
QPicture m_rendered_template;
|
||||||
DiagramContext context_;
|
DiagramContext m_context;
|
||||||
int last_known_titleblock_width_;
|
int m_last_known_titleblock_width;
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user