diff --git a/sources/conductorautonumerotation.cpp b/sources/conductorautonumerotation.cpp index 2f05671c4..547c3aa5c 100644 --- a/sources/conductorautonumerotation.cpp +++ b/sources/conductorautonumerotation.cpp @@ -23,7 +23,6 @@ #include "diagram.h" #include "qet.h" #include "qetdiagrameditor.h" -#include "qetgraphicsitem/conductor.h" #include "ui/potentialselectordialog.h" /** @@ -221,32 +220,36 @@ void ConductorAutoNumerotation::numeratePotential() */ void ConductorAutoNumerotation::numerateNewConductor() { - if (!m_conductor || m_diagram->conductorsAutonumName().isEmpty()) + if (m_conductor) { return; + } - NumerotationContext context = m_diagram->project()->conductorAutoNum( - m_diagram -> conductorsAutonumName()); - if (context.isEmpty()) - return; + if (!m_diagram->conductorsAutonumName().isEmpty()) + { + NumerotationContext context = m_diagram->project()->conductorAutoNum( + m_diagram -> conductorsAutonumName()); + if (context.isEmpty()) + return; - QString autoNum_name = m_diagram->project()->conductorCurrentAutoNum(); - QString formula = autonum::numerotationContextToFormula(context); + QString autoNum_name = m_diagram->project()->conductorCurrentAutoNum(); + QString formula = autonum::numerotationContextToFormula(context); - ConductorProperties cp = m_conductor -> properties(); - cp.m_formula = formula; - m_conductor->setProperties(cp); + ConductorProperties cp = m_conductor -> properties(); + cp.m_formula = formula; + m_conductor->setProperties(cp); - autonum::setSequential(formula, - m_conductor->rSequenceNum(), - context, - m_diagram, - autoNum_name); + autonum::setSequential(formula, + m_conductor->rSequenceNum(), + context, + m_diagram, + autoNum_name); - NumerotationContextCommands ncc (context, m_diagram); - m_diagram->project()->addConductorAutoNum(autoNum_name, ncc.next()); + NumerotationContextCommands ncc (context, m_diagram); + m_diagram->project()->addConductorAutoNum(autoNum_name, ncc.next()); + } applyText(autonum::AssignVariables::formulaToLabel( - formula, - m_conductor->rSequenceNum(), - m_diagram)); + m_conductor->properties().m_formula, + m_conductor->rSequenceNum(), + m_diagram)); } diff --git a/sources/conductorautonumerotation.h b/sources/conductorautonumerotation.h index d2ca68405..333c09a2b 100644 --- a/sources/conductorautonumerotation.h +++ b/sources/conductorautonumerotation.h @@ -19,11 +19,12 @@ #define CONDUCTORAUTONUMEROTATION_H #include "autoNum/assignvariables.h" +#include "qetgraphicsitem/conductor.h" #include +#include class Diagram; -class Conductor; class QUndoCommand; class ConductorProperties; @@ -52,7 +53,7 @@ class ConductorAutoNumerotation //attributes Diagram *m_diagram; - Conductor *m_conductor; + QPointer m_conductor; QList conductor_list; QUndoCommand *m_parent_undo; };