Compare commits

..

3 Commits

Author SHA1 Message Date
57bfbaa5b2 RELEASE 2025-09-29 21:25:36 +02:00
0edaace3ec ui components snake_case 2025-09-29 21:18:56 +02:00
7a86b34c17 icon in toolbar FIX 2025-09-29 16:39:49 +02:00
10 changed files with 207 additions and 205 deletions

View File

@ -6,10 +6,10 @@ Congratulations! You just built a plugin for QGIS!<br/><br />
<div id='help' style='font-size:.9em;'> <div id='help' style='font-size:.9em;'>
Your plugin <b>Pegelonline</b> was created in:<br> Your plugin <b>Pegelonline</b> was created in:<br>
&nbsp;&nbsp;<b>~/PycharmProjects/pegelonline</b> &nbsp;&nbsp;<b>/home/katrin/PycharmProjects/pegelonline</b>
<p> <p>
Your QGIS plugin directory is located at:<br> Your QGIS plugin directory is located at:<br>
&nbsp;&nbsp;<b>~/.local/share/QGIS/QGIS3/profiles/default/python/plugins</b> &nbsp;&nbsp;<b>/home/katrin/.local/share/QGIS/QGIS3/profiles/default/python/plugins</b>
<p> <p>
<h3>What's Next</h3> <h3>What's Next</h3>
<ol> <ol>

View File

@ -1,10 +1,10 @@
Plugin Builder Results Plugin Builder Results
Your plugin Pegelonline was created in: Your plugin Pegelonline was created in:
~/PycharmProjects/pegelonline /home/katrin/PycharmProjects/pegelonline
Your QGIS plugin directory is located at: Your QGIS plugin directory is located at:
~/.local/share/QGIS/QGIS3/profiles/default/python/plugins /home/katrin/.local/share/QGIS/QGIS3/profiles/default/python/plugins
What's Next: What's Next:

View File

@ -23,6 +23,11 @@
This script initializes the plugin, making it known to QGIS. This script initializes the plugin, making it known to QGIS.
""" """
from . import resources
# Sonst wird das Icon in der Toolbar nicht angezeigt
print(resources.__doc__)
# noinspection PyPep8Naming # noinspection PyPep8Naming
def classFactory(iface): # pylint: disable=invalid-name def classFactory(iface): # pylint: disable=invalid-name

BIN
icon.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -44,7 +44,7 @@ name: pegelonline
# Full path to where you want your plugin directory copied. If empty, # Full path to where you want your plugin directory copied. If empty,
# the QGIS default path will be used. Don't include the plugin name in # the QGIS default path will be used. Don't include the plugin name in
# the path. # the path.
plugin_path:/home/patrick/.local/share/QGIS/QGIS3/profiles/default/python/plugins plugin_path:/home/katrin/.local/share/QGIS/QGIS3/profiles/default/python/plugins
[files] [files]
# Python files that should be deployed with the plugin # Python files that should be deployed with the plugin

View File

@ -64,7 +64,7 @@ class Pegelonline:
# Declare instance attributes # Declare instance attributes
self.actions = [] self.actions = []
self.menu = self.tr(u'&Pegelonline') self.menu = self.tr(u'&Pegelonline')
# TODO: We are going to let the user set this up in a future iteration
self.toolbar = self.iface.addToolBar(u'Pegelonline') self.toolbar = self.iface.addToolBar(u'Pegelonline')
self.toolbar.setObjectName(u'Pegelonline') self.toolbar.setObjectName(u'Pegelonline')

View File

@ -61,7 +61,7 @@
<number>5</number> <number>5</number>
</property> </property>
<item> <item>
<widget class="QCheckBox" name="cbStationsVisible"> <widget class="QCheckBox" name="cb_stations_visible">
<property name="text"> <property name="text">
<string>Anzeigen (Download von Pegelonline)</string> <string>Anzeigen (Download von Pegelonline)</string>
</property> </property>
@ -100,21 +100,21 @@
<number>0</number> <number>0</number>
</property> </property>
<item> <item>
<widget class="QCheckBox" name="cbStationsNumber"> <widget class="QCheckBox" name="cb_stations_number">
<property name="text"> <property name="text">
<string>Nummer</string> <string>Nummer</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QCheckBox" name="cbStationsName"> <widget class="QCheckBox" name="cb_stations_name">
<property name="text"> <property name="text">
<string>Name</string> <string>Name</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QCheckBox" name="cbStationsAgency"> <widget class="QCheckBox" name="cb_stations_agency">
<property name="text"> <property name="text">
<string>Behörde</string> <string>Behörde</string>
</property> </property>
@ -141,14 +141,14 @@
<number>0</number> <number>0</number>
</property> </property>
<item> <item>
<widget class="QCheckBox" name="cbStationsWater"> <widget class="QCheckBox" name="cb_stations_water">
<property name="text"> <property name="text">
<string>Gewässername</string> <string>Gewässername</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QCheckBox" name="cbStationsKm"> <widget class="QCheckBox" name="cb_stations_km">
<property name="text"> <property name="text">
<string>Flusskilometer</string> <string>Flusskilometer</string>
</property> </property>
@ -193,7 +193,7 @@
<item> <item>
<layout class="QVBoxLayout" name="verticalLayout_11"> <layout class="QVBoxLayout" name="verticalLayout_11">
<item> <item>
<widget class="QRadioButton" name="rbStationsStylePreset"> <widget class="QRadioButton" name="rb_stations_style_preset">
<property name="text"> <property name="text">
<string>Vorgabe</string> <string>Vorgabe</string>
</property> </property>
@ -201,7 +201,7 @@
<bool>true</bool> <bool>true</bool>
</property> </property>
<attribute name="buttonGroup"> <attribute name="buttonGroup">
<string notr="true">bgStationsStyle</string> <string notr="true">cb_stations_style</string>
</attribute> </attribute>
</widget> </widget>
</item> </item>
@ -210,7 +210,7 @@
<item> <item>
<layout class="QVBoxLayout" name="verticalLayout_12"> <layout class="QVBoxLayout" name="verticalLayout_12">
<item> <item>
<widget class="QRadioButton" name="rbStationsStyleAgency"> <widget class="QRadioButton" name="rb_stations_style_agency">
<property name="text"> <property name="text">
<string>Behörde</string> <string>Behörde</string>
</property> </property>
@ -218,7 +218,7 @@
<bool>false</bool> <bool>false</bool>
</property> </property>
<attribute name="buttonGroup"> <attribute name="buttonGroup">
<string notr="true">bgStationsStyle</string> <string notr="true">cb_stations_style</string>
</attribute> </attribute>
</widget> </widget>
</item> </item>
@ -227,7 +227,7 @@
<item> <item>
<layout class="QVBoxLayout" name="verticalLayout_13"> <layout class="QVBoxLayout" name="verticalLayout_13">
<item> <item>
<widget class="QRadioButton" name="rbStationsStyleWater"> <widget class="QRadioButton" name="rb_stations_style_water">
<property name="text"> <property name="text">
<string>Gewässer</string> <string>Gewässer</string>
</property> </property>
@ -235,7 +235,7 @@
<bool>false</bool> <bool>false</bool>
</property> </property>
<attribute name="buttonGroup"> <attribute name="buttonGroup">
<string notr="true">bgStationsStyle</string> <string notr="true">cb_stations_style</string>
</attribute> </attribute>
</widget> </widget>
</item> </item>
@ -272,21 +272,21 @@
<number>5</number> <number>5</number>
</property> </property>
<item> <item>
<widget class="QToolButton" name="btnSelectRectangle"> <widget class="QToolButton" name="btn_select_rectangle">
<property name="text"> <property name="text">
<string>...</string> <string>...</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QToolButton" name="btnUnselectLayer"> <widget class="QToolButton" name="btn_unselect_layer">
<property name="text"> <property name="text">
<string>...</string> <string>...</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QToolButton" name="btnUnselectAll"> <widget class="QToolButton" name="btn_unselect_all">
<property name="text"> <property name="text">
<string>...</string> <string>...</string>
</property> </property>
@ -300,21 +300,21 @@
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QToolButton" name="btnZoomFullExtent"> <widget class="QToolButton" name="btn_zoom_full_extent">
<property name="text"> <property name="text">
<string>...</string> <string>...</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QToolButton" name="btnZoomToLayer"> <widget class="QToolButton" name="btn_zoom_to_layer">
<property name="text"> <property name="text">
<string>...</string> <string>...</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QToolButton" name="btnZoomToSelected"> <widget class="QToolButton" name="btn_zoom_to_selected">
<property name="text"> <property name="text">
<string>...</string> <string>...</string>
</property> </property>
@ -328,7 +328,7 @@
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QToolButton" name="btnMapTips"> <widget class="QToolButton" name="btn_map_tips">
<property name="text"> <property name="text">
<string>...</string> <string>...</string>
</property> </property>
@ -393,7 +393,7 @@
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QComboBox" name="slGraphStation"> <widget class="QComboBox" name="sl_graph_station">
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>false</bool>
</property> </property>
@ -406,7 +406,7 @@
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QPushButton" name="btnGraphStationsRefresh"> <widget class="QPushButton" name="btn_graph_stations_refresh">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Fixed"> <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<horstretch>0</horstretch> <horstretch>0</horstretch>
@ -448,7 +448,7 @@
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QSpinBox" name="numGraphDays"> <widget class="QSpinBox" name="num_graph_days">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed"> <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
<horstretch>0</horstretch> <horstretch>0</horstretch>
@ -473,7 +473,7 @@
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QPushButton" name="btnGraphLoad"> <widget class="QPushButton" name="btn_graph_load">
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>false</bool>
</property> </property>
@ -534,7 +534,7 @@
<number>5</number> <number>5</number>
</property> </property>
<item> <item>
<widget class="QCheckBox" name="cbWaterlevelsVisible"> <widget class="QCheckBox" name="cb_waterlevels_visible">
<property name="text"> <property name="text">
<string>Anzeigen (Download von Pegelonline)</string> <string>Anzeigen (Download von Pegelonline)</string>
</property> </property>
@ -567,28 +567,28 @@
<number>0</number> <number>0</number>
</property> </property>
<item> <item>
<widget class="QCheckBox" name="cbWaterlevelsNumber"> <widget class="QCheckBox" name="cb_waterlevels_number">
<property name="text"> <property name="text">
<string>Nummer</string> <string>Nummer</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QCheckBox" name="cbWaterlevelsName"> <widget class="QCheckBox" name="cb_waterlevels_name">
<property name="text"> <property name="text">
<string>Name</string> <string>Name</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QCheckBox" name="cbWaterlevelsAgency"> <widget class="QCheckBox" name="cb_waterlevels_agency">
<property name="text"> <property name="text">
<string>Behörde</string> <string>Behörde</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QCheckBox" name="cbWaterlevelsWater"> <widget class="QCheckBox" name="cb_waterlevels_water">
<property name="text"> <property name="text">
<string>Gewässername</string> <string>Gewässername</string>
</property> </property>
@ -602,28 +602,28 @@
<number>0</number> <number>0</number>
</property> </property>
<item> <item>
<widget class="QCheckBox" name="cbWaterlevelsTimestamp"> <widget class="QCheckBox" name="cb_waterlevels_timestamp">
<property name="text"> <property name="text">
<string>Zeitstempel</string> <string>Zeitstempel</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QCheckBox" name="cbWaterlevelsValue"> <widget class="QCheckBox" name="cb_waterlevels_value">
<property name="text"> <property name="text">
<string>Aktueller Pegel</string> <string>Aktueller Pegel</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QCheckBox" name="cbWaterlevelsMean"> <widget class="QCheckBox" name="cb_waterlevels_mean">
<property name="text"> <property name="text">
<string>MNW, MHW</string> <string>MNW, MHW</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QCheckBox" name="cbWaterlevelsAbsolute"> <widget class="QCheckBox" name="cb_waterlevels_absolute">
<property name="text"> <property name="text">
<string>NSW, HSW</string> <string>NSW, HSW</string>
</property> </property>
@ -673,7 +673,7 @@
<number>0</number> <number>0</number>
</property> </property>
<item> <item>
<widget class="QRadioButton" name="rbWaterlevelsStylePreset"> <widget class="QRadioButton" name="rb_waterlevels_style_preset">
<property name="text"> <property name="text">
<string>Vorgabe</string> <string>Vorgabe</string>
</property> </property>
@ -681,7 +681,7 @@
<bool>true</bool> <bool>true</bool>
</property> </property>
<attribute name="buttonGroup"> <attribute name="buttonGroup">
<string notr="true">bgWaterlevelsStyle</string> <string notr="true">cb_waterlevels_style</string>
</attribute> </attribute>
</widget> </widget>
</item> </item>
@ -718,17 +718,17 @@
<number>0</number> <number>0</number>
</property> </property>
<item> <item>
<widget class="QRadioButton" name="rbWaterlevelsStyleAgency"> <widget class="QRadioButton" name="rb_waterlevels_style_agency">
<property name="text"> <property name="text">
<string>Behörde</string> <string>Behörde</string>
</property> </property>
<attribute name="buttonGroup"> <attribute name="buttonGroup">
<string notr="true">bgWaterlevelsStyle</string> <string notr="true">cb_waterlevels_style</string>
</attribute> </attribute>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QRadioButton" name="rbWaterlevelsStyleWater"> <widget class="QRadioButton" name="rb_waterlevels_style_water">
<property name="text"> <property name="text">
<string>Gewässer</string> <string>Gewässer</string>
</property> </property>
@ -736,7 +736,7 @@
<bool>false</bool> <bool>false</bool>
</property> </property>
<attribute name="buttonGroup"> <attribute name="buttonGroup">
<string notr="true">bgWaterlevelsStyle</string> <string notr="true">cb_waterlevels_style</string>
</attribute> </attribute>
</widget> </widget>
</item> </item>
@ -761,22 +761,22 @@
<number>0</number> <number>0</number>
</property> </property>
<item> <item>
<widget class="QRadioButton" name="rbWaterlevelsStyleMean"> <widget class="QRadioButton" name="rb_waterlevels_style_mean">
<property name="text"> <property name="text">
<string>MNW, MHW</string> <string>MNW, MHW</string>
</property> </property>
<attribute name="buttonGroup"> <attribute name="buttonGroup">
<string notr="true">bgWaterlevelsStyle</string> <string notr="true">cb_waterlevels_style</string>
</attribute> </attribute>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QRadioButton" name="rbWaterlevelsStyleAbsolute"> <widget class="QRadioButton" name="rb_waterlevels_style_absolute">
<property name="text"> <property name="text">
<string>NSW, HSW</string> <string>NSW, HSW</string>
</property> </property>
<attribute name="buttonGroup"> <attribute name="buttonGroup">
<string notr="true">bgWaterlevelsStyle</string> <string notr="true">cb_waterlevels_style</string>
</attribute> </attribute>
</widget> </widget>
</item> </item>
@ -823,14 +823,14 @@
<number>5</number> <number>5</number>
</property> </property>
<item> <item>
<widget class="QCheckBox" name="cbBasemapLines"> <widget class="QCheckBox" name="cb_basemap_lines">
<property name="text"> <property name="text">
<string>Flüsse</string> <string>Flüsse</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QCheckBox" name="cbBasemapAreas"> <widget class="QCheckBox" name="cb_basemap_areas">
<property name="text"> <property name="text">
<string>Flächen</string> <string>Flächen</string>
</property> </property>
@ -845,7 +845,7 @@
<resources/> <resources/>
<connections/> <connections/>
<buttongroups> <buttongroups>
<buttongroup name="bgWaterlevelsStyle"/> <buttongroup name="cb_waterlevels_style"/>
<buttongroup name="bgStationsStyle"/> <buttongroup name="cb_stations_style"/>
</buttongroups> </buttongroups>
</ui> </ui>

View File

@ -53,20 +53,20 @@ class PegelonlineDockWidgetGraph(QtWidgets.QDockWidget, FORM_CLASS):
""" """
print("PegelonlineDockWidgetGraph::load: station=%s days=%s" % (station, days)) print("PegelonlineDockWidgetGraph::load: station=%s days=%s" % (station, days))
self.lbGraph.clear() self.lb_graph.clear()
self.setWindowTitle("%s / %d Tag(e)" % (station, days)) self.setWindowTitle("%s / %d Tag(e)" % (station, days))
self.show() self.show()
if station == '' or station is None: if station == '' or station is None:
# Keine Station ausgewählt → Abbruch # Keine Station ausgewählt → Abbruch
print("PegelonlineDockWidgetGraph::load: Fehler: Ungültige Station: %s" % (station,)) print("PegelonlineDockWidgetGraph::load: Fehler: Ungültige Station: %s" % (station,))
self.lbGraph.setText("Bitte Station wählen...") self.lb_graph.setText("Bitte Station wählen...")
return return
if days is None or days < 1 or days > 30: if days is None or days < 1 or days > 30:
# Ungültige Anzahl an Tagen ausgewählt → Abbruch # Ungültige Anzahl an Tagen ausgewählt → Abbruch
print("PegelonlineDockWidgetGraph::load: Fehler: Ungültige Anzahl von Tagen: %s" % (days,)) print("PegelonlineDockWidgetGraph::load: Fehler: Ungültige Anzahl von Tagen: %s" % (days,))
self.lbGraph.setText("Bitte Tage [1, 30] wählen...") self.lb_graph.setText("Bitte Tage [1, 30] wählen...")
return return
graph = PoGraphReader(station, days) graph = PoGraphReader(station, days)
@ -75,12 +75,12 @@ class PegelonlineDockWidgetGraph(QtWidgets.QDockWidget, FORM_CLASS):
if image_data is None or len(image_data) == 0: if image_data is None or len(image_data) == 0:
# Keine Bild-Daten beim Herunterladen erhalten → Abbruch # Keine Bild-Daten beim Herunterladen erhalten → Abbruch
print("PegelonlineDockWidgetGraph::load: Fehler: Keine Daten erhalten") print("PegelonlineDockWidgetGraph::load: Fehler: Keine Daten erhalten")
self.lbGraph.setText("Fehler beim Download!") self.lb_graph.setText("Fehler beim Download!")
return return
pixmap = QtGui.QPixmap() pixmap = QtGui.QPixmap()
pixmap.loadFromData(image_data) pixmap.loadFromData(image_data)
self.lbGraph.setPixmap(pixmap) self.lb_graph.setPixmap(pixmap)
self.lbGraph.resize(pixmap.width(), pixmap.height()) self.lb_graph.resize(pixmap.width(), pixmap.height())
print("PegelonlineDockWidgetGraph::load: Bild erfolgreich geladen") print("PegelonlineDockWidgetGraph::load: Bild erfolgreich geladen")

View File

@ -16,7 +16,7 @@
<widget class="QWidget" name="dockWidgetContents"> <widget class="QWidget" name="dockWidgetContents">
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QVBoxLayout" name="verticalLayout">
<item> <item>
<widget class="QLabel" name="lbGraph"> <widget class="QLabel" name="lb_graph">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred"> <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch> <horstretch>0</horstretch>

View File

@ -40,9 +40,6 @@ class PoRunner(object):
self.local_dir = os.path.dirname(os.path.realpath(__file__)) self.local_dir = os.path.dirname(os.path.realpath(__file__))
# während dem Aktualisieren der Stationsliste treten change-signale auf, die werden so abgefangen
self._graph_stations_lock = True
# Layer # Layer
self.stations = None self.stations = None
self.waterlevels = None self.waterlevels = None
@ -50,13 +47,13 @@ class PoRunner(object):
self.areas = None self.areas = None
# Standard Aktionen verbinden # Standard Aktionen verbinden
self.ui.btnZoomFullExtent.setDefaultAction(iface.actionZoomFullExtent()) self.ui.btn_zoom_full_extent.setDefaultAction(iface.actionZoomFullExtent())
self.ui.btnZoomToLayer.setDefaultAction(iface.actionZoomToLayer()) self.ui.btn_zoom_to_layer.setDefaultAction(iface.actionZoomToLayer())
self.ui.btnZoomToSelected.setDefaultAction(iface.actionZoomToSelected()) self.ui.btn_zoom_to_selected.setDefaultAction(iface.actionZoomToSelected())
self.ui.btnSelectRectangle.setDefaultAction(iface.actionSelectRectangle()) self.ui.btn_select_rectangle.setDefaultAction(iface.actionSelectRectangle())
self.ui.btnUnselectAll.setDefaultAction(iface.mainWindow().findChild(QAction, "mActionDeselectAll")) self.ui.btn_unselect_all.setDefaultAction(iface.mainWindow().findChild(QAction, "mActionDeselectAll"))
self.ui.btnUnselectLayer.setDefaultAction(iface.mainWindow().findChild(QAction, "mActionDeselectActiveLayer")) self.ui.btn_unselect_layer.setDefaultAction(iface.mainWindow().findChild(QAction, "mActionDeselectActiveLayer"))
self.ui.btnMapTips.setDefaultAction(iface.actionMapTips()) self.ui.btn_map_tips.setDefaultAction(iface.actionMapTips())
# Signale verbinden # Signale verbinden
self._basemap_connect_signals() self._basemap_connect_signals()
@ -111,15 +108,15 @@ class PoRunner(object):
Verbindet alle Basemap-Signale mit der UI Verbindet alle Basemap-Signale mit der UI
""" """
print("_connect_basemap_signals") print("_connect_basemap_signals")
self.ui.cbBasemapLines.toggled.connect(self._cbBasemapLines_toggled) self.ui.cb_basemap_lines.toggled.connect(self._cb_basemap_lines_toggled)
self.ui.cbBasemapAreas.toggled.connect(self._cbBasemapAreas_toggled) self.ui.cb_basemap_areas.toggled.connect(self._cb_basemap_areas_toggled)
def _cbBasemapLines_toggled(self): def _cb_basemap_lines_toggled(self):
""" """
Behandelt die Sichbarkeitsänderung der Flüsse durch die UI-Checkbox Behandelt die Sichbarkeitsänderung der Flüsse durch die UI-Checkbox
""" """
checked = self.ui.cbBasemapLines.isChecked() checked = self.ui.cb_basemap_lines.isChecked()
print("_cbBasemapLines_toggled: %s" % (checked,)) print("_cb_basemap_lines_toggled: %s" % (checked,))
if self.lines is None and checked: if self.lines is None and checked:
# Flüsse sind noch nicht als Layer geladen → Laden # Flüsse sind noch nicht als Layer geladen → Laden
@ -128,7 +125,7 @@ class PoRunner(object):
"Flüsse", "Flüsse",
self._basemap_disconnect_lines, self._basemap_disconnect_lines,
BASEMAP_MAP_TIPS, BASEMAP_MAP_TIPS,
self.ui.cbBasemapLines, self.ui.cb_basemap_lines,
) )
if self.lines is not None: if self.lines is not None:
@ -136,12 +133,12 @@ class PoRunner(object):
self._layer_set_visible(self.lines, checked) self._layer_set_visible(self.lines, checked)
self._layer_refresh(self.lines) self._layer_refresh(self.lines)
def _cbBasemapAreas_toggled(self): def _cb_basemap_areas_toggled(self):
""" """
Behandelt die Sichtbarkeitsänderung der Flächen durch die UI-Checkbox Behandelt die Sichtbarkeitsänderung der Flächen durch die UI-Checkbox
""" """
checked = self.ui.cbBasemapAreas.isChecked() checked = self.ui.cb_basemap_areas.isChecked()
print("_cbBasemapAreas_toggled: %s" % (checked,)) print("_cb_basemap_areas_toggled: %s" % (checked,))
if self.areas is None and checked: if self.areas is None and checked:
# Flächen sind noch nicht als Layer geladen → Laden # Flächen sind noch nicht als Layer geladen → Laden
@ -150,7 +147,7 @@ class PoRunner(object):
"Flächen", "Flächen",
self._basemap_disconnect_areas, self._basemap_disconnect_areas,
BASEMAP_MAP_TIPS, BASEMAP_MAP_TIPS,
self.ui.cbBasemapAreas, self.ui.cb_basemap_areas,
) )
if self.areas is not None: if self.areas is not None:
@ -164,7 +161,7 @@ class PoRunner(object):
""" """
print("_basemap_disconnect_lines") print("_basemap_disconnect_lines")
self.lines = None self.lines = None
self.ui.cbBasemapLines.setChecked(False) self.ui.cb_basemap_lines.setChecked(False)
def _basemap_disconnect_areas(self): def _basemap_disconnect_areas(self):
""" """
@ -172,7 +169,7 @@ class PoRunner(object):
""" """
print("_basemap_disconnect_areas") print("_basemap_disconnect_areas")
self.areas = None self.areas = None
self.ui.cbBasemapAreas.setChecked(False) self.ui.cb_basemap_areas.setChecked(False)
# stations ---------------------------------------------------------------- # stations ----------------------------------------------------------------
@ -181,48 +178,48 @@ class PoRunner(object):
Verbindet alle Stations-Signale mit der UI Verbindet alle Stations-Signale mit der UI
""" """
print("_connect_stations_signals") print("_connect_stations_signals")
self.ui.cbStationsVisible.toggled.connect(self._cbStationsVisible_toggled) self.ui.cb_stations_visible.toggled.connect(self._cb_stations_visible_toggled)
self.ui.cbStationsName.toggled.connect(self._cbStationsName_toggled) self.ui.cb_stations_name.toggled.connect(self._cb_stations_name_toggled)
self.ui.cbStationsNumber.toggled.connect(self._cbStationsNumber_toggled) self.ui.cb_stations_number.toggled.connect(self._cb_stations_number_toggled)
self.ui.cbStationsAgency.toggled.connect(self._cbStationsAgency_toggled) self.ui.cb_stations_agency.toggled.connect(self._cb_stations_agency_toggled)
self.ui.cbStationsKm.toggled.connect(self._cbStationsKm_toggled) self.ui.cb_stations_km.toggled.connect(self._cb_stations_km_toggled)
self.ui.cbStationsWater.toggled.connect(self._cbStationsWater_toggled) self.ui.cb_stations_water.toggled.connect(self._cb_stations_water_toggled)
self.ui.bgStationsStyle.buttonClicked.connect(self._bgStationsStyle_clicked) self.ui.cb_stations_style.buttonClicked.connect(self._cb_stations_style_clicked)
def _stations_apply_style(self): def _stations_apply_style(self):
""" """
Wendet eingestellte Styles auf den Stations-Layer an Wendet eingestellte Styles auf den Stations-Layer an
""" """
button = self.ui.bgStationsStyle.checkedButton() button = self.ui.cb_stations_style.checkedButton()
self._bgStationsStyle_clicked(button) self._cb_stations_style_clicked(button)
def _bgStationsStyle_clicked(self, button): def _cb_stations_style_clicked(self, button):
""" """
Behandlung eines Klicks auf einen der Stations-Style-Radio-Buttons Behandlung eines Klicks auf einen der Stations-Style-Radio-Buttons
Wendet Styles auf Stations-Layer an Wendet Styles auf Stations-Layer an
:param button: geklickter Radio-Button :param button: geklickter Radio-Button
:type button: QRadioButton :type button: QRadioButton
""" """
print("_bgStationsStyle_clicked: %s" % (button.objectName(),)) print("_cb_stations_style_clicked: %s" % (button.objectName(),))
if self.stations is None: if self.stations is None:
# Stations-Layer nicht geladen → Keine Änderung # Stations-Layer nicht geladen → Keine Änderung
return return
if self.ui.rbStationsStylePreset == button: if self.ui.rb_stations_style_preset == button:
# Vorgabe ausgewählt → lade aus Datei # Vorgabe ausgewählt → lade aus Datei
self._layer_apply_style_from_file(self.stations, STATIONS_QML) self._layer_apply_style_from_file(self.stations, STATIONS_QML)
return return
if self.ui.rbStationsStyleAgency == button: if self.ui.rb_stations_style_agency == button:
# Behörde ausgewählt # Behörde ausgewählt
field = "agency" field = "agency"
elif self.ui.rbStationsStyleWater == button: elif self.ui.rb_stations_style_water == button:
# Gewässer ausgewählt # Gewässer ausgewählt
field = "water" field = "water"
else: else:
# Programmierfehler: Unbekannter Button # Programmierfehler: Unbekannter Button
print("_bgStationsStyle_clicked: Style nicht implementiert: %s" % (button.objectName(),)) print("_cb_stations_style_clicked: Style nicht implementiert: %s" % (button.objectName(),))
self._layer_apply_style_from_file(self.stations, STATIONS_QML) self._layer_apply_style_from_file(self.stations, STATIONS_QML)
return return
@ -230,19 +227,19 @@ class PoRunner(object):
self.stations.setMapTipTemplate(STATIONS_MAP_TIPS) self.stations.setMapTipTemplate(STATIONS_MAP_TIPS)
self._layer_apply_style_per_category(self.stations, field, STATIONS_QML) self._layer_apply_style_per_category(self.stations, field, STATIONS_QML)
def _cbStationsVisible_toggled(self): def _cb_stations_visible_toggled(self):
""" """
Schaltet Sichtbarkeit des Stations-Layers um (und erstellt ihn, falls nötig) Schaltet Sichtbarkeit des Stations-Layers um (und erstellt ihn, falls nötig)
""" """
visible = self.ui.cbStationsVisible.isChecked() visible = self.ui.cb_stations_visible.isChecked()
print("_cbStationsVisible_toggled: %s" % (visible,)) print("_cb_stations_visible_toggled: %s" % (visible,))
if self.stations is None and visible: if self.stations is None and visible:
# Stationen sind noch nicht als Layer geladen → Laden # Stationen sind noch nicht als Layer geladen → Laden
reader = PoStationReaderQgs() reader = PoStationReaderQgs()
features = reader.get_features() features = reader.get_features()
self.stations = self._layer_create_from_features(reader.fields, reader.crs, features, "Stationen") self.stations = self._layer_create_from_features(reader.fields, reader.crs, features, "Stationen")
self._layer_add_to_instance(self.stations, self._stations_disconnect, self.ui.cbStationsVisible) self._layer_add_to_instance(self.stations, self._stations_disconnect, self.ui.cb_stations_visible)
if self.stations is not None: if self.stations is not None:
# Stationen sind (bereits) angelegt → setze Sichtbarkeit wie gefordert # Stationen sind (bereits) angelegt → setze Sichtbarkeit wie gefordert
@ -250,44 +247,44 @@ class PoRunner(object):
if visible: if visible:
self._stations_apply_style() self._stations_apply_style()
def _cbStationsName_toggled(self): def _cb_stations_name_toggled(self):
""" """
Sichtbarkeit des Stations-Attributs 'Name' umschalten und Labels updaten Sichtbarkeit des Stations-Attributs 'Name' umschalten und Labels updaten
""" """
checked = self.ui.cbStationsName.isChecked() checked = self.ui.cb_stations_name.isChecked()
print("_cbStationsName_toggled: %s" % (checked,)) print("_cb_stations_name_toggled: %s" % (checked,))
self._stations_update_labels() self._stations_update_labels()
def _cbStationsNumber_toggled(self): def _cb_stations_number_toggled(self):
""" """
Sichtbarkeit des Stations-Attributs 'Number' umschalten und Labels updaten Sichtbarkeit des Stations-Attributs 'Number' umschalten und Labels updaten
""" """
checked = self.ui.cbStationsNumber.isChecked() checked = self.ui.cb_stations_number.isChecked()
print("_cbStationsNumber_toggled: %s" % (checked,)) print("_cb_stations_number_toggled: %s" % (checked,))
self._stations_update_labels() self._stations_update_labels()
def _cbStationsAgency_toggled(self): def _cb_stations_agency_toggled(self):
""" """
Sichtbarkeit des Stations-Attributs 'Agency' umschalten und Labels updaten Sichtbarkeit des Stations-Attributs 'Agency' umschalten und Labels updaten
""" """
checked = self.ui.cbStationsAgency.isChecked() checked = self.ui.cb_stations_agency.isChecked()
print("_cbStationsAgency_toggled: %s" % (checked,)) print("_cb_stations_agency_toggled: %s" % (checked,))
self._stations_update_labels() self._stations_update_labels()
def _cbStationsKm_toggled(self): def _cb_stations_km_toggled(self):
""" """
Sichtbarkeit des Stations-Attributs 'Km' umschalten und Labels updaten Sichtbarkeit des Stations-Attributs 'Km' umschalten und Labels updaten
""" """
checked = self.ui.cbStationsKm.isChecked() checked = self.ui.cb_stations_km.isChecked()
print("_cbStationsKm_toggled: %s" % (checked,)) print("_cb_stations_km_toggled: %s" % (checked,))
self._stations_update_labels() self._stations_update_labels()
def _cbStationsWater_toggled(self): def _cb_stations_water_toggled(self):
""" """
Sichtbarkeit des Stations-Attributs 'Water' umschalten und Labels updaten Sichtbarkeit des Stations-Attributs 'Water' umschalten und Labels updaten
""" """
checked = self.ui.cbStationsWater.isChecked() checked = self.ui.cb_stations_water.isChecked()
print("_cbStationsWater_toggled: %s" % (checked,)) print("_cb_stations_water_toggled: %s" % (checked,))
self._stations_update_labels() self._stations_update_labels()
def _stations_disconnect(self): def _stations_disconnect(self):
@ -296,7 +293,7 @@ class PoRunner(object):
""" """
print("_stations_disconnect") print("_stations_disconnect")
self.stations = None self.stations = None
self.ui.cbStationsVisible.setChecked(False) self.ui.cb_stations_visible.setChecked(False)
def _stations_update_labels(self): def _stations_update_labels(self):
""" """
@ -307,19 +304,19 @@ class PoRunner(object):
return return
fields = [] fields = []
if self.ui.cbStationsNumber.isChecked(): if self.ui.cb_stations_number.isChecked():
# Attribut 'number' ausgewählt # Attribut 'number' ausgewählt
fields.append('\'#\', "number"') fields.append('\'#\', "number"')
if self.ui.cbStationsName.isChecked(): if self.ui.cb_stations_name.isChecked():
# Attribut 'shortname' ausgewählt # Attribut 'shortname' ausgewählt
fields.append('"shortname"') fields.append('"shortname"')
if self.ui.cbStationsAgency.isChecked(): if self.ui.cb_stations_agency.isChecked():
# Attribut 'agency' ausgewählt # Attribut 'agency' ausgewählt
fields.append('"agency"') fields.append('"agency"')
if self.ui.cbStationsWater.isChecked(): if self.ui.cb_stations_water.isChecked():
# Attribut 'water' ausgewählt # Attribut 'water' ausgewählt
fields.append('"water"') fields.append('"water"')
if self.ui.cbStationsKm.isChecked(): if self.ui.cb_stations_km.isChecked():
# Attribut 'km' ausgewählt # Attribut 'km' ausgewählt
fields.append('"km", \' km\'') # 2 Teile anhängen: km, " km" fields.append('"km", \' km\'') # 2 Teile anhängen: km, " km"
@ -332,57 +329,57 @@ class PoRunner(object):
Verbindet alle Pegelstand-Signale mit der UI Verbindet alle Pegelstand-Signale mit der UI
""" """
print("_waterlevels_connect_signals") print("_waterlevels_connect_signals")
self.ui.cbWaterlevelsVisible.toggled.connect(self._cbWaterlevelsVisible_toggled) self.ui.cb_waterlevels_visible.toggled.connect(self._cb_waterlevels_visible_toggled)
self.ui.cbWaterlevelsName.toggled.connect(self._cbWaterlevelsName_toggled) self.ui.cb_waterlevels_name.toggled.connect(self._cb_waterlevels_name_toggled)
self.ui.cbWaterlevelsNumber.toggled.connect(self._cbWaterlevelsNumber_toggled) self.ui.cb_waterlevels_number.toggled.connect(self._cb_waterlevels_number_toggled)
self.ui.cbWaterlevelsAgency.toggled.connect(self._cbWaterlevelsAgency_toggled) self.ui.cb_waterlevels_agency.toggled.connect(self._cb_waterlevels_agency_toggled)
self.ui.cbWaterlevelsTimestamp.toggled.connect(self._cbWaterlevelsTimestamp_toggled) self.ui.cb_waterlevels_timestamp.toggled.connect(self._cb_waterlevels_timestamp_toggled)
self.ui.cbWaterlevelsValue.toggled.connect(self._cbWaterlevelsValue_toggled) self.ui.cb_waterlevels_value.toggled.connect(self._cb_waterlevels_value_toggled)
self.ui.cbWaterlevelsMean.toggled.connect(self._cbWaterlevelsMean_toggled) self.ui.cb_waterlevels_mean.toggled.connect(self._cb_waterlevels_mean_toggled)
self.ui.cbWaterlevelsAbsolute.toggled.connect(self._cbWaterlevelsAbsolute_toggled) self.ui.cb_waterlevels_absolute.toggled.connect(self._cb_waterlevels_absolute_toggled)
self.ui.cbWaterlevelsWater.toggled.connect(self._cbWaterlevelsWater_toggled) self.ui.cb_waterlevels_water.toggled.connect(self._cb_waterlevels_water_toggled)
self.ui.bgWaterlevelsStyle.buttonClicked.connect(self._bgWaterlevelsStyle_clicked) self.ui.cb_waterlevels_style.buttonClicked.connect(self._cb_waterlevels_style_clicked)
def _waterlevels_apply_style(self): def _waterlevels_apply_style(self):
""" """
Wendet eingestellte Styles auf den Pegelstand-Layer an Wendet eingestellte Styles auf den Pegelstand-Layer an
""" """
button = self.ui.bgWaterlevelsStyle.checkedButton() button = self.ui.cb_waterlevels_style.checkedButton()
self._bgWaterlevelsStyle_clicked(button) self._cb_waterlevels_style_clicked(button)
def _bgWaterlevelsStyle_clicked(self, button): def _cb_waterlevels_style_clicked(self, button):
""" """
Behandlung eines Klicks auf einen der Pegelstand-Style-Radio-Buttons Behandlung eines Klicks auf einen der Pegelstand-Style-Radio-Buttons
Wendet Styles auf Pegelstand-Layer an Wendet Styles auf Pegelstand-Layer an
:param button: geklickter Radio-Button :param button: geklickter Radio-Button
:type button: QRadioButton :type button: QRadioButton
""" """
print("_bgWaterlevelsStyle_clicked: %s" % (button.objectName(),)) print("_cb_waterlevels_style_clicked: %s" % (button.objectName(),))
if self.waterlevels is None: if self.waterlevels is None:
# Pegelstand-Layer nicht geladen → Keine Änderung # Pegelstand-Layer nicht geladen → Keine Änderung
return return
if self.ui.rbWaterlevelsStylePreset == button: if self.ui.rb_waterlevels_style_preset == button:
# Vorgabe ausgewählt → lade aus Datei # Vorgabe ausgewählt → lade aus Datei
self._layer_apply_style_from_file(self.waterlevels, WATERLEVELS_QML) self._layer_apply_style_from_file(self.waterlevels, WATERLEVELS_QML)
return return
if self.ui.rbWaterlevelsStyleAgency == button: if self.ui.rb_waterlevels_style_agency == button:
# Behörde ausgewählt # Behörde ausgewählt
field = "agency" field = "agency"
elif self.ui.rbWaterlevelsStyleWater == button: elif self.ui.rb_waterlevels_style_water == button:
# Gewässer ausgewählt # Gewässer ausgewählt
field = "water" field = "water"
elif self.ui.rbWaterlevelsStyleMean == button: elif self.ui.rb_waterlevels_style_mean == button:
# MNW, MHW ausgewählt # MNW, MHW ausgewählt
field = "mean" field = "mean"
elif self.ui.rbWaterlevelsStyleAbsolute == button: elif self.ui.rb_waterlevels_style_absolute == button:
# NSW, HSW ausgewählt # NSW, HSW ausgewählt
field = "absolute" field = "absolute"
else: else:
# Programmierfehler: Unbekannter Button # Programmierfehler: Unbekannter Button
print("_bgWaterlevelsStyle_clicked: Style nicht implementiert: %s" % (button.objectName(),)) print("_cb_waterlevels_style_clicked: Style nicht implementiert: %s" % (button.objectName(),))
self._layer_apply_style_from_file(self.waterlevels, WATERLEVELS_QML) self._layer_apply_style_from_file(self.waterlevels, WATERLEVELS_QML)
return return
@ -390,19 +387,19 @@ class PoRunner(object):
self.waterlevels.setMapTipTemplate(WATERLEVELS_MAP_TIPS) self.waterlevels.setMapTipTemplate(WATERLEVELS_MAP_TIPS)
self._layer_apply_style_per_category(self.waterlevels, field, WATERLEVELS_QML) self._layer_apply_style_per_category(self.waterlevels, field, WATERLEVELS_QML)
def _cbWaterlevelsVisible_toggled(self): def _cb_waterlevels_visible_toggled(self):
""" """
Schaltet Sichtbarkeit des Pegelstand-Layers um (und erstellt ihn, falls nötig) Schaltet Sichtbarkeit des Pegelstand-Layers um (und erstellt ihn, falls nötig)
""" """
visible = self.ui.cbWaterlevelsVisible.isChecked() visible = self.ui.cb_waterlevels_visible.isChecked()
print("_cbWaterlevelsVisible_toggled: %s" % (visible,)) print("_cb_waterlevels_visible_toggled: %s" % (visible,))
if self.waterlevels is None and visible: if self.waterlevels is None and visible:
# Pegelstände sind noch nicht als Layer geladen → Laden # Pegelstände sind noch nicht als Layer geladen → Laden
reader = PoWaterlevelReaderQgs() reader = PoWaterlevelReaderQgs()
features = reader.get_features() features = reader.get_features()
self.waterlevels = self._layer_create_from_features(reader.fields, reader.crs, features, "Pegelstände") self.waterlevels = self._layer_create_from_features(reader.fields, reader.crs, features, "Pegelstände")
self._layer_add_to_instance(self.waterlevels, self.waterlevels_disconnect, self.ui.cbWaterlevelsVisible) self._layer_add_to_instance(self.waterlevels, self._waterlevels_disconnect, self.ui.cb_waterlevels_visible)
if self.waterlevels is not None: if self.waterlevels is not None:
# Pegelstände sind (bereits) angelegt → setze Sichtbarkeit wie gefordert # Pegelstände sind (bereits) angelegt → setze Sichtbarkeit wie gefordert
@ -410,77 +407,77 @@ class PoRunner(object):
if visible: if visible:
self._waterlevels_apply_style() self._waterlevels_apply_style()
def _cbWaterlevelsName_toggled(self): def _cb_waterlevels_name_toggled(self):
""" """
Sichtbarkeit des Pegelstand-Attributs 'Name' umschalten und Labels updaten Sichtbarkeit des Pegelstand-Attributs 'Name' umschalten und Labels updaten
""" """
checked = self.ui.cbWaterlevelsName.isChecked() checked = self.ui.cb_waterlevels_name.isChecked()
print("_cbWaterlevelsName_toggled: %s" % (checked,)) print("_cb_waterlevels_name_toggled: %s" % (checked,))
self._waterlevels_update_labels() self._waterlevels_update_labels()
def _cbWaterlevelsNumber_toggled(self): def _cb_waterlevels_number_toggled(self):
""" """
Sichtbarkeit des Pegelstand-Attributs 'Number' umschalten und Labels updaten Sichtbarkeit des Pegelstand-Attributs 'Number' umschalten und Labels updaten
""" """
checked = self.ui.cbWaterlevelsNumber.isChecked() checked = self.ui.cb_waterlevels_number.isChecked()
print("_cbWaterlevelsNumber_toggled: %s" % (checked,)) print("_cb_waterlevels_number_toggled: %s" % (checked,))
self._waterlevels_update_labels() self._waterlevels_update_labels()
def _cbWaterlevelsAgency_toggled(self): def _cb_waterlevels_agency_toggled(self):
""" """
Sichtbarkeit des Pegelstand-Attributs 'Agency' umschalten und Labels updaten Sichtbarkeit des Pegelstand-Attributs 'Agency' umschalten und Labels updaten
""" """
checked = self.ui.cbWaterlevelsAgency.isChecked() checked = self.ui.cb_waterlevels_agency.isChecked()
print("_cbWaterlevelsAgency_toggled: %s" % (checked,)) print("_cb_waterlevels_agency_toggled: %s" % (checked,))
self._waterlevels_update_labels() self._waterlevels_update_labels()
def _cbWaterlevelsTimestamp_toggled(self): def _cb_waterlevels_timestamp_toggled(self):
""" """
Sichtbarkeit des Pegelstand-Attributs 'Timestamp' umschalten und Labels updaten Sichtbarkeit des Pegelstand-Attributs 'Timestamp' umschalten und Labels updaten
""" """
checked = self.ui.cbWaterlevelsTimestamp.isChecked() checked = self.ui.cb_waterlevels_timestamp.isChecked()
print("_cbWaterlevelsTimestamp_toggled: %s" % (checked,)) print("_cb_waterlevels_timestamp_toggled: %s" % (checked,))
self._waterlevels_update_labels() self._waterlevels_update_labels()
def _cbWaterlevelsValue_toggled(self): def _cb_waterlevels_value_toggled(self):
""" """
Sichtbarkeit des Pegelstand-Attributs 'Value' umschalten und Labels updaten Sichtbarkeit des Pegelstand-Attributs 'Value' umschalten und Labels updaten
""" """
checked = self.ui.cbWaterlevelsValue.isChecked() checked = self.ui.cb_waterlevels_value.isChecked()
print("_cbWaterlevelsValue_toggled: %s" % (checked,)) print("_cb_waterlevels_value_toggled: %s" % (checked,))
self._waterlevels_update_labels() self._waterlevels_update_labels()
def _cbWaterlevelsMean_toggled(self): def _cb_waterlevels_mean_toggled(self):
""" """
Sichtbarkeit des Pegelstand-Attributs 'Mean' umschalten und Labels updaten Sichtbarkeit des Pegelstand-Attributs 'Mean' umschalten und Labels updaten
""" """
checked = self.ui.cbWaterlevelsMean.isChecked() checked = self.ui.cb_waterlevels_mean.isChecked()
print("_cbWaterlevelsMean_toggled: %s" % (checked,)) print("_cb_waterlevels_mean_toggled: %s" % (checked,))
self._waterlevels_update_labels() self._waterlevels_update_labels()
def _cbWaterlevelsAbsolute_toggled(self): def _cb_waterlevels_absolute_toggled(self):
""" """
Sichtbarkeit des Pegelstand-Attributs 'Absolute' umschalten und Labels updaten Sichtbarkeit des Pegelstand-Attributs 'Absolute' umschalten und Labels updaten
""" """
checked = self.ui.cbWaterlevelsAbsolute.isChecked() checked = self.ui.cb_waterlevels_absolute.isChecked()
print("_cbWaterlevelsAbsolute_toggled: %s" % (checked,)) print("_cb_waterlevels_absolute_toggled: %s" % (checked,))
self._waterlevels_update_labels() self._waterlevels_update_labels()
def _cbWaterlevelsWater_toggled(self): def _cb_waterlevels_water_toggled(self):
""" """
Sichtbarkeit des Pegelstand-Attributs 'Water' umschalten und Labels updaten Sichtbarkeit des Pegelstand-Attributs 'Water' umschalten und Labels updaten
""" """
checked = self.ui.cbWaterlevelsWater.isChecked() checked = self.ui.cb_waterlevels_water.isChecked()
print("_cbWaterlevelsWater_toggled: %s" % (checked,)) print("_cb_waterlevels_water_toggled: %s" % (checked,))
self._waterlevels_update_labels() self._waterlevels_update_labels()
def waterlevels_disconnect(self): def _waterlevels_disconnect(self):
""" """
Löscht die Pegelstand-Layer-Referenz, nachdem der Layer aus QGIS gelöscht wurde und passt die Checkbox an Löscht die Pegelstand-Layer-Referenz, nachdem der Layer aus QGIS gelöscht wurde und passt die Checkbox an
""" """
print("waterlevels_disconnect") print("waterlevels_disconnect")
self.waterlevels = None self.waterlevels = None
self.ui.cbWaterlevelsVisible.setChecked(False) self.ui.cb_waterlevels_visible.setChecked(False)
def _waterlevels_update_labels(self): def _waterlevels_update_labels(self):
""" """
@ -491,28 +488,28 @@ class PoRunner(object):
return return
fields = [] fields = []
if self.ui.cbWaterlevelsNumber.isChecked(): if self.ui.cb_waterlevels_number.isChecked():
# Attribut 'number' ausgewählt # Attribut 'number' ausgewählt
fields.append('\'#\', "number"') fields.append('\'#\', "number"')
if self.ui.cbWaterlevelsName.isChecked(): if self.ui.cb_waterlevels_name.isChecked():
# Attribut 'shortname' ausgewählt # Attribut 'shortname' ausgewählt
fields.append('"shortname"') fields.append('"shortname"')
if self.ui.cbWaterlevelsAgency.isChecked(): if self.ui.cb_waterlevels_agency.isChecked():
# Attribut 'agency' ausgewählt # Attribut 'agency' ausgewählt
fields.append('"agency"') fields.append('"agency"')
if self.ui.cbWaterlevelsWater.isChecked(): if self.ui.cb_waterlevels_water.isChecked():
# Attribut 'water' ausgewählt # Attribut 'water' ausgewählt
fields.append('"water"') fields.append('"water"')
if self.ui.cbWaterlevelsTimestamp.isChecked(): if self.ui.cb_waterlevels_timestamp.isChecked():
# Attribut 'timestamp' ausgewählt # Attribut 'timestamp' ausgewählt
fields.append('"timestamp"') fields.append('"timestamp"')
if self.ui.cbWaterlevelsValue.isChecked(): if self.ui.cb_waterlevels_value.isChecked():
# Attribut 'value' ausgewählt # Attribut 'value' ausgewählt
fields.append('"value", \' \', "unit"') # 3 Teile anhängen: value, leerzeichen, unit fields.append('"value", \' \', "unit"') # 3 Teile anhängen: value, leerzeichen, unit
if self.ui.cbWaterlevelsMean.isChecked(): if self.ui.cb_waterlevels_mean.isChecked():
# Attribut 'mean' ausgewählt # Attribut 'mean' ausgewählt
fields.append('\'MnwMhw=\', "mean"') fields.append('\'MnwMhw=\', "mean"')
if self.ui.cbWaterlevelsAbsolute.isChecked(): if self.ui.cb_waterlevels_absolute.isChecked():
# Attribut 'absolute' ausgewählt # Attribut 'absolute' ausgewählt
fields.append('\'NswHsw=\', "absolute"') fields.append('\'NswHsw=\', "absolute"')
@ -691,7 +688,7 @@ class PoRunner(object):
if len(selected) == 1: if len(selected) == 1:
# Juhu, nur ein Pegelstand ausgewählt → Graph laden # Juhu, nur ein Pegelstand ausgewählt → Graph laden
if self.ui.slGraphStation.count() == 0: if self.ui.sl_graph_station.count() == 0:
# Wir haben aber noch keine Stationen geladen → machen wir zuerst # Wir haben aber noch keine Stationen geladen → machen wir zuerst
self._graph_load_stations() self._graph_load_stations()
@ -769,31 +766,31 @@ class PoRunner(object):
Verbindet alle GrafWidget-Signale mit der UI Verbindet alle GrafWidget-Signale mit der UI
""" """
print("_graph_connect_signals") print("_graph_connect_signals")
self.ui.slGraphStation.currentTextChanged.connect(self._slGraphStation_changed) self.ui.sl_graph_station.currentTextChanged.connect(self._sl_graph_station_changed)
self.ui.btnGraphStationsRefresh.clicked.connect(self._btnGraphStationsRefresh_clicked) self.ui.btn_graph_stations_refresh.clicked.connect(self._btn_graph_stations_refresh_clicked)
self.ui.numGraphDays.valueChanged.connect(self._numGraphDays_changed) self.ui.num_graph_days.valueChanged.connect(self._num_graph_days_changed)
self.ui.btnGraphLoad.clicked.connect(self._graph_load_graph) self.ui.btn_graph_load.clicked.connect(self._graph_load_graph)
def _slGraphStation_changed(self): def _sl_graph_station_changed(self):
""" """
Behandelt die Stations-Änderung und lädt den Pegelstandsverlauf-Graf neu Behandelt die Stations-Änderung und lädt den Pegelstandsverlauf-Graf neu
""" """
print("_slGraphStation_changed: %s" % (self.ui.slGraphStation.currentText(),)) print("_sl_graph_station_changed: %s" % (self.ui.sl_graph_station.currentText(),))
self._graph_load_graph() self._graph_load_graph()
def _btnGraphStationsRefresh_clicked(self): def _btn_graph_stations_refresh_clicked(self):
""" """
Klick auf Graf-Stations-Liste-Refresh: Klick auf Graf-Stations-Liste-Refresh:
Lässt die Stations-Liste für den Graphen neu laden Lässt die Stations-Liste für den Graphen neu laden
""" """
print("_btnGraphStationsRefresh_clicked") print("_btn_graph_stations_refresh_clicked")
self._graph_load_stations() self._graph_load_stations()
def _numGraphDays_changed(self): def _num_graph_days_changed(self):
""" """
Loggt lediglich die Graf-Tages-Änderung Loggt lediglich die Graf-Tages-Änderung
""" """
print("_numGraphDays_changed: %s" % (self.ui.numGraphDays.value(),)) print("_num_graph_days_changed: %s" % (self.ui.num_graph_days.value(),))
def _graph_load_graph(self): def _graph_load_graph(self):
""" """
@ -801,13 +798,13 @@ class PoRunner(object):
""" """
print("_graph_load_graph") print("_graph_load_graph")
if not self.ui.slGraphStation.isEnabled(): if not self.ui.sl_graph_station.isEnabled():
# während dem Aktualisieren der Stationsliste treten change-signale auf, die werden hier abgefangen # während dem Aktualisieren der Stationsliste treten change-signale auf, die werden hier abgefangen
print("_graph_load_graph: Stationsliste ist aktuell gesperrt") print("_graph_load_graph: Stationsliste ist aktuell gesperrt")
return return
station = self.ui.slGraphStation.currentText() station = self.ui.sl_graph_station.currentText()
days = self.ui.numGraphDays.value() days = self.ui.num_graph_days.value()
self.graph.load(station, days) self.graph.load(station, days)
@ -818,15 +815,15 @@ class PoRunner(object):
Versucht die bisher ausgewählten Station in der neuen Liste wiederzufinden. Versucht die bisher ausgewählten Station in der neuen Liste wiederzufinden.
""" """
print("_graph_load_stations") print("_graph_load_stations")
self.ui.slGraphStation.setEnabled(False) self.ui.sl_graph_station.setEnabled(False)
self.ui.btnGraphLoad.setEnabled(False) self.ui.btn_graph_load.setEnabled(False)
# behalte die aktuelle Station, um sie (mit eventuell neuem Index) wiederherzustellen # behalte die aktuelle Station, um sie (mit eventuell neuem Index) wiederherzustellen
current_station = self.ui.slGraphStation.currentText() current_station = self.ui.sl_graph_station.currentText()
print("_graph_load_stations: bisherige_station=%s" % (current_station,)) print("_graph_load_stations: bisherige_station=%s" % (current_station,))
# leere die bisherige Auswahlliste # leere die bisherige Auswahlliste
self.ui.slGraphStation.clear() self.ui.sl_graph_station.clear()
# Lade aktuelle StationsListe herunter # Lade aktuelle StationsListe herunter
stations = PoStationReader().get_stations() stations = PoStationReader().get_stations()
@ -837,19 +834,19 @@ class PoRunner(object):
for station in stations: for station in stations:
# Füge ein Item je Station hinzu # Füge ein Item je Station hinzu
self.ui.slGraphStation.addItem(station.shortname) self.ui.sl_graph_station.addItem(station.shortname)
if self._graphStation_set_by_shortname(current_station): if self._graphStation_set_by_shortname(current_station):
# Bisherige Station wiedergefunden → Wieder ausgewählt # Bisherige Station wiedergefunden → Wieder ausgewählt
print("_graph_load_stations: Bisherige Station \"%s\" wiederhergestellt" % (current_station,)) print("_graph_load_stations: Bisherige Station \"%s\" wiederhergestellt" % (current_station,))
else: else:
# Bisherige Station nicht wiedergefunden → Wähle die erste Station aus der Liste # Bisherige Station nicht wiedergefunden → Wähle die erste Station aus der Liste
self.ui.slGraphStation.setCurrentIndex(0) self.ui.sl_graph_station.setCurrentIndex(0)
station = self.ui.slGraphStation.currentText() station = self.ui.sl_graph_station.currentText()
print("_graph_load_stations: Bisherige Station \"%s\" nicht wiedergefunden. Nehme erste Station: %s" % (current_station, station)) print("_graph_load_stations: Bisherige Station \"%s\" nicht wiedergefunden. Nehme erste Station: %s" % (current_station, station))
self.ui.slGraphStation.setEnabled(True) self.ui.sl_graph_station.setEnabled(True)
self.ui.btnGraphLoad.setEnabled(True) self.ui.btn_graph_load.setEnabled(True)
def _graphStation_set_by_shortname(self, shortname): def _graphStation_set_by_shortname(self, shortname):
""" """
@ -862,7 +859,7 @@ class PoRunner(object):
# Station nicht gefunden → Abbruch # Station nicht gefunden → Abbruch
return False return False
self.ui.slGraphStation.setCurrentIndex(index) self.ui.sl_graph_station.setCurrentIndex(index)
return True return True
def _graphStation_get_index_by_shortname(self, shortname): def _graphStation_get_index_by_shortname(self, shortname):
@ -872,8 +869,8 @@ class PoRunner(object):
:type shortname: str :type shortname: str
""" """
print("_graphStation_get_index_by_shortname: shortname=%s" % (shortname,)) print("_graphStation_get_index_by_shortname: shortname=%s" % (shortname,))
for index in range(self.ui.slGraphStation.count()): for index in range(self.ui.sl_graph_station.count()):
text = self.ui.slGraphStation.itemText(index) text = self.ui.sl_graph_station.itemText(index)
if shortname == text: if shortname == text:
# Station nicht gefunden → Abbruch # Station nicht gefunden → Abbruch
print("_graphStation_get_index_by_shortname: index=%d" % (index,)) print("_graphStation_get_index_by_shortname: index=%d" % (index,))