Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --- assets/reports/documents/conductorbundle.lhtml
- +++ assets/reports/documents/conductorbundle.lhtml
- @@ -300,7 +300,7 @@ end
- </p>
- <br/>
- <p class="MsoNormal">
- - Considerando-se os cuidados de lançamento e grampeamento dos cabos condutores em LT’s de extra alta tensão, é usual, nos projetos atuais, se utilizar o valor típico de fator de superfície de 0,85.
- + Considerando-se os cuidados de lançamento e grampeamento dos cabos condutores em LT’s de extra alta tensão, é usual, nos projetos atuais, se utilizar o valor típico de fator de superfície de <?= circuit.conductorSurfaceFactor ?>.
- </p>
- <br/>
- <p class="MsoNormal">
- @@ -333,8 +333,30 @@ end
- <? bookmarkIndexTable["_TranspositionTl".. tlIndex] = "6."..tlIndex ?>
- <?= include('word/header', {name = transmissionLine.name, bookmark = "_TranspositionTl".. tlIndex, level = 2}) ?>
- + <?
- + local sequenceFullLoad = Matrix.new(0, 0)
- + local sequenceNoLoad = Matrix.new(0, 0)
- +
- + sequenceFullLoad = transmissionLine.voltageSequenceFullLoad
- + sequenceNoLoad = transmissionLine.voltageSequenceNoLoad
- +
- + local c = 1
- + local i = (3 * (c-1)) + 1
- + ?>
- +
- <p class="MsoNormal">
- - Cada trecho da LT terá um ciclo completo de transposição, com trechos de 1/6, 1/3, 1/3 e 1/6 do comprimento total, a partir das SE’s.
- + <? if tonumber(transmissionLine.length) > 100 then ?>
- + Como essa LT tem comprimento maior que 100km, cada trecho da LT terá um ciclo completo de transposição, com trechos de 1/6, 1/3, 1/3 e 1/6 do comprimento total, a partir das SE’s.
- + <? elseif #transmissionLine.circuits > 1 then ?>
- + Como essa LT tem mais de 1 circuito, cada trecho da LT terá um ciclo completo de transposição, com trechos de 1/6, 1/3, 1/3 e 1/6 do comprimento total, a partir das SE’s.
- + <? elseif 100. * (Complex.fromTable(sequenceNoLoad[i+0][1]) / Complex.fromTable(sequenceNoLoad[i+1][1])):abs() > 1.5
- + or 100. * (Complex.fromTable(sequenceNoLoad[i+2][1]) / Complex.fromTable(sequenceNoLoad[i+1][1])):abs() > 1.5
- + or 100. * (Complex.fromTable(sequenceFullLoad[i+0][1]) / Complex.fromTable(sequenceFullLoad[i+1][1])):abs() > 1.5
- + or 100. * (Complex.fromTable(sequenceFullLoad[i+2][1]) / Complex.fromTable(sequenceFullLoad[i+1][1])):abs() > 1.5 then ?>
- + Como essa LT ultrapassou o limite do desequilibrio em componetes de sequência de tensão que é de 1.5%, cada trecho da LT terá um ciclo completo de transposição, com trechos de 1/6, 1/3, 1/3 e 1/6 do comprimento total, a partir das SE’s.
- + <? else ?>
- + Como essa LT tem comprimento ≤ 100km, apenas 1 circuito e o desequilibrio em componentes de sequeência de tenção dentro dos limites recomendados (≤1.5%), então não será necessário a realização da transposição.
- + <? end ?>
- </p>
- <br/>
- <? end ?>
- --- src/core/applications/application.cpp
- +++ src/core/applications/application.cpp
- @@ -277,6 +277,10 @@ QString Application::getModuleText(Module module)
- return "CableTypeUnitPrice";
- case Module_CableTypeCrossSection:
- return "CableTypeCrossSection";
- + case Module_CableInitialElasticModulus:
- + return "CableInitialElasticModulus";
- + case Module_CableLinearExpansionCoeff:
- + return "CableLinearExpansionCoeff";
- case Module_AtmosphericDischarges:
- return "AtmosphericDischarges";
- case Module_AudibleNoise:
- @@ -299,6 +303,8 @@ QString Application::getModuleText(Module module)
- return "PLSCADDTools";
- case Module_ShieldWireDesign:
- return "ShieldWireDesign";
- + case Module_SagTensionSubstation:
- + return "SagTensionSubstation";
- case Module_Last:
- return "Last";
- }
- --- src/core/applications/application.h
- +++ src/core/applications/application.h
- @@ -103,6 +103,8 @@ public:
- Module_CableTypeLinearWeight,
- Module_CableTypeUnitPrice,
- Module_CableTypeTensileStrength,
- + Module_CableInitialElasticModulus,
- + Module_CableLinearExpansionCoeff,
- Module_AtmosphericDischarges,
- Module_AudibleNoise,
- Module_CurrentDistribuition,
- @@ -114,6 +116,7 @@ public:
- Module_RiskFailure,
- Module_PLSCADDTools,
- Module_ShieldWireDesign,
- + Module_SagTensionSubstation,
- Module_Last
- };
- --- src/core/applications/sagtensionsubstation.cpp
- +++ src/core/applications/sagtensionsubstation.cpp
- @@ -12,9 +12,12 @@ SagTensionSubstation::SagTensionSubstation(Project *project) :
- m_modules[Module_Project] = true;
- m_modules[Module_Report] = true;
- m_modules[Module_TransmissionLine] = true;
- + m_modules[Module_SagTensionSubstation] = true;
- m_modules[Module_CableTypeCrossSection] = true;
- m_modules[Module_CableTypeLinearWeight] = true;
- m_modules[Module_CableTypeTensileStrength] = true;
- + m_modules[Module_CableInitialElasticModulus] = true;
- + m_modules[Module_CableLinearExpansionCoeff] = true;
- //m_modules[Module_CableSag] = true;
- //m_modules[Module_TransmissionLineSpans] = true;
- m_leftChain = new InsulatingChain();
- @@ -36,6 +39,13 @@ void SagTensionSubstation::load(QSettings *settings)
- m_cableCount = settings->value("cableCount", "1").toString();
- uint cableTypeId = settings->value("cableTypeId", 0).toUInt();
- m_cableType = g_database->getCableById(cableTypeId);
- + m_windTemperature = settings->value("windTemperature").toString();
- + m_minimumTemperature = settings->value("minimumTemperature").toString();
- + m_windPressure = settings->value("windPressure").toString();
- + m_maximumHorizontalTension = settings->value("maximumHorizontalTension").toString();
- + m_initialTemperature = settings->value("initialTemperature").toString();
- + m_finalTemperature = settings->value("finalTemperature").toString();
- + m_gapTemperature = settings->value("gapTemperature").toString();
- m_governingConditions.clear();
- int gSize = settings->beginReadArray("GoverningConditions");
- @@ -78,6 +88,14 @@ void SagTensionSubstation::save(QSettings *settings, bool saveTemporary)
- else
- settings->setValue("cableTypeId", 0);
- + settings->setValue("windTemperature", m_windTemperature);
- + settings->setValue("minimumTemperature", m_minimumTemperature);
- + settings->setValue("windPressure", m_windPressure);
- + settings->setValue("maximumHorizontalTension", m_maximumHorizontalTension);
- + settings->setValue("initialTemperature", m_initialTemperature);
- + settings->setValue("finalTemperature", m_finalTemperature);
- + settings->setValue("gapTemperature", m_gapTemperature);
- +
- settings->beginWriteArray("GoverningConditions");
- for(int i = 0; i < m_governingConditions.size(); ++i) {
- settings->setArrayIndex(i);
- --- src/core/applications/sagtensionsubstation.h
- +++ src/core/applications/sagtensionsubstation.h
- @@ -25,6 +25,13 @@ public:
- void setVerticalDistance(const QString& verticalDistance) { m_verticalDistance = verticalDistance; }
- void setCableCount(const QString& cableCount) { m_cableCount = cableCount; }
- void setCableType(CableTypePtr cableType) { m_cableType = cableType; }
- + void setWindTemperature(QString& windTemperature) { m_windTemperature = windTemperature; }
- + void setMinimumTemperature(QString& minimumTemperature) { m_minimumTemperature = minimumTemperature; }
- + void setWindPressure(QString& windPressure) { m_windPressure = windPressure; }
- + void setMaximumHorizontalTension(QString& maximumHorizontalTension) { m_maximumHorizontalTension = maximumHorizontalTension; }
- + void setInitialTemperature(QString& initialTemperature) { m_initialTemperature = initialTemperature; }
- + void setFinalTemperature(QString& finalTemperature) { m_finalTemperature = finalTemperature; }
- + void setGapTemperature(QString& gapTemperature) { m_gapTemperature = gapTemperature; }
- void setLeftChain(InsulatingChain *leftChain) { m_leftChain = leftChain; }
- void setRightChain(InsulatingChain *rightChain) { m_rightChain = rightChain; }
- @@ -35,6 +42,20 @@ public:
- double getCableCount() { return m_cableCount.toDouble(); }
- QString getCableCountText() { return m_cableCount; }
- CableTypePtr getCableType() { return m_cableType.lock(); }
- + double getWindTemperature() { return m_windTemperature.toDouble(); }
- + QString getWindTemperatureText() { return m_windTemperature; }
- + double getMinimumTemperature() { return m_minimumTemperature.toDouble(); }
- + QString getMinimumTemperatureText() { return m_minimumTemperature; }
- + double getWindPressure() { return m_windPressure.toDouble(); }
- + QString getWindPressureText() { return m_windPressure; }
- + double getMaximumHorizontalTension() { return m_maximumHorizontalTension.toDouble(); }
- + QString getMaximumHorizontalTensionText() { return m_maximumHorizontalTension; }
- + double getInitialTemperature() { return m_initialTemperature.toDouble(); }
- + QString getInitialTemperatureText() { return m_initialTemperature; }
- + double getFinalTemperature() { return m_finalTemperature.toDouble(); }
- + QString getFinalTemperatureText() { return m_finalTemperature; }
- + double getGapTemperature() { return m_gapTemperature.toDouble(); }
- + QString getGapTemperatureText() { return m_gapTemperature; }
- QVector<CableCondition*>& getGoverningConditions() { return m_governingConditions; }
- QVector<CableCondition*>& getLoadings() { return m_loadings; }
- InsulatingChain *getLeftChain() { return m_leftChain; }
- @@ -47,9 +68,15 @@ private:
- QString m_span = "100";
- QString m_verticalDistance = "0";
- -
- QString m_cableCount = "1";
- CableTypeWeakPtr m_cableType;
- + QString m_windTemperature;
- + QString m_minimumTemperature;
- + QString m_windPressure;
- + QString m_maximumHorizontalTension;
- + QString m_initialTemperature;
- + QString m_finalTemperature;
- + QString m_gapTemperature;
- QVector<CableCondition*> m_governingConditions;
- QVector<CableCondition*> m_loadings;
- --- src/core/cabletype.cpp
- +++ src/core/cabletype.cpp
- @@ -36,6 +36,7 @@ void CableType::load(QSettings *settings)
- m_relativeWirePermeability = settings->value("relativeWirePermeability").toString();
- m_initialElasticModulus = settings->value("initialElasticModulus").toString();
- m_finalElasticModulus = settings->value("finalElasticModulus").toString();
- + m_linearExpansionCoeff = settings->value("linearExpansionCoeff").toString();
- m_conductivity = settings->value("conductivity").toString();
- m_acResistance = settings->value("acResistance").toString();
- m_acResistanceTemperature = settings->value("acResistanceTemperature").toString();
- @@ -67,6 +68,7 @@ void CableType::save(QSettings *settings, bool saveTemporary)
- settings->setValue("relativeWirePermeability", m_relativeWirePermeability);
- settings->setValue("initialElasticModulus", m_initialElasticModulus);
- settings->setValue("finalElasticModulus", m_finalElasticModulus);
- + settings->setValue("linearExpansionCoeff", m_linearExpansionCoeff);
- settings->setValue("conductivity", m_conductivity);
- settings->setValue("acResistance", m_acResistance);
- settings->setValue("acResistanceTemperature", m_acResistanceTemperature);
- --- src/core/cabletype.h
- +++ src/core/cabletype.h
- @@ -33,6 +33,7 @@ public:
- QString getRelativeWirePermeabilityText() { return m_relativeWirePermeability; }
- QString getInitialElasticModulusText() { return m_initialElasticModulus; }
- QString getFinalElasticModulusText() { return m_finalElasticModulus; }
- + QString getLinearExpansionCoeffText() { return m_linearExpansionCoeff; }
- QString getConductivityText() { return m_conductivity; }
- double getACResistance() { return m_acResistance.toDouble(); }
- QString getACResistanceText() { return m_acResistance; }
- @@ -76,6 +77,7 @@ public:
- void setRelativeWirePermeabilityText(const QString& relativeWirePermeability) { m_relativeWirePermeability = relativeWirePermeability; }
- void setInitialElasticModulusText(const QString& elasticModulus) { m_initialElasticModulus = elasticModulus; }
- void setFinalElasticModulusText(const QString& elasticModulus) { m_finalElasticModulus = elasticModulus; }
- + void setLinearExpansionCoeff(const QString& linearExpansionCoeff) { m_linearExpansionCoeff = linearExpansionCoeff; }
- void setConductivityText(const QString& conductivity) { m_conductivity = conductivity; }
- void setACResistanceText(const QString& acResistance) { m_acResistance = acResistance; }
- void setACResistanceTemperatureText(const QString& acResistanceTemperature) { m_acResistanceTemperature = acResistanceTemperature; }
- @@ -108,6 +110,7 @@ private:
- QString m_relativeWirePermeability;
- QString m_initialElasticModulus;
- QString m_finalElasticModulus;
- + QString m_linearExpansionCoeff;
- QString m_conductivity;
- QString m_acResistance;
- QString m_acResistanceTemperature;
- --- src/views/cabletypeview.cpp
- +++ src/views/cabletypeview.cpp
- @@ -89,6 +89,7 @@ CableTypeView::CableTypeView(QWidget *parent, CableCategory category) :
- m_relativeWirePermeabilityLabel = new QLabel(tr("Relative wire permeability"));
- m_initialElasticModulusLabel = new QLabel(tr("Initial modulus of elasticity") + QString(" (kgf/mm%1)").arg(QChar(0x00B2)));
- m_finalElasticModulusLabel = new QLabel(tr("Final modulus of elasticity") + QString(" (kgf/mm%1)").arg(QChar(0x00B2)));
- + m_linearExpansionCoeffLabel = new QLabel(tr("Coefficient of linear expansion") + QString(" (1/%1C)").arg(QChar(0x00B0)));
- m_conductivityLabel = new QLabel(tr("Conductivity") + " (S/m)");
- m_acResistanceLabel = new QLabel(tr("AC resistance") + QString(" (%1/km)").arg(QChar(0x2126)));
- m_acResistanceTemperatureLabel = new QLabel(tr("Temperature") + QString(" (%1C)").arg(QChar(0x00B0)));
- @@ -113,6 +114,7 @@ CableTypeView::CableTypeView(QWidget *parent, CableCategory category) :
- m_relativeWirePermeability = new InputLineEdit(InputLineEdit::GreaterEqual, 0.0, true);
- m_initialElasticModulus = new InputLineEdit(InputLineEdit::GreaterEqual, 0.0, true);
- m_finalElasticModulus = new InputLineEdit(InputLineEdit::GreaterEqual, 0.0, true);
- + m_linearExpansionCoeff = new InputLineEdit(InputLineEdit::None, 0.0, true);
- m_conductivity = new InputLineEdit(InputLineEdit::GreaterEqual, 0.0, true);
- m_acResistance = new InputLineEdit(InputLineEdit::GreaterEqual, 0.0, true);
- m_acResistanceTemperature = new InputLineEdit(InputLineEdit::GreaterEqual, 0.0, true);
- @@ -200,6 +202,8 @@ CableTypeView::CableTypeView(QWidget *parent, CableCategory category) :
- gridLayout->addWidget(m_initialElasticModulus, row++, 1, 1, 7);
- gridLayout->addWidget(m_finalElasticModulusLabel, row, 0);
- gridLayout->addWidget(m_finalElasticModulus, row++, 1, 1, 7);
- + gridLayout->addWidget(m_linearExpansionCoeffLabel, row, 0);
- + gridLayout->addWidget(m_linearExpansionCoeff, row++, 1, 1, 7);
- gridLayout->addWidget(m_conductivityLabel, row, 0);
- gridLayout->addWidget(m_conductivity, row++, 1, 1, 7);
- gridLayout->addWidget(m_acResistanceLabel, row, 0);
- @@ -280,6 +284,7 @@ void CableTypeView::updateFromDatabase(int index, int id)
- m_relativeWirePermeability->setText(cable->getRelativeWirePermeabilityText());
- m_initialElasticModulus->setText(cable->getInitialElasticModulusText());
- m_finalElasticModulus->setText(cable->getFinalElasticModulusText());
- + m_linearExpansionCoeff->setText(cable->getLinearExpansionCoeffText());
- m_conductivity->setText(cable->getConductivityText());
- m_acResistance->setText(cable->getACResistanceText());
- m_acResistanceTemperature->setText(cable->getACResistanceTemperatureText());
- @@ -332,6 +337,7 @@ void CableTypeView::updateToDatabase(int index)
- cable->setRelativeWirePermeabilityText(m_relativeWirePermeability->text());
- cable->setInitialElasticModulusText(m_initialElasticModulus->text());
- cable->setFinalElasticModulusText(m_finalElasticModulus->text());
- + cable->setLinearExpansionCoeff(m_linearExpansionCoeff->text());
- cable->setConductivityText(m_conductivity->text());
- cable->setACResistanceText(m_acResistance->text());
- cable->setACResistanceTemperatureText(m_acResistanceTemperature->text());
- @@ -373,7 +379,7 @@ void CableTypeView::showAllToggle(bool showAll)
- m_relativeWirePermeabilityLabel->setVisible(showRelativeWirePermeability);
- m_relativeWirePermeability->setVisible(showRelativeWirePermeability);
- - bool showInitialElasticModulus = showAll;
- + bool showInitialElasticModulus = showAll || g_project->hasModule(Application::Module_CableInitialElasticModulus);
- m_initialElasticModulusLabel->setVisible(showInitialElasticModulus);
- m_initialElasticModulus->setVisible(showInitialElasticModulus);
- @@ -381,6 +387,10 @@ void CableTypeView::showAllToggle(bool showAll)
- m_finalElasticModulusLabel->setVisible(showFinalElasticModulus);
- m_finalElasticModulus->setVisible(showFinalElasticModulus);
- + bool showLinearExpansionCoeff = showAll || g_project->hasModule(Application::Module_CableLinearExpansionCoeff);
- + m_linearExpansionCoeffLabel->setVisible(showLinearExpansionCoeff);
- + m_linearExpansionCoeff->setVisible(showLinearExpansionCoeff);
- +
- bool showConductivity = showAll;
- m_conductivityLabel->setVisible(showConductivity);
- m_conductivity->setVisible(showConductivity);
- --- src/views/cabletypeview.h
- +++ src/views/cabletypeview.h
- @@ -45,6 +45,7 @@ private:
- QLabel *m_relativeWirePermeabilityLabel;
- QLabel *m_initialElasticModulusLabel;
- QLabel *m_finalElasticModulusLabel;
- + QLabel *m_linearExpansionCoeffLabel;
- QLabel *m_conductivityLabel;
- QLabel *m_acResistanceLabel;
- QLabel *m_acResistanceTemperatureLabel;
- @@ -70,6 +71,7 @@ private:
- QLineEdit *m_relativeWirePermeability;
- QLineEdit *m_initialElasticModulus;
- QLineEdit *m_finalElasticModulus;
- + QLineEdit *m_linearExpansionCoeff;
- QLineEdit *m_conductivity;
- QLineEdit *m_acResistance;
- QLineEdit *m_acResistanceTemperature;
- --- src/views/inputview.cpp
- +++ src/views/inputview.cpp
- @@ -11,6 +11,7 @@
- #include "pipelineinductionview.h"
- #include "substationsview.h"
- #include "substationbarview.h"
- +#include "sagtensionsubstationview.h"
- #include "transmissionlinesview.h"
- #include "towersview.h"
- #include "circuitsview.h"
- @@ -67,6 +68,9 @@ InputView::InputView(QWidget *parent) :
- insertTab(new TowersView(this), tr("Structures"), "towers", tlTab);
- }
- + if(g_project->hasModule(Application::Module_SagTensionSubstation))
- + insertTab(new SagTensionSubstationView(this), tr("Sag Tension"), "sagTensionSubstaion");
- +
- if(g_project->hasModule(Application::Module_AudibleNoise))
- insertTab(new AudibleNoiseView(this), tr("Audible Noise"), "audibleNoise");
- --- src/views/sagtensionsubstationview.cpp
- +++ src/views/sagtensionsubstationview.cpp
- @@ -6,6 +6,7 @@
- #include "inputview.h"
- #include <widgets/inputlineedit.h>
- #include <widgets/combobox.h>
- +#include <core/insulatingchain.h>
- #include <QGridLayout>
- #include <QDialog>
- #include <QMessageBox>
- @@ -48,16 +49,23 @@ SagTensionSubstationView::SagTensionSubstationView(InputView *parent) :
- m_maximumHorizontalTensionLabel = new QLabel(tr("Maximum horizontal tension") + " (kgf)");
- m_maximumHorizontalTension = new InputLineEdit(InputLineEdit::GreaterThan, 0.0, true);
- m_temperaturesLabel = new QLabel(tr("Temperatures") + QString(" (%1C)").arg(QChar(0x00B0)));
- - m_initialTemperatureLabel = new QLabel(tr("Initial temperature"));
- + m_initialTemperatureLabel = new QLabel(tr("Initial"));
- m_initialTemperature = new InputLineEdit();
- - m_finalTemperatureLabel = new QLabel(tr("Final temperature"));
- + m_finalTemperatureLabel = new QLabel(tr("Final"));
- m_finalTemperature = new InputLineEdit();
- m_gapTemperatureLabel = new QLabel(tr("Gap"));
- m_gapTemperature = new InputLineEdit();
- - m_insulatingChain1 = new TableWidget(0, 5);
- - m_insulatingChain1->setHorizontalHeaderLabels({tr("Identification"), tr("Weight") + " (kgf)", tr("Area") + QString(" (mm%1)").arg(QChar(0x00B2)), tr("Length") + " (mm)", tr("Amount")});
- - m_insulatingChain2 = new TableWidget(0, 5);
- - m_insulatingChain2->setHorizontalHeaderLabels({tr("Identification"), tr("Weight") + " (kgf)", tr("Area") + QString(" (mm%1)").arg(QChar(0x00B2)), tr("Length") + " (mm)", tr("Amount")});
- + m_insulatingLeftChain = new TableWidget(0, 5);
- + m_insulatingLeftChain->setHorizontalHeaderLabels({tr("Identification"), tr("Weight") + " (kgf)", tr("Area") + QString(" (mm%1)").arg(QChar(0x00B2)), tr("Length") + " (mm)", tr("Amount")});
- + connect(m_insulatingLeftChain, &TableWidget::rowAdded, [this](int index){ tableRowAdded(index, Left); });
- + connect(m_insulatingLeftChain, &TableWidget::rowRemoved, [this](int index){ tableRowRemoved(index, Left); });
- + connect(m_insulatingLeftChain, &TableWidget::cellChanged, [this](int, int column){ tableCellChanged(column, Left);});
- +
- + m_insulatingRightChain = new TableWidget(0, 5);
- + m_insulatingRightChain->setHorizontalHeaderLabels({tr("Identification"), tr("Weight") + " (kgf)", tr("Area") + QString(" (mm%1)").arg(QChar(0x00B2)), tr("Length") + " (mm)", tr("Amount")});
- + connect(m_insulatingRightChain, &TableWidget::rowAdded, [this](int index){ tableRowAdded(index, Right); });
- + connect(m_insulatingRightChain, &TableWidget::rowRemoved, [this](int index){ tableRowRemoved(index, Right); });
- + connect(m_insulatingRightChain, &TableWidget::cellChanged, [this](int, int column){ tableCellChanged(column, Right);});
- QHBoxLayout *horizontalLayout = new QHBoxLayout;
- horizontalLayout->addWidget(m_span, 1);
- @@ -102,10 +110,10 @@ SagTensionSubstationView::SagTensionSubstationView(InputView *parent) :
- row = 0;
- verticalLayout->addWidget(new QLabel("<b>" + tr("Insulating Chain") + " 1</b>"), row++, 0);
- tableLayout1->addWidget(new QLabel("Structure\n |\n |\n |\n |\n |\n Cable"),row, 0);
- - tableLayout1->addWidget(m_insulatingChain1, row++, 1);//corrigor espaçamento das colunas
- + tableLayout1->addWidget(m_insulatingLeftChain, row++, 1);//corrigor espaçamento das colunas
- verticalLayout->addLayout(tableLayout1);
- - QPushButton *copyButton = new QPushButton(tr("Copy"));
- + QPushButton *copyButton = new QPushButton(tr("Copy from insulating chain 1"));
- connect(copyButton, SIGNAL(clicked(bool)), this, SLOT(copyButtonClicked()));
- QHBoxLayout *horizontalLayoutTable = new QHBoxLayout;
- @@ -115,7 +123,7 @@ SagTensionSubstationView::SagTensionSubstationView(InputView *parent) :
- row = 0;
- verticalLayout->addLayout(horizontalLayoutTable);
- tableLayout2->addWidget(new QLabel("Structure\n |\n |\n |\n |\n |\n Cable"),row, 0);
- - tableLayout2->addWidget(m_insulatingChain2, row++, 1);
- + tableLayout2->addWidget(m_insulatingRightChain, row++, 1);
- verticalLayout->addLayout(tableLayout2);
- connect(g_project, SIGNAL(projectPreSave()), this, SLOT(preSave()));
- @@ -149,12 +157,21 @@ void SagTensionSubstationView::updateToProject()
- sagTensionSubstation->setCableType(g_database->getCableById(cableId));
- }
- sagTensionSubstation->setCableCount(m_cableCount->text());
- - //wind temperature
- - //minimum temp
- - //wnd pressure
- - //maximum horizontal tension
- - //temperatures (initial, final, gap)
- - //InsulatingChin
- + sagTensionSubstation->setWindTemperature(m_windTemperature->text());
- + sagTensionSubstation->setMinimumTemperature(m_minimumTemperature->text());
- + sagTensionSubstation->setWindPressure(m_windPressure->text());
- + sagTensionSubstation->setMaximumHorizontalTension(m_maximumHorizontalTension->text());
- + sagTensionSubstation->setInitialTemperature(m_initialTemperature->text());
- + sagTensionSubstation->setFinalTemperature(m_finalTemperature->text());
- + sagTensionSubstation->setGapTemperature(m_gapTemperature->text());
- +
- + InsulatingChain *leftChain = new InsulatingChain();
- + leftChain->setParts(generateParts(true));
- + sagTensionSubstation->setLeftChain(leftChain);
- +
- + InsulatingChain *rightChain = new InsulatingChain();
- + rightChain->setParts(generateParts(false));
- + sagTensionSubstation->setRightChain(rightChain);
- }
- void SagTensionSubstationView::updateFromProject()
- @@ -180,16 +197,130 @@ void SagTensionSubstationView::updateFromProject()
- cableIndex = m_cables->findData(cableType->getId());
- m_cables->setCurrentIndex(cableIndex);
- m_cables->blockSignals(false);
- - m_cableCount->setText(sagTensionSubstation->getCableCountText());//...
- - //wind temperature
- - //minimum temp
- - //wnd pressure
- - //maximum horizontal tension
- - //temperatures (initial, final, gap)
- - //InsulatingChin
- + m_cableCount->setText(sagTensionSubstation->getCableCountText());
- + m_windTemperature->setText(sagTensionSubstation->getWindTemperatureText());
- + m_minimumTemperature->setText(sagTensionSubstation->getMinimumTemperatureText());
- + m_windPressure->setText(sagTensionSubstation->getWindPressureText());
- + m_maximumHorizontalTension->setText(sagTensionSubstation->getMaximumHorizontalTensionText());
- + m_initialTemperature->setText(sagTensionSubstation->getInitialTemperatureText());
- + m_finalTemperature->setText(sagTensionSubstation->getFinalTemperatureText());
- + m_gapTemperature->setText(sagTensionSubstation->getGapTemperatureText());
- +
- + QVector<InsulatingChainPart*> leftParts = sagTensionSubstation->getLeftChain()->getParts();
- + m_insulatingLeftChain->setRowCount(leftParts.count());
- + int row = 0;
- + for(InsulatingChainPart *part : leftParts)
- + createInsulatingChainRow(row++, part, true);
- +
- + QVector<InsulatingChainPart*> rightParts = sagTensionSubstation->getRightChain()->getParts();
- + m_insulatingRightChain->setRowCount(rightParts.count());
- + row = 0;
- + for(InsulatingChainPart *part : rightParts)
- + createInsulatingChainRow(row++, part, false);
- }
- void SagTensionSubstationView::copyButtonClicked()
- {
- + m_insulatingRightChain->setRowCount(m_insulatingLeftChain->rowCount());
- + for(int row = 0; row < m_insulatingLeftChain->rowCount(); row++) {
- + for(int col = 0; col < m_insulatingLeftChain->columnCount(); col++) {
- + QTableWidgetItem *item = m_insulatingLeftChain->item(row, col);
- + if(item) {
- + QTableWidgetItem *copy = new QTableWidgetItem(*item);
- + m_insulatingRightChain->setItem(row, col, copy);
- + }
- + }
- + }
- +}
- +
- +void SagTensionSubstationView::createInsulatingChainRow(int row, InsulatingChainPart *part, bool left)
- +{
- + int col = 0;
- + if(left) {
- + m_insulatingLeftChain->setItem(row, col++, new QTableWidgetItem(part->getDescription()));
- + m_insulatingLeftChain->setItem(row, col++, new QTableWidgetItem(part->getWeightText()));
- + m_insulatingLeftChain->setItem(row, col++, new QTableWidgetItem(part->getLengthText()));
- + m_insulatingLeftChain->setItem(row, col++, new QTableWidgetItem(part->getAreaText()));
- + m_insulatingLeftChain->setItem(row, col++, new QTableWidgetItem(part->getRepeatText()));
- + } else {
- + m_insulatingRightChain->setItem(row, col++, new QTableWidgetItem(part->getDescription()));
- + m_insulatingRightChain->setItem(row, col++, new QTableWidgetItem(part->getWeightText()));
- + m_insulatingRightChain->setItem(row, col++, new QTableWidgetItem(part->getLengthText()));
- + m_insulatingRightChain->setItem(row, col++, new QTableWidgetItem(part->getAreaText()));
- + m_insulatingRightChain->setItem(row, col++, new QTableWidgetItem(part->getRepeatText()));
- + }
- +
- +}
- +
- +void SagTensionSubstationView::tableRowAdded(int row, bool left)
- +{
- + if(left)
- + m_insulatingLeftChain->insertRow(row);
- + else
- + m_insulatingRightChain->insertRow(row);
- +}
- +void SagTensionSubstationView::tableRowRemoved(int row, bool left)
- +{
- + if(left)
- + m_insulatingLeftChain->removeRow(row);
- + else
- + m_insulatingRightChain->removeRow(row);
- +}
- +
- +void SagTensionSubstationView::tableCellChanged(int col, bool left)
- +{
- + if(left)
- + m_insulatingLeftChain->resizeColumnToContents(col);
- + else
- + m_insulatingRightChain->resizeColumnToContents(col);
- +}
- +
- +QVector<InsulatingChainPart*> SagTensionSubstationView::generateParts(bool left)
- +{
- + QVector<InsulatingChainPart*> parts;
- + if(left) {
- + for(int row = 0; row < m_insulatingLeftChain->rowCount(); row++) {
- + int col = 0;
- + QString description, weight, length, area, repeat;
- + if(m_insulatingLeftChain->item(row, col))
- + description = m_insulatingLeftChain->item(row, col)->text();
- +
- + if(m_insulatingLeftChain->item(row, ++col))
- + weight = m_insulatingLeftChain->item(row, col)->text();
- +
- + if(m_insulatingLeftChain->item(row, ++col))
- + length = m_insulatingLeftChain->item(row, col)->text();
- +
- + if(m_insulatingLeftChain->item(row, ++col))
- + area = m_insulatingLeftChain->item(row, col)->text();
- +
- + if(m_insulatingLeftChain->item(row, ++col))
- + repeat = m_insulatingLeftChain->item(row, col)->text();
- +
- + parts.append(new InsulatingChainPart(description, weight, length, area, repeat));
- + }
- + } else {
- + for(int row = 0; row < m_insulatingRightChain->rowCount(); row++) {
- + int col = 0;
- + QString description, weight, length, area, repeat;
- + if(m_insulatingRightChain->item(row, col))
- + description = m_insulatingRightChain->item(row, col)->text();
- +
- + if(m_insulatingRightChain->item(row, ++col))
- + weight = m_insulatingRightChain->item(row, col)->text();
- +
- + if(m_insulatingRightChain->item(row, ++col))
- + length = m_insulatingRightChain->item(row, col)->text();
- +
- + if(m_insulatingRightChain->item(row, ++col))
- + area = m_insulatingRightChain->item(row, col)->text();
- +
- + if(m_insulatingRightChain->item(row, ++col))
- + repeat = m_insulatingRightChain->item(row, col)->text();
- +
- + parts.append(new InsulatingChainPart(description, weight, length, area, repeat));
- + }
- + }
- + return parts;
- }
- --- src/views/sagtensionsubstationview.h
- +++ src/views/sagtensionsubstationview.h
- @@ -7,6 +7,7 @@
- #include <QInputDialog>
- #include <QLabel>
- #include "widgets/tablewidget.h"
- +#include "core/insulatingchain.h"
- class InputView;
- class ComboBox;
- @@ -26,8 +27,19 @@ private slots:
- void preSave();
- void load();
- void copyButtonClicked();
- + void tableRowAdded(int row, bool left);
- + void tableRowRemoved(int row, bool left);
- + void tableCellChanged(int col, bool left);
- private:
- + enum Side {
- + Right,
- + Left,
- + };
- +
- + void createInsulatingChainRow(int row, InsulatingChainPart *part, bool left);
- + QVector<InsulatingChainPart*> generateParts(bool left);
- +
- QLabel *m_spanLabel;
- QLineEdit *m_span;
- QLabel *m_verticalDistanceLabel;
- @@ -51,8 +63,8 @@ private:
- QLineEdit *m_finalTemperature;
- QLabel *m_gapTemperatureLabel;
- QLineEdit *m_gapTemperature;
- - TableWidget *m_insulatingChain1; //check TableWidget *m_governmentConditions;
- - TableWidget *m_insulatingChain2;
- + TableWidget *m_insulatingLeftChain; //check TableWidget *m_governmentConditions;
- + TableWidget *m_insulatingRightChain;//resizeColumnsToContents();
- InputView *m_inputView;
- };
- --- src/views/views.pro
- +++ src/views/views.pro
- @@ -61,7 +61,8 @@ HEADERS = \
- cablesagview.h \
- reports/conductorbundlereportview.h \
- profilegraphview.h \
- - profilegraph.h
- + profilegraph.h \
- + sagtensionsubstationview.h
- SOURCES = \
- audiblenoiseview.cpp \
- @@ -117,7 +118,8 @@ SOURCES = \
- cablesagview.cpp \
- reports/conductorbundlereportview.cpp \
- profilegraphview.cpp \
- - profilegraph.cpp
- + profilegraph.cpp \
- + sagtensionsubstationview.cpp
- TEMPLATE = lib
- TARGET = views
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement