Move a folio's border dimensions into the project database

Adds a folio_border table and wires BorderTitleBlock's column/row
grid (counts, widths, header sizes, display flags) through it, the
same way folio_titleblock already covers the title block itself.
Closes the one gap DB-ACCESSORS 4.6 found still living only in the
folio's own XML.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
ispyisail
2026-10-22 22:55:34 +13:00
parent b98193dbe2
commit 489676b155
4 changed files with 151 additions and 25 deletions
+8
View File
@@ -34,6 +34,7 @@
#include "../diagramcontext.h"
#include "../titleblockproperties.h"
#include "../borderproperties.h"
#include "../conductorproperties.h"
#include "../autoNum/assignvariables.h"
#include "../autoNum/numerotationcontext.h"
@@ -147,6 +148,12 @@ class projectDataBase : public QObject
void folioUuidChanged(Diagram *folio, const QUuid &old_uuid);
QStringList folioTitleBlockMismatches() const;
//The border properties of every folio of the project, by folio
//uuid: the store each folio's border is written through. A
//folio not in a project keeps its own.
const BorderProperties *storedFolioBorder(const QUuid &folio) const;
void storeFolioBorder(const QUuid &folio, const BorderProperties &properties);
//The properties of every wire placed in the project, by wire
//uuid: the store each wire's properties are written through
//A wire not placed keeps its own.
@@ -422,6 +429,7 @@ class projectDataBase : public QObject
struct UnbuiltWireEdit { ConductorProperties properties; QUuid folio; };
QHash<QUuid, UnbuiltWireEdit> m_unbuilt_wire_edits;
QHash<QUuid, TitleBlockProperties> m_folio_titleblocks;
QHash<QUuid, BorderProperties> m_folio_borders;
QHash<QUuid, QPointer<Diagram>> m_placed_folios;
QHash<QUuid, ConductorProperties> m_conductor_properties;
//The rows of conductor_properties, to write only what changes