Revamp struct sequenceStruct to class sequentialNumbers.

Element now use methods (toXml and fromXml) of sequentialNumbers to store and load sequential.


git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@4803 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
blacksun
2016-12-08 15:06:46 +00:00
parent 18df62cea1
commit 9f014d55af
11 changed files with 196 additions and 113 deletions

View File

@@ -30,7 +30,18 @@ class ElementsLocation;
namespace autonum
{
struct sequenceStruct {
class sequentialNumbers
{
public:
sequentialNumbers();
sequentialNumbers &operator= (const sequentialNumbers &other);
bool operator== (const sequentialNumbers &other) const;
bool operator!= (const sequentialNumbers &other) const;
QDomElement toXml(QDomDocument &document, QString tag_name = QString("sequentialNumbers")) const;
void fromXml(const QDomElement &element);
QStringList unit;
QStringList unit_folio;
QStringList ten;
@@ -47,10 +58,10 @@ namespace autonum
class AssignVariables
{
public:
static QString formulaToLabel (QString formula, sequenceStruct &seqStruct, Diagram *diagram, const Element *elmt = nullptr);
static QString formulaToLabel (QString formula, sequentialNumbers &seqStruct, Diagram *diagram, const Element *elmt = nullptr);
private:
AssignVariables(QString formula, sequenceStruct seqStruct , Diagram *diagram, const Element *elmt = nullptr);
AssignVariables(QString formula, sequentialNumbers seqStruct , Diagram *diagram, const Element *elmt = nullptr);
void assignTitleBlockVar();
void assignProjectVar();
void assignSequence();
@@ -58,13 +69,13 @@ namespace autonum
Diagram *m_diagram = nullptr;
QString m_arg_formula;
QString m_assigned_label;
sequenceStruct m_seq_struct;
sequentialNumbers m_seq_struct;
const Element *m_element = nullptr;
};
void setSequentialToList(QStringList &list, NumerotationContext &nc, QString type);
void setFolioSequentialToHash(QStringList &list, QHash<QString, QStringList> &hash, QString autoNumName);
void setSequential(QString label, autonum::sequenceStruct &seqStruct, NumerotationContext &context, Diagram *diagram, QString hashKey);
void setSequential(QString label, autonum::sequentialNumbers &seqStruct, NumerotationContext &context, Diagram *diagram, QString hashKey);
QString numerotationContextToFormula(const NumerotationContext &nc);
QString elementPrefixForLocation(const ElementsLocation &location);
}