Skip to content

Commit

Permalink
+Menüoption Anzeigen/Ausblenden Betriebsstellennamen
Browse files Browse the repository at this point in the history
  • Loading branch information
zusitools committed Sep 11, 2023
1 parent d4e2bc7 commit b055898
Show file tree
Hide file tree
Showing 5 changed files with 50 additions and 4 deletions.
15 changes: 14 additions & 1 deletion mainwindow.cpp
Expand Up @@ -139,6 +139,19 @@ void MainWindow::actionVisualisierungTriggered()
this->ui->streckeView->centerOn(centerPoint);
}

void MainWindow::actionAnsichtBetriebsstellennamenToggled(bool checked)
{
m_zeigeBetriebsstellen = checked;

// Transformation und Scroll-Position speichern und wiederherstellen
const auto& transform = this->ui->streckeView->transform();
const auto& viewport = this->ui->streckeView->viewport();
const auto& centerPoint = this->ui->streckeView->mapToScene(viewport->width() / 2, viewport->height() / 2);
aktualisiereDarstellung();
this->ui->streckeView->setTransform(transform);
this->ui->streckeView->centerOn(centerPoint);
}

void MainWindow::dragEnterEvent(QDragEnterEvent *e)
{
if (e->mimeData()->hasUrls()) {
Expand Down Expand Up @@ -393,7 +406,7 @@ void MainWindow::aktualisiereDarstellung()

QTime timer;
timer.start();
this->m_streckeScene.reset(new StreckeScene(this->m_streckennetz, *visualisierung));
this->m_streckeScene.reset(new StreckeScene(this->m_streckennetz, *visualisierung, m_zeigeBetriebsstellen));
qDebug() << timer.elapsed() << "ms zum Erstellen der Segmente";
ui->streckeView->setScene(this->m_streckeScene.get());

Expand Down
3 changes: 3 additions & 0 deletions mainwindow.h
Expand Up @@ -30,6 +30,7 @@ public slots:
void actionOrdnerOeffnenTriggered();
void actionOrdnerAnfuegenTriggered();
void actionVisualisierungTriggered();
void actionAnsichtBetriebsstellennamenToggled(bool checked);

protected:
virtual void dragEnterEvent(QDragEnterEvent *e) override;
Expand All @@ -44,6 +45,8 @@ public slots:
std::unique_ptr<StreckeScene> m_streckeScene;
std::unique_ptr<QGraphicsScene> m_legendeScene;

bool m_zeigeBetriebsstellen{true};

void setzeAnsichtZurueck();

/** Oeffnet Streckendateien und fuegt sie zur Liste der offenen Strecken hinzu. */
Expand Down
30 changes: 30 additions & 0 deletions mainwindow.ui
Expand Up @@ -104,6 +104,8 @@
</property>
<addaction name="actionVergroessern"/>
<addaction name="actionVerkleinern"/>
<addaction name="separator"/>
<addaction name="actionAnsichtBetriebsstellennamen"/>
</widget>
<addaction name="menuDatei"/>
<addaction name="menuVisualisierung"/>
Expand Down Expand Up @@ -151,6 +153,17 @@
<string>S&amp;treckenordner anfügen ...</string>
</property>
</action>
<action name="actionAnsichtBetriebsstellennamen">
<property name="checkable">
<bool>true</bool>
</property>
<property name="checked">
<bool>true</bool>
</property>
<property name="text">
<string>&amp;Betriebsstellennamen</string>
</property>
</action>
<actiongroup name="actiongroupVisualisierung">
<action name="actionVisualisierungGleisfunktion">
<property name="checkable">
Expand Down Expand Up @@ -296,11 +309,28 @@
</hint>
</hints>
</connection>
<connection>
<sender>actionAnsichtBetriebsstellennamen</sender>
<signal>toggled(bool)</signal>
<receiver>MainWindow</receiver>
<slot>actionAnsichtBetriebsstellennamenToggled(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>511</x>
<y>383</y>
</hint>
</hints>
</connection>
</connections>
<slots>
<slot>actionOeffnenTriggered()</slot>
<slot>actionModulOeffnenTriggered()</slot>
<slot>actionOrdnerOeffnenTriggered()</slot>
<slot>actionOrdnerAnfuegenTriggered()</slot>
<slot>actionAnsichtBetriebsstellennamenToggled(bool)</slot>
</slots>
</ui>
4 changes: 2 additions & 2 deletions view/streckescene.cpp
Expand Up @@ -14,7 +14,7 @@
#include <cmath>
#include <unordered_map>

StreckeScene::StreckeScene(const Streckennetz& streckennetz, Visualisierung& visualisierung, QObject *parent) :
StreckeScene::StreckeScene(const Streckennetz& streckennetz, Visualisierung& visualisierung, bool zeigeBetriebsstellen, QObject *parent) :
QGraphicsScene(parent)
{
size_t anzahlSegmente = 0, anzahlStreckenelemente = 0;
Expand Down Expand Up @@ -138,7 +138,7 @@ StreckeScene::StreckeScene(const Streckennetz& streckennetz, Visualisierung& vis
si->moveBy(utm_dx, utm_dy);
this->addItem(si.release());

if (static_cast<SignalTyp>(signal->SignalTyp) != SignalTyp::Vorsignal && !signal->NameBetriebsstelle.empty())
if (zeigeBetriebsstellen && (static_cast<SignalTyp>(signal->SignalTyp) != SignalTyp::Vorsignal) && !signal->NameBetriebsstelle.empty())
{
if (betriebsstellenKoordinaten.find(signal->NameBetriebsstelle) == betriebsstellenKoordinaten.end())
{
Expand Down
2 changes: 1 addition & 1 deletion view/streckescene.h
Expand Up @@ -17,7 +17,7 @@ class StreckeScene : public QGraphicsScene
Q_OBJECT
public:
explicit StreckeScene(const Streckennetz& streckennetz,
Visualisierung& visualisierung, QObject *parent = nullptr);
Visualisierung& visualisierung, bool zeigeBetriebsstellen, QObject *parent = nullptr);

signals:

Expand Down

0 comments on commit b055898

Please sign in to comment.