Skip to content

Commit

Permalink
Merge pull request #364 from elevatormind/conductor_texts
Browse files Browse the repository at this point in the history
New variables for conductor text formulas
  • Loading branch information
scorpio810 authored Feb 21, 2025
2 parents c9b9165 + 68a2ddd commit 667d258
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 9 deletions.
22 changes: 17 additions & 5 deletions sources/autoNum/assignvariables.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
#include "../diagram.h"
#include "../diagramposition.h"
#include "../qetapp.h"
#include "../qetgraphicsitem/conductor.h"
#include "../qetgraphicsitem/element.h"
#include "../qetxml.h"

Expand Down Expand Up @@ -189,12 +190,14 @@ namespace autonum
QString AssignVariables::formulaToLabel(QString formula,
sequentialNumbers &seqStruct,
Diagram *diagram,
const Element *elmt)
const Element *elmt,
const Conductor *cndr)
{
AssignVariables av(std::move(formula),
seqStruct,
diagram,
elmt);
elmt,
cndr);
seqStruct = av.m_seq_struct;
return av.m_assigned_label;
}
Expand Down Expand Up @@ -301,13 +304,14 @@ namespace autonum
AssignVariables::AssignVariables(const QString& formula,
const sequentialNumbers& seqStruct,
Diagram *diagram,
const Element *elmt):
const Element *elmt,
const Conductor *cndr):
m_diagram(diagram),
m_arg_formula(formula),
m_assigned_label(formula),
m_seq_struct(seqStruct),
m_element(elmt)

m_element(elmt),
m_conductor(cndr)
{
if (m_diagram)
{
Expand Down Expand Up @@ -349,6 +353,14 @@ namespace autonum
m_assigned_label.replace("%prefix", m_element->getPrefix());
}

if (m_conductor)
{
m_assigned_label.replace("%wf", cndr->properties().m_function);
m_assigned_label.replace("%wv", cndr->properties().m_tension_protocol);
m_assigned_label.replace("%wc", cndr->properties().m_wire_color);
m_assigned_label.replace("%ws", cndr->properties().m_wire_section);
}

assignTitleBlockVar();
assignProjectVar();
assignSequence();
Expand Down
6 changes: 4 additions & 2 deletions sources/autoNum/assignvariables.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
#include <QString>
#include <QStringList>

class Conductor;
class Diagram;
class Element;
class ElementsLocation;
Expand Down Expand Up @@ -61,12 +62,12 @@ namespace autonum
class AssignVariables
{
public:
static QString formulaToLabel (QString formula, sequentialNumbers &seqStruct, Diagram *diagram, const Element *elmt = nullptr);
static QString formulaToLabel (QString formula, sequentialNumbers &seqStruct, Diagram *diagram, const Element *elmt = nullptr, const Conductor *cndr = nullptr);
static QString replaceVariable (const QString &formula, const DiagramContext &dc);
static QString genericXref (const Element *element);

private:
AssignVariables(const QString& formula, const sequentialNumbers& seqStruct , Diagram *diagram, const Element *elmt = nullptr);
AssignVariables(const QString& formula, const sequentialNumbers& seqStruct , Diagram *diagram, const Element *elmt = nullptr, const Conductor *cndr = nullptr);
void assignTitleBlockVar();
void assignProjectVar();
void assignSequence();
Expand All @@ -76,6 +77,7 @@ namespace autonum
QString m_assigned_label;
sequentialNumbers m_seq_struct;
const Element *m_element = nullptr;
const Conductor *m_conductor = nullptr;
};

void setSequentialToList(QStringList &list, NumerotationContext &nc, const QString& type);
Expand Down
4 changes: 2 additions & 2 deletions sources/qetgraphicsitem/conductor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1505,7 +1505,7 @@ void Conductor::refreshText()
{
if (diagram())
{
QString text = autonum::AssignVariables::formulaToLabel(m_properties.m_formula, m_autoNum_seq, diagram());
QString text = autonum::AssignVariables::formulaToLabel(m_properties.m_formula, m_autoNum_seq, diagram(), nullptr, this);
m_properties.text = text;
m_text_item->setPlainText(text);
}
Expand Down Expand Up @@ -1590,7 +1590,7 @@ void Conductor::setProperties(const ConductorProperties &property)
{
if (diagram())
{
QString text = autonum::AssignVariables::formulaToLabel(m_properties.m_formula, m_autoNum_seq, diagram());
QString text = autonum::AssignVariables::formulaToLabel(m_properties.m_formula, m_autoNum_seq, diagram(), nullptr, this);
m_properties.text = text;
}
else if (m_properties.text.isEmpty())
Expand Down

0 comments on commit 667d258

Please sign in to comment.