Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --- src/core/applications/application.cpp
- +++ src/core/applications/application.cpp
- @@ -237,6 +237,10 @@ QString Application::getModuleText(Module module)
- return "TransmissionLineStructureDistances";
- case Module_TransmissionLineFinalSags:
- return "TransmissionLineFinalSags";
- + case Module_TransmissionLineCableType:
- + return "TransmissionLineCableType";
- + case Module_TransmissionLineInputOptions:
- + return "TransmissionLineInputOptions";
- case Module_TransmissionLineMinimumPhaseGroundStructureDistance:
- return "TransmissionLineMinimumPhaseGroundStructureDistance";
- case Module_TransmissionLinePercentualDischarges:
- --- src/core/applications/application.h
- +++ src/core/applications/application.h
- @@ -80,6 +80,8 @@ public:
- Module_TransmissionLineCleareance,
- Module_TransmissionLineStructureDistances,
- Module_TransmissionLineFinalSags,
- + Module_TransmissionLineCableType,
- + Module_TransmissionLineInputOptions,
- Module_TransmissionLineMinimumPhaseGroundStructureDistance,
- Module_TransmissionLinePercentualDischarges,
- Module_TransmissionLineFaultClearTime,
- --- src/core/applications/windpressure.cpp
- +++ src/core/applications/windpressure.cpp
- @@ -30,6 +30,8 @@ WindPressure::WindPressure(Project *project) :
- m_modules[Module_TransmissionLineCleareance] = true;
- m_modules[Module_TransmissionLineStructureDistances] = true;
- m_modules[Module_TransmissionLineFinalSags] = true;
- + m_modules[Module_TransmissionLineCableType] = true;
- + m_modules[Module_TransmissionLineInputOptions] = true;
- }
- bool WindPressure::calculate(QString &error)
- --- src/core/transmissionline.cpp
- +++ src/core/transmissionline.cpp
- @@ -1,6 +1,8 @@
- #include "transmissionline.h"
- #include <util/utm.h>
- #include <util/settings.h>
- +#include "core/database.h"
- +#include "core/cabletype.h"
- #include "project.h"
- #include "tower.h"
- #include "towertype.h"
- @@ -51,6 +53,7 @@ void TransmissionLine::load(QSettings *settings)
- m_towerWindSpan = settings->value("towerWindSpan").toString();
- m_minimumTemperature = settings->value("minimumTemperature").toString();
- m_averageTemperature = settings->value("averageTemperature").toString();
- + m_operatingTemperature = settings->value("operatingTemperature").toString();
- m_windTemperature = settings->value("windTemperature").toString();
- m_minimumAltitude = settings->value("minimumAltitude").toString();
- m_terrainCategory = static_cast<TerrainCategory>(settings->value("terrainCategory").toInt());
- @@ -62,6 +65,9 @@ void TransmissionLine::load(QSettings *settings)
- m_distanceConductorSW = settings->value("distanceConductorSW").toString();
- m_finalSagAtOperatingTemperature = settings->value("finalSagAtOperatingTemperature").toString();
- m_finalSagAtAverageTemperature = settings->value("finalSagAtAverageTemperature").toString();
- + uint cableTypeId = settings->value("cableId", 0).toUInt();
- + m_cableType = g_database->getCableById(cableTypeId);
- + m_inputOption = settings->value("inputOption").toString();
- m_transposed = settings->value("transposed", false).toBool();
- m_maxCircuits = settings->value("maxCircuits", 1).toInt();
- @@ -196,6 +202,7 @@ void TransmissionLine::save(QSettings *settings, bool saveTemporary)
- settings->setValue("towerWindSpan", m_towerWindSpan);
- settings->setValue("minimumTemperature", m_minimumTemperature);
- settings->setValue("averageTemperature", m_averageTemperature);
- + settings->setValue("operatingTemperature", m_operatingTemperature);
- settings->setValue("windTemperature", m_windTemperature);
- settings->setValue("minimumAltitude", m_minimumAltitude);
- settings->setValue("terrainCategory", m_terrainCategory);
- @@ -207,6 +214,11 @@ void TransmissionLine::save(QSettings *settings, bool saveTemporary)
- settings->setValue("distanceConductorSW", m_distanceConductorSW);
- settings->setValue("finalSagAtOperatingTemperature", m_finalSagAtOperatingTemperature);
- settings->setValue("finalSagAtAverageTemperature", m_finalSagAtAverageTemperature);
- + if(CableTypePtr cableType = m_cableType.lock())
- + settings->setValue("cableId", cableType->getId());
- + else
- + settings->setValue("cableId", 0);
- + settings->setValue("inputOption", m_inputOption);
- settings->setValue("ignored", m_ignored);
- settings->beginGroup("RiskFailureGaps");
- --- src/core/transmissionline.h
- +++ src/core/transmissionline.h
- @@ -120,6 +120,7 @@ public:
- void setTowerWindSpan(const QString& towerWindSpan) { m_towerWindSpan = towerWindSpan; }
- void setMinimumTemperature(const QString& minimumTemperature) { m_minimumTemperature = minimumTemperature; }
- void setAverageTemperature(const QString& averageTemperature) { m_averageTemperature = averageTemperature; }
- + void setOperatingTemperature(const QString& operatingTemperature) { m_operatingTemperature = operatingTemperature; }
- void setWindTemperature(const QString& windTemperature) { m_windTemperature = windTemperature; }
- void setMinimumAltitude(const QString& minimumAltitude) { m_minimumAltitude = minimumAltitude; }
- void setTerrainCategory(TerrainCategory terrainCategory) { m_terrainCategory = terrainCategory; }
- @@ -131,6 +132,8 @@ public:
- void setDistanceConductorSW(const QString& distanceConductorSW) { m_distanceConductorSW = distanceConductorSW; }
- void setFinalSagAtOperationTemperature(const QString& finalSagAtOperatingTemperature) { m_finalSagAtOperatingTemperature = finalSagAtOperatingTemperature; }
- void setFinalSagAtAverageTemperature(const QString& finalSagAtAverageTemperature) { m_finalSagAtAverageTemperature = finalSagAtAverageTemperature; }
- + void setCableType(const CableTypePtr& cableType) { m_cableType = cableType; }
- + void setInputOption(const QString& inputOption) { m_inputOption = inputOption; }
- void setAverageElevation(const QString& elevation);
- void setAverageGroundResistance(const QString& groundResistance);
- @@ -182,6 +185,8 @@ public:
- QString getMinimumTemperatureText() const { return m_minimumTemperature; }
- double getAverageTemperature() const { return m_averageTemperature.toDouble(); }
- QString getAverageTemperatureText() const { return m_averageTemperature; }
- + double getOperatingTemperature() const { return m_operatingTemperature.toDouble(); }
- + QString getOperatingTemperatureText() const { return m_operatingTemperature; }
- double getWindTemperature() const { return m_windTemperature.toDouble(); }
- QString getWindTemperatureText() const { return m_windTemperature; }
- double getMinimumAltitude() const { return m_minimumAltitude.toDouble(); }
- @@ -203,6 +208,8 @@ public:
- QString getFinalSagAtOperatingTemperatureText() const { return m_finalSagAtOperatingTemperature; }
- double getFinalSagAtAverageTemperature() const { return m_finalSagAtAverageTemperature.toDouble(); }
- QString getFinalSagAtAverageTemperatureText() const { return m_finalSagAtAverageTemperature; }
- + CableTypePtr getCableType() { return m_cableType.lock(); }
- + QString getInputOption() { return m_inputOption; }
- double getAverageElevation();
- double getAverageGroundResistance();
- @@ -261,6 +268,7 @@ private:
- QString m_towerWindSpan;
- QString m_minimumTemperature;
- QString m_averageTemperature;
- + QString m_operatingTemperature;
- QString m_windTemperature;
- QString m_minimumAltitude;
- TerrainCategory m_terrainCategory = TerrainCategory_A;
- @@ -272,6 +280,8 @@ private:
- QString m_distanceConductorSW;
- QString m_finalSagAtOperatingTemperature;
- QString m_finalSagAtAverageTemperature;
- + CableTypeWeakPtr m_cableType;
- + QString m_inputOption;
- bool m_ignored = false;
- // Output variables
- --- src/views/transmissionlinesview.cpp
- +++ src/views/transmissionlinesview.cpp
- @@ -1,6 +1,8 @@
- #include "transmissionlinesview.h"
- #include "inputview.h"
- #include "riskfailuregapview.h"
- +#include "core/database.h"
- +#include "core/cabletype.h"
- #include <core/project.h>
- #include <core/substation.h>
- #include <core/transmissionline.h>
- @@ -112,7 +114,9 @@ TransmissionLinesView::TransmissionLinesView(InputView *parent) :
- m_minimumTemperature = new InputLineEdit(InputLineEdit::Real);
- m_averageTemperatureLabel = new QLabel(tr("Average"));
- m_averageTemperature = new InputLineEdit(InputLineEdit::Real);
- - m_windTemperatureLabel = new QLabel(tr("Coincident with wind"));
- + m_operatingTemperatureLabel = new QLabel(tr("Operating"));
- + m_operatingTemperature = new InputLineEdit(InputLineEdit::Real);
- + m_windTemperatureLabel = new QLabel(tr("Wind temperature") + QString(" (%1C)").arg(QChar(0x00B0)));
- m_windTemperature = new InputLineEdit(InputLineEdit::Real);
- m_minimumAltitudeLabel = new QLabel(tr("Minimum altitude") + " (m)");
- m_minimumAltitude = new InputLineEdit(InputLineEdit::GreaterEqual, 0.0);
- @@ -145,7 +149,14 @@ TransmissionLinesView::TransmissionLinesView(InputView *parent) :
- m_finalSagAtAverageTemperatureLabel = new QLabel(tr("At average temperature"));
- m_finalSagAtAverageTemperature = new InputLineEdit(InputLineEdit::GreaterThan, 0.0);
- m_finalSagHelpButton = new HelpButton(tr("If these fields are left blank, the program will calculate them."));
- -
- + m_cablesLabel = new QLabel(tr("Cable code"));
- + m_cables = new QComboBox();
- + m_inputOptionsLabel = new QLabel(tr("Input option"));
- + m_inputOptions = new QComboBox();
- + connect(m_inputOptions, SIGNAL(currentIndexChanged(QString)), this, SLOT(updateOptionsVisibility()));
- + m_inputOptions->addItem(tr("Final sags"));
- + m_inputOptions->addItem(tr("Cable condition temperatures"));
- + m_inputOptionsHelpButton = new HelpButton(tr("You can either enter the final sags, or the cable condition temperatures. If you choose the second option, the final sags are going to be calculated."));
- int row = 0;
- gridLayout->addWidget(new QLabel(tr("Name")), row, 0);
- @@ -205,8 +216,8 @@ TransmissionLinesView::TransmissionLinesView(InputView *parent) :
- temperaturesLayout->addWidget(m_minimumTemperature, 1);
- temperaturesLayout->addWidget(m_averageTemperatureLabel);
- temperaturesLayout->addWidget(m_averageTemperature, 1);
- - temperaturesLayout->addWidget(m_windTemperatureLabel);
- - temperaturesLayout->addWidget(m_windTemperature, 1);
- + temperaturesLayout->addWidget(m_operatingTemperatureLabel);
- + temperaturesLayout->addWidget(m_operatingTemperature, 1);
- QHBoxLayout *structureLayout = new QHBoxLayout;
- structureLayout->addWidget(m_distanceConductorsInfSupLabel);
- @@ -224,8 +235,8 @@ TransmissionLinesView::TransmissionLinesView(InputView *parent) :
- gridLayout->addWidget(m_averageSpan, row++, 1);
- gridLayout->addWidget(m_towerWindSpanLabel, row, 0);
- gridLayout->addWidget(m_towerWindSpan, row++, 1);
- - gridLayout->addWidget(m_temperaturesLabel, row, 0);
- - gridLayout->addLayout(temperaturesLayout, row++, 1);
- + gridLayout->addWidget(m_windTemperatureLabel, row, 0);
- + gridLayout->addWidget(m_windTemperature, row++, 1);
- gridLayout->addWidget(m_minimumAltitudeLabel, row, 0);
- gridLayout->addWidget(m_minimumAltitude, row++, 1);
- gridLayout->addWidget(m_terrainCategoryLabel, row, 0);
- @@ -241,9 +252,16 @@ TransmissionLinesView::TransmissionLinesView(InputView *parent) :
- gridLayout->addWidget(m_clearance, row++, 1);
- gridLayout->addWidget(m_structureDistances, row, 0);
- gridLayout->addLayout(structureLayout, row++, 1);
- + gridLayout->addWidget(m_cablesLabel, row, 0);
- + gridLayout->addWidget(m_cables, row++, 1);
- + gridLayout->addWidget(m_inputOptionsLabel, row, 0);
- + gridLayout->addWidget(m_inputOptions, row, 1);
- + gridLayout->addWidget(m_inputOptionsHelpButton, row++, 2);
- gridLayout->addWidget(m_finalsSags, row, 0);
- gridLayout->addLayout(finalSagLayout, row, 1);
- gridLayout->addWidget(m_finalSagHelpButton, row++, 2);
- + gridLayout->addWidget(m_temperaturesLabel, row, 0);
- + gridLayout->addLayout(temperaturesLayout, row++, 1);
- connect(m_name, SIGNAL(textEdited(QString)), this, SLOT(nameEdited(QString)));
- connect(g_project, SIGNAL(projectPreSave()), this, SLOT(preSave()));
- @@ -253,6 +271,20 @@ TransmissionLinesView::TransmissionLinesView(InputView *parent) :
- updateWidgetsVisibility();
- }
- +void TransmissionLinesView::updateFromDatabase()
- +{
- + QVector<CableTypePtr> cables = g_database->getCables();
- + qSort(cables.begin(), cables.end(), [](const CableTypePtr& a, const CableTypePtr& b) {
- + return a->getCode() < b->getCode();
- + });
- +
- + m_cables->blockSignals(true);
- + m_cables->clear();
- + for(const CableTypePtr& cable : cables)
- + m_cables->addItem(cable->getCode(), cable->getId());
- + m_cables->blockSignals(false);
- +}
- +
- void TransmissionLinesView::updateFromProject(int index)
- {
- const QVector<TransmissionLinePtr>& transmissionLines = g_project->getTransmissionLines();
- @@ -320,6 +352,7 @@ void TransmissionLinesView::updateFromProject(int index)
- m_towerWindSpan->setText(tl->getTowerWindSpanText());
- m_minimumTemperature->setText(tl->getMinimumTemperatureText());
- m_averageTemperature->setText(tl->getAverageTemperatureText());
- + m_operatingTemperature->setText(tl->getOperatingTemperatureText());
- m_windTemperature->setText(tl->getWindTemperatureText());
- m_minimumAltitude->setText(tl->getMinimumAltitudeText());
- m_terrainCategory->setCurrentIndex(tl->getTerrainCategory());
- @@ -331,6 +364,15 @@ void TransmissionLinesView::updateFromProject(int index)
- m_distanceConductorsSW->setText(tl->getDistanceConductorSWText());
- m_finalSagAtOperatingTemperature->setText(tl->getFinalSagAtOperatingTemperatureText());
- m_finalSagAtAverageTemperature->setText(tl->getFinalSagAtAverageTemperatureText());
- + int cableTypeIndex = -1;
- + if(CableTypePtr cableType = tl->getCableType())
- + cableTypeIndex = m_cables->findData(cableType->getId());
- + m_cables->setCurrentIndex(cableTypeIndex);
- + int inputOption = 0;
- + if(!tl->getInputOption().isEmpty())
- + inputOption = m_inputOptions->findText(tl->getInputOption());
- + m_inputOptions->setCurrentIndex(inputOption);
- + updateOptionsVisibility();
- }
- void TransmissionLinesView::updateToProject(int index)
- @@ -365,6 +407,7 @@ void TransmissionLinesView::updateToProject(int index)
- tl->setTowerWindSpan(m_towerWindSpan->text());
- tl->setMinimumTemperature(m_minimumTemperature->text());
- tl->setAverageTemperature(m_averageTemperature->text());
- + tl->setOperatingTemperature(m_operatingTemperature->text());
- tl->setWindTemperature(m_windTemperature->text());
- tl->setMinimumAltitude(m_minimumAltitude->text());
- tl->setTerrainCategory(static_cast<TerrainCategory>(m_terrainCategory->currentData().toInt()));
- @@ -376,12 +419,17 @@ void TransmissionLinesView::updateToProject(int index)
- tl->setDistanceConductorSW(m_distanceConductorsSW->text());
- tl->setFinalSagAtOperationTemperature(m_finalSagAtOperatingTemperature->text());
- tl->setFinalSagAtAverageTemperature(m_finalSagAtAverageTemperature->text());
- + uint cableTypeId = m_cables->currentData().toUInt();
- + tl->setCableType(g_database->getCableById(cableTypeId));
- + tl->setInputOption(m_inputOptions->currentText());
- m_riskFailure->updateToProject();
- }
- void TransmissionLinesView::showEvent(QShowEvent *)
- {
- + updateFromDatabase();
- +
- TransmissionLinePtr tl = m_inputView->getTransmissionLine();
- updateFromProject(g_project->getTransmissionLineIndex(tl));
- }
- @@ -495,6 +543,8 @@ void TransmissionLinesView::updateWidgetsVisibility()
- m_minimumTemperature->setVisible(showWindPressureTemperatures);
- m_averageTemperatureLabel->setVisible(showWindPressureTemperatures);
- m_averageTemperature->setVisible(showWindPressureTemperatures);
- + m_operatingTemperatureLabel->setVisible(showWindPressureTemperatures);
- + m_operatingTemperature->setVisible(showWindPressureTemperatures);
- m_windTemperatureLabel->setVisible(showWindPressureTemperatures);
- m_windTemperature->setVisible(showWindPressureTemperatures);
- @@ -537,6 +587,37 @@ void TransmissionLinesView::updateWidgetsVisibility()
- m_finalSagAtAverageTemperatureLabel->setVisible(showFinalSags);
- m_finalSagAtAverageTemperature->setVisible(showFinalSags);
- m_finalSagHelpButton->setVisible(showFinalSags);
- +
- + bool showCableType = g_project->hasModule(Application::Module_TransmissionLineCableType);
- + m_cablesLabel->setVisible(showCableType);
- + m_cables->setVisible(showCableType);
- +
- + bool showInputOptions = g_project->hasModule(Application::Module_TransmissionLineInputOptions);
- + m_inputOptionsLabel->setVisible(showInputOptions);
- + m_inputOptions->setVisible(showInputOptions);
- + m_inputOptionsHelpButton->setVisible(showInputOptions);
- +}
- +
- +void TransmissionLinesView::updateOptionsVisibility()
- +{
- + bool option = false;
- + if(m_inputOptions->currentText() == "Cable condition temperatures")
- + option = true;
- +
- + m_temperaturesLabel->setVisible(option);
- + m_minimumTemperatureLabel->setVisible(option);
- + m_minimumTemperature->setVisible(option);
- + m_averageTemperatureLabel->setVisible(option);
- + m_averageTemperature->setVisible(option);
- + m_operatingTemperatureLabel->setVisible(option);
- + m_operatingTemperature->setVisible(option);
- +
- + m_finalsSags->setVisible(!option);
- + m_finalSagAtOperatingTemperatureLabel->setVisible(!option);
- + m_finalSagAtOperatingTemperature->setVisible(!option);
- + m_finalSagAtAverageTemperatureLabel->setVisible(!option);
- + m_finalSagAtAverageTemperature->setVisible(!option);
- + m_finalSagHelpButton->setVisible(!option);
- }
- void TransmissionLinesView::transmissionLineChanged(int currentIndex)
- --- src/views/transmissionlinesview.h
- +++ src/views/transmissionlinesview.h
- @@ -19,6 +19,7 @@ class TransmissionLinesView : public QScrollArea
- public:
- explicit TransmissionLinesView(InputView *parent = 0);
- + void updateFromDatabase();
- void updateFromProject(int index = -1);
- void updateToProject(int index);
- @@ -27,6 +28,7 @@ public:
- private slots:
- void updateWidgetsVisibility();
- + void updateOptionsVisibility();
- void transmissionLineChanged(int currentIndex);
- void nameEdited(QString name);
- void preSave();
- @@ -97,6 +99,8 @@ private:
- QLineEdit *m_minimumTemperature;
- QLabel *m_averageTemperatureLabel;
- QLineEdit *m_averageTemperature;
- + QLabel *m_operatingTemperatureLabel;
- + QLineEdit *m_operatingTemperature;
- QLabel *m_windTemperatureLabel;
- QLineEdit *m_windTemperature;
- QLabel *m_minimumAltitudeLabel;
- @@ -123,6 +127,11 @@ private:
- QLabel *m_finalSagAtAverageTemperatureLabel;
- QLineEdit *m_finalSagAtAverageTemperature;
- HelpButton *m_finalSagHelpButton;
- + QLabel *m_cablesLabel;
- + QComboBox *m_cables;
- + QLabel *m_inputOptionsLabel;
- + QComboBox *m_inputOptions;
- + HelpButton *m_inputOptionsHelpButton;
- InputView *m_inputView;
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement