diff --git a/pegelonline.py b/pegelonline.py index 7e8f0fe..ebcbe7f 100644 --- a/pegelonline.py +++ b/pegelonline.py @@ -64,7 +64,7 @@ class Pegelonline: # Declare instance attributes self.actions = [] 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.setObjectName(u'Pegelonline') diff --git a/pegelonline_dockwidget_base.ui b/pegelonline_dockwidget_base.ui index 9c91b46..4771020 100644 --- a/pegelonline_dockwidget_base.ui +++ b/pegelonline_dockwidget_base.ui @@ -61,7 +61,7 @@ 5 - + Anzeigen (Download von Pegelonline) @@ -100,21 +100,21 @@ 0 - + Nummer - + Name - + Behörde @@ -141,14 +141,14 @@ 0 - + Gewässername - + Flusskilometer @@ -193,7 +193,7 @@ - + Vorgabe @@ -201,7 +201,7 @@ true - bgStationsStyle + cb_stations_style @@ -210,7 +210,7 @@ - + Behörde @@ -218,7 +218,7 @@ false - bgStationsStyle + cb_stations_style @@ -227,7 +227,7 @@ - + Gewässer @@ -235,7 +235,7 @@ false - bgStationsStyle + cb_stations_style @@ -272,21 +272,21 @@ 5 - + ... - + ... - + ... @@ -300,21 +300,21 @@ - + ... - + ... - + ... @@ -328,7 +328,7 @@ - + ... @@ -393,7 +393,7 @@ - + false @@ -406,7 +406,7 @@ - + 0 @@ -448,7 +448,7 @@ - + 0 @@ -473,7 +473,7 @@ - + false @@ -534,7 +534,7 @@ 5 - + Anzeigen (Download von Pegelonline) @@ -567,28 +567,28 @@ 0 - + Nummer - + Name - + Behörde - + Gewässername @@ -602,28 +602,28 @@ 0 - + Zeitstempel - + Aktueller Pegel - + MNW, MHW - + NSW, HSW @@ -673,7 +673,7 @@ 0 - + Vorgabe @@ -681,7 +681,7 @@ true - bgWaterlevelsStyle + cb_waterlevels_style @@ -718,17 +718,17 @@ 0 - + Behörde - bgWaterlevelsStyle + cb_waterlevels_style - + Gewässer @@ -736,7 +736,7 @@ false - bgWaterlevelsStyle + cb_waterlevels_style @@ -761,22 +761,22 @@ 0 - + MNW, MHW - bgWaterlevelsStyle + cb_waterlevels_style - + NSW, HSW - bgWaterlevelsStyle + cb_waterlevels_style @@ -823,14 +823,14 @@ 5 - + Flüsse - + Flächen @@ -845,7 +845,7 @@ - - + + diff --git a/pegelonline_dockwidget_graph.py b/pegelonline_dockwidget_graph.py index 1dc7efd..9ca8d92 100644 --- a/pegelonline_dockwidget_graph.py +++ b/pegelonline_dockwidget_graph.py @@ -53,20 +53,20 @@ class PegelonlineDockWidgetGraph(QtWidgets.QDockWidget, FORM_CLASS): """ 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.show() if station == '' or station is None: # Keine Station ausgewählt → Abbruch 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 if days is None or days < 1 or days > 30: # Ungültige Anzahl an Tagen ausgewählt → Abbruch 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 graph = PoGraphReader(station, days) @@ -75,12 +75,12 @@ class PegelonlineDockWidgetGraph(QtWidgets.QDockWidget, FORM_CLASS): if image_data is None or len(image_data) == 0: # Keine Bild-Daten beim Herunterladen erhalten → Abbruch print("PegelonlineDockWidgetGraph::load: Fehler: Keine Daten erhalten") - self.lbGraph.setText("Fehler beim Download!") + self.lb_graph.setText("Fehler beim Download!") return pixmap = QtGui.QPixmap() pixmap.loadFromData(image_data) - self.lbGraph.setPixmap(pixmap) - self.lbGraph.resize(pixmap.width(), pixmap.height()) + self.lb_graph.setPixmap(pixmap) + self.lb_graph.resize(pixmap.width(), pixmap.height()) print("PegelonlineDockWidgetGraph::load: Bild erfolgreich geladen") diff --git a/pegelonline_dockwidget_graph.ui b/pegelonline_dockwidget_graph.ui index 7294f4b..1316125 100644 --- a/pegelonline_dockwidget_graph.ui +++ b/pegelonline_dockwidget_graph.ui @@ -16,7 +16,7 @@ - + 0 diff --git a/po_runner.py b/po_runner.py index 6730ca4..3fdcff6 100644 --- a/po_runner.py +++ b/po_runner.py @@ -40,9 +40,6 @@ class PoRunner(object): 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 self.stations = None self.waterlevels = None @@ -50,13 +47,13 @@ class PoRunner(object): self.areas = None # Standard Aktionen verbinden - self.ui.btnZoomFullExtent.setDefaultAction(iface.actionZoomFullExtent()) - self.ui.btnZoomToLayer.setDefaultAction(iface.actionZoomToLayer()) - self.ui.btnZoomToSelected.setDefaultAction(iface.actionZoomToSelected()) - self.ui.btnSelectRectangle.setDefaultAction(iface.actionSelectRectangle()) - self.ui.btnUnselectAll.setDefaultAction(iface.mainWindow().findChild(QAction, "mActionDeselectAll")) - self.ui.btnUnselectLayer.setDefaultAction(iface.mainWindow().findChild(QAction, "mActionDeselectActiveLayer")) - self.ui.btnMapTips.setDefaultAction(iface.actionMapTips()) + self.ui.btn_zoom_full_extent.setDefaultAction(iface.actionZoomFullExtent()) + self.ui.btn_zoom_to_layer.setDefaultAction(iface.actionZoomToLayer()) + self.ui.btn_zoom_to_selected.setDefaultAction(iface.actionZoomToSelected()) + self.ui.btn_select_rectangle.setDefaultAction(iface.actionSelectRectangle()) + self.ui.btn_unselect_all.setDefaultAction(iface.mainWindow().findChild(QAction, "mActionDeselectAll")) + self.ui.btn_unselect_layer.setDefaultAction(iface.mainWindow().findChild(QAction, "mActionDeselectActiveLayer")) + self.ui.btn_map_tips.setDefaultAction(iface.actionMapTips()) # Signale verbinden self._basemap_connect_signals() @@ -111,15 +108,15 @@ class PoRunner(object): Verbindet alle Basemap-Signale mit der UI """ print("_connect_basemap_signals") - self.ui.cbBasemapLines.toggled.connect(self._cbBasemapLines_toggled) - self.ui.cbBasemapAreas.toggled.connect(self._cbBasemapAreas_toggled) + self.ui.cb_basemap_lines.toggled.connect(self._cb_basemap_lines_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 """ - checked = self.ui.cbBasemapLines.isChecked() - print("_cbBasemapLines_toggled: %s" % (checked,)) + checked = self.ui.cb_basemap_lines.isChecked() + print("_cb_basemap_lines_toggled: %s" % (checked,)) if self.lines is None and checked: # Flüsse sind noch nicht als Layer geladen → Laden @@ -128,7 +125,7 @@ class PoRunner(object): "Flüsse", self._basemap_disconnect_lines, BASEMAP_MAP_TIPS, - self.ui.cbBasemapLines, + self.ui.cb_basemap_lines, ) if self.lines is not None: @@ -136,12 +133,12 @@ class PoRunner(object): self._layer_set_visible(self.lines, checked) 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 """ - checked = self.ui.cbBasemapAreas.isChecked() - print("_cbBasemapAreas_toggled: %s" % (checked,)) + checked = self.ui.cb_basemap_areas.isChecked() + print("_cb_basemap_areas_toggled: %s" % (checked,)) if self.areas is None and checked: # Flächen sind noch nicht als Layer geladen → Laden @@ -150,7 +147,7 @@ class PoRunner(object): "Flächen", self._basemap_disconnect_areas, BASEMAP_MAP_TIPS, - self.ui.cbBasemapAreas, + self.ui.cb_basemap_areas, ) if self.areas is not None: @@ -164,7 +161,7 @@ class PoRunner(object): """ print("_basemap_disconnect_lines") self.lines = None - self.ui.cbBasemapLines.setChecked(False) + self.ui.cb_basemap_lines.setChecked(False) def _basemap_disconnect_areas(self): """ @@ -172,7 +169,7 @@ class PoRunner(object): """ print("_basemap_disconnect_areas") self.areas = None - self.ui.cbBasemapAreas.setChecked(False) + self.ui.cb_basemap_areas.setChecked(False) # stations ---------------------------------------------------------------- @@ -181,48 +178,48 @@ class PoRunner(object): Verbindet alle Stations-Signale mit der UI """ print("_connect_stations_signals") - self.ui.cbStationsVisible.toggled.connect(self._cbStationsVisible_toggled) - self.ui.cbStationsName.toggled.connect(self._cbStationsName_toggled) - self.ui.cbStationsNumber.toggled.connect(self._cbStationsNumber_toggled) - self.ui.cbStationsAgency.toggled.connect(self._cbStationsAgency_toggled) - self.ui.cbStationsKm.toggled.connect(self._cbStationsKm_toggled) - self.ui.cbStationsWater.toggled.connect(self._cbStationsWater_toggled) - self.ui.bgStationsStyle.buttonClicked.connect(self._bgStationsStyle_clicked) + self.ui.cb_stations_visible.toggled.connect(self._cb_stations_visible_toggled) + self.ui.cb_stations_name.toggled.connect(self._cb_stations_name_toggled) + self.ui.cb_stations_number.toggled.connect(self._cb_stations_number_toggled) + self.ui.cb_stations_agency.toggled.connect(self._cb_stations_agency_toggled) + self.ui.cb_stations_km.toggled.connect(self._cb_stations_km_toggled) + self.ui.cb_stations_water.toggled.connect(self._cb_stations_water_toggled) + self.ui.cb_stations_style.buttonClicked.connect(self._cb_stations_style_clicked) def _stations_apply_style(self): """ Wendet eingestellte Styles auf den Stations-Layer an """ - button = self.ui.bgStationsStyle.checkedButton() - self._bgStationsStyle_clicked(button) + button = self.ui.cb_stations_style.checkedButton() + 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 → Wendet Styles auf Stations-Layer an :param button: geklickter Radio-Button :type button: QRadioButton """ - print("_bgStationsStyle_clicked: %s" % (button.objectName(),)) + print("_cb_stations_style_clicked: %s" % (button.objectName(),)) if self.stations is None: # Stations-Layer nicht geladen → Keine Änderung return - if self.ui.rbStationsStylePreset == button: + if self.ui.rb_stations_style_preset == button: # Vorgabe ausgewählt → lade aus Datei self._layer_apply_style_from_file(self.stations, STATIONS_QML) return - if self.ui.rbStationsStyleAgency == button: + if self.ui.rb_stations_style_agency == button: # Behörde ausgewählt field = "agency" - elif self.ui.rbStationsStyleWater == button: + elif self.ui.rb_stations_style_water == button: # Gewässer ausgewählt field = "water" else: # 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) return @@ -230,19 +227,19 @@ class PoRunner(object): self.stations.setMapTipTemplate(STATIONS_MAP_TIPS) 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) """ - visible = self.ui.cbStationsVisible.isChecked() - print("_cbStationsVisible_toggled: %s" % (visible,)) + visible = self.ui.cb_stations_visible.isChecked() + print("_cb_stations_visible_toggled: %s" % (visible,)) if self.stations is None and visible: # Stationen sind noch nicht als Layer geladen → Laden reader = PoStationReaderQgs() features = reader.get_features() 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: # Stationen sind (bereits) angelegt → setze Sichtbarkeit wie gefordert @@ -250,44 +247,44 @@ class PoRunner(object): if visible: self._stations_apply_style() - def _cbStationsName_toggled(self): + def _cb_stations_name_toggled(self): """ Sichtbarkeit des Stations-Attributs 'Name' umschalten und Labels updaten """ - checked = self.ui.cbStationsName.isChecked() - print("_cbStationsName_toggled: %s" % (checked,)) + checked = self.ui.cb_stations_name.isChecked() + print("_cb_stations_name_toggled: %s" % (checked,)) self._stations_update_labels() - def _cbStationsNumber_toggled(self): + def _cb_stations_number_toggled(self): """ Sichtbarkeit des Stations-Attributs 'Number' umschalten und Labels updaten """ - checked = self.ui.cbStationsNumber.isChecked() - print("_cbStationsNumber_toggled: %s" % (checked,)) + checked = self.ui.cb_stations_number.isChecked() + print("_cb_stations_number_toggled: %s" % (checked,)) self._stations_update_labels() - def _cbStationsAgency_toggled(self): + def _cb_stations_agency_toggled(self): """ Sichtbarkeit des Stations-Attributs 'Agency' umschalten und Labels updaten """ - checked = self.ui.cbStationsAgency.isChecked() - print("_cbStationsAgency_toggled: %s" % (checked,)) + checked = self.ui.cb_stations_agency.isChecked() + print("_cb_stations_agency_toggled: %s" % (checked,)) self._stations_update_labels() - def _cbStationsKm_toggled(self): + def _cb_stations_km_toggled(self): """ Sichtbarkeit des Stations-Attributs 'Km' umschalten und Labels updaten """ - checked = self.ui.cbStationsKm.isChecked() - print("_cbStationsKm_toggled: %s" % (checked,)) + checked = self.ui.cb_stations_km.isChecked() + print("_cb_stations_km_toggled: %s" % (checked,)) self._stations_update_labels() - def _cbStationsWater_toggled(self): + def _cb_stations_water_toggled(self): """ Sichtbarkeit des Stations-Attributs 'Water' umschalten und Labels updaten """ - checked = self.ui.cbStationsWater.isChecked() - print("_cbStationsWater_toggled: %s" % (checked,)) + checked = self.ui.cb_stations_water.isChecked() + print("_cb_stations_water_toggled: %s" % (checked,)) self._stations_update_labels() def _stations_disconnect(self): @@ -296,7 +293,7 @@ class PoRunner(object): """ print("_stations_disconnect") self.stations = None - self.ui.cbStationsVisible.setChecked(False) + self.ui.cb_stations_visible.setChecked(False) def _stations_update_labels(self): """ @@ -307,19 +304,19 @@ class PoRunner(object): return fields = [] - if self.ui.cbStationsNumber.isChecked(): + if self.ui.cb_stations_number.isChecked(): # Attribut 'number' ausgewählt fields.append('\'#\', "number"') - if self.ui.cbStationsName.isChecked(): + if self.ui.cb_stations_name.isChecked(): # Attribut 'shortname' ausgewählt fields.append('"shortname"') - if self.ui.cbStationsAgency.isChecked(): + if self.ui.cb_stations_agency.isChecked(): # Attribut 'agency' ausgewählt fields.append('"agency"') - if self.ui.cbStationsWater.isChecked(): + if self.ui.cb_stations_water.isChecked(): # Attribut 'water' ausgewählt fields.append('"water"') - if self.ui.cbStationsKm.isChecked(): + if self.ui.cb_stations_km.isChecked(): # Attribut 'km' ausgewählt fields.append('"km", \' km\'') # 2 Teile anhängen: km, " km" @@ -332,57 +329,57 @@ class PoRunner(object): Verbindet alle Pegelstand-Signale mit der UI """ print("_waterlevels_connect_signals") - self.ui.cbWaterlevelsVisible.toggled.connect(self._cbWaterlevelsVisible_toggled) - self.ui.cbWaterlevelsName.toggled.connect(self._cbWaterlevelsName_toggled) - self.ui.cbWaterlevelsNumber.toggled.connect(self._cbWaterlevelsNumber_toggled) - self.ui.cbWaterlevelsAgency.toggled.connect(self._cbWaterlevelsAgency_toggled) - self.ui.cbWaterlevelsTimestamp.toggled.connect(self._cbWaterlevelsTimestamp_toggled) - self.ui.cbWaterlevelsValue.toggled.connect(self._cbWaterlevelsValue_toggled) - self.ui.cbWaterlevelsMean.toggled.connect(self._cbWaterlevelsMean_toggled) - self.ui.cbWaterlevelsAbsolute.toggled.connect(self._cbWaterlevelsAbsolute_toggled) - self.ui.cbWaterlevelsWater.toggled.connect(self._cbWaterlevelsWater_toggled) - self.ui.bgWaterlevelsStyle.buttonClicked.connect(self._bgWaterlevelsStyle_clicked) + self.ui.cb_waterlevels_visible.toggled.connect(self._cb_waterlevels_visible_toggled) + self.ui.cb_waterlevels_name.toggled.connect(self._cb_waterlevels_name_toggled) + self.ui.cb_waterlevels_number.toggled.connect(self._cb_waterlevels_number_toggled) + self.ui.cb_waterlevels_agency.toggled.connect(self._cb_waterlevels_agency_toggled) + self.ui.cb_waterlevels_timestamp.toggled.connect(self._cb_waterlevels_timestamp_toggled) + self.ui.cb_waterlevels_value.toggled.connect(self._cb_waterlevels_value_toggled) + self.ui.cb_waterlevels_mean.toggled.connect(self._cb_waterlevels_mean_toggled) + self.ui.cb_waterlevels_absolute.toggled.connect(self._cb_waterlevels_absolute_toggled) + self.ui.cb_waterlevels_water.toggled.connect(self._cb_waterlevels_water_toggled) + self.ui.cb_waterlevels_style.buttonClicked.connect(self._cb_waterlevels_style_clicked) def _waterlevels_apply_style(self): """ Wendet eingestellte Styles auf den Pegelstand-Layer an """ - button = self.ui.bgWaterlevelsStyle.checkedButton() - self._bgWaterlevelsStyle_clicked(button) + button = self.ui.cb_waterlevels_style.checkedButton() + 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 → Wendet Styles auf Pegelstand-Layer an :param button: geklickter Radio-Button :type button: QRadioButton """ - print("_bgWaterlevelsStyle_clicked: %s" % (button.objectName(),)) + print("_cb_waterlevels_style_clicked: %s" % (button.objectName(),)) if self.waterlevels is None: # Pegelstand-Layer nicht geladen → Keine Änderung return - if self.ui.rbWaterlevelsStylePreset == button: + if self.ui.rb_waterlevels_style_preset == button: # Vorgabe ausgewählt → lade aus Datei self._layer_apply_style_from_file(self.waterlevels, WATERLEVELS_QML) return - if self.ui.rbWaterlevelsStyleAgency == button: + if self.ui.rb_waterlevels_style_agency == button: # Behörde ausgewählt field = "agency" - elif self.ui.rbWaterlevelsStyleWater == button: + elif self.ui.rb_waterlevels_style_water == button: # Gewässer ausgewählt field = "water" - elif self.ui.rbWaterlevelsStyleMean == button: + elif self.ui.rb_waterlevels_style_mean == button: # MNW, MHW ausgewählt field = "mean" - elif self.ui.rbWaterlevelsStyleAbsolute == button: + elif self.ui.rb_waterlevels_style_absolute == button: # NSW, HSW ausgewählt field = "absolute" else: # 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) return @@ -390,19 +387,19 @@ class PoRunner(object): self.waterlevels.setMapTipTemplate(WATERLEVELS_MAP_TIPS) 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) """ - visible = self.ui.cbWaterlevelsVisible.isChecked() - print("_cbWaterlevelsVisible_toggled: %s" % (visible,)) + visible = self.ui.cb_waterlevels_visible.isChecked() + print("_cb_waterlevels_visible_toggled: %s" % (visible,)) if self.waterlevels is None and visible: # Pegelstände sind noch nicht als Layer geladen → Laden reader = PoWaterlevelReaderQgs() features = reader.get_features() 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: # Pegelstände sind (bereits) angelegt → setze Sichtbarkeit wie gefordert @@ -410,77 +407,77 @@ class PoRunner(object): if visible: self._waterlevels_apply_style() - def _cbWaterlevelsName_toggled(self): + def _cb_waterlevels_name_toggled(self): """ Sichtbarkeit des Pegelstand-Attributs 'Name' umschalten und Labels updaten """ - checked = self.ui.cbWaterlevelsName.isChecked() - print("_cbWaterlevelsName_toggled: %s" % (checked,)) + checked = self.ui.cb_waterlevels_name.isChecked() + print("_cb_waterlevels_name_toggled: %s" % (checked,)) self._waterlevels_update_labels() - def _cbWaterlevelsNumber_toggled(self): + def _cb_waterlevels_number_toggled(self): """ Sichtbarkeit des Pegelstand-Attributs 'Number' umschalten und Labels updaten """ - checked = self.ui.cbWaterlevelsNumber.isChecked() - print("_cbWaterlevelsNumber_toggled: %s" % (checked,)) + checked = self.ui.cb_waterlevels_number.isChecked() + print("_cb_waterlevels_number_toggled: %s" % (checked,)) self._waterlevels_update_labels() - def _cbWaterlevelsAgency_toggled(self): + def _cb_waterlevels_agency_toggled(self): """ Sichtbarkeit des Pegelstand-Attributs 'Agency' umschalten und Labels updaten """ - checked = self.ui.cbWaterlevelsAgency.isChecked() - print("_cbWaterlevelsAgency_toggled: %s" % (checked,)) + checked = self.ui.cb_waterlevels_agency.isChecked() + print("_cb_waterlevels_agency_toggled: %s" % (checked,)) self._waterlevels_update_labels() - def _cbWaterlevelsTimestamp_toggled(self): + def _cb_waterlevels_timestamp_toggled(self): """ Sichtbarkeit des Pegelstand-Attributs 'Timestamp' umschalten und Labels updaten """ - checked = self.ui.cbWaterlevelsTimestamp.isChecked() - print("_cbWaterlevelsTimestamp_toggled: %s" % (checked,)) + checked = self.ui.cb_waterlevels_timestamp.isChecked() + print("_cb_waterlevels_timestamp_toggled: %s" % (checked,)) self._waterlevels_update_labels() - def _cbWaterlevelsValue_toggled(self): + def _cb_waterlevels_value_toggled(self): """ Sichtbarkeit des Pegelstand-Attributs 'Value' umschalten und Labels updaten """ - checked = self.ui.cbWaterlevelsValue.isChecked() - print("_cbWaterlevelsValue_toggled: %s" % (checked,)) + checked = self.ui.cb_waterlevels_value.isChecked() + print("_cb_waterlevels_value_toggled: %s" % (checked,)) self._waterlevels_update_labels() - def _cbWaterlevelsMean_toggled(self): + def _cb_waterlevels_mean_toggled(self): """ Sichtbarkeit des Pegelstand-Attributs 'Mean' umschalten und Labels updaten """ - checked = self.ui.cbWaterlevelsMean.isChecked() - print("_cbWaterlevelsMean_toggled: %s" % (checked,)) + checked = self.ui.cb_waterlevels_mean.isChecked() + print("_cb_waterlevels_mean_toggled: %s" % (checked,)) self._waterlevels_update_labels() - def _cbWaterlevelsAbsolute_toggled(self): + def _cb_waterlevels_absolute_toggled(self): """ Sichtbarkeit des Pegelstand-Attributs 'Absolute' umschalten und Labels updaten """ - checked = self.ui.cbWaterlevelsAbsolute.isChecked() - print("_cbWaterlevelsAbsolute_toggled: %s" % (checked,)) + checked = self.ui.cb_waterlevels_absolute.isChecked() + print("_cb_waterlevels_absolute_toggled: %s" % (checked,)) self._waterlevels_update_labels() - def _cbWaterlevelsWater_toggled(self): + def _cb_waterlevels_water_toggled(self): """ Sichtbarkeit des Pegelstand-Attributs 'Water' umschalten und Labels updaten """ - checked = self.ui.cbWaterlevelsWater.isChecked() - print("_cbWaterlevelsWater_toggled: %s" % (checked,)) + checked = self.ui.cb_waterlevels_water.isChecked() + print("_cb_waterlevels_water_toggled: %s" % (checked,)) 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 """ print("waterlevels_disconnect") self.waterlevels = None - self.ui.cbWaterlevelsVisible.setChecked(False) + self.ui.cb_waterlevels_visible.setChecked(False) def _waterlevels_update_labels(self): """ @@ -491,28 +488,28 @@ class PoRunner(object): return fields = [] - if self.ui.cbWaterlevelsNumber.isChecked(): + if self.ui.cb_waterlevels_number.isChecked(): # Attribut 'number' ausgewählt fields.append('\'#\', "number"') - if self.ui.cbWaterlevelsName.isChecked(): + if self.ui.cb_waterlevels_name.isChecked(): # Attribut 'shortname' ausgewählt fields.append('"shortname"') - if self.ui.cbWaterlevelsAgency.isChecked(): + if self.ui.cb_waterlevels_agency.isChecked(): # Attribut 'agency' ausgewählt fields.append('"agency"') - if self.ui.cbWaterlevelsWater.isChecked(): + if self.ui.cb_waterlevels_water.isChecked(): # Attribut 'water' ausgewählt fields.append('"water"') - if self.ui.cbWaterlevelsTimestamp.isChecked(): + if self.ui.cb_waterlevels_timestamp.isChecked(): # Attribut 'timestamp' ausgewählt fields.append('"timestamp"') - if self.ui.cbWaterlevelsValue.isChecked(): + if self.ui.cb_waterlevels_value.isChecked(): # Attribut 'value' ausgewählt 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 fields.append('\'MnwMhw=\', "mean"') - if self.ui.cbWaterlevelsAbsolute.isChecked(): + if self.ui.cb_waterlevels_absolute.isChecked(): # Attribut 'absolute' ausgewählt fields.append('\'NswHsw=\', "absolute"') @@ -691,7 +688,7 @@ class PoRunner(object): if len(selected) == 1: # 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 self._graph_load_stations() @@ -769,31 +766,31 @@ class PoRunner(object): Verbindet alle GrafWidget-Signale mit der UI """ print("_graph_connect_signals") - self.ui.slGraphStation.currentTextChanged.connect(self._slGraphStation_changed) - self.ui.btnGraphStationsRefresh.clicked.connect(self._btnGraphStationsRefresh_clicked) - self.ui.numGraphDays.valueChanged.connect(self._numGraphDays_changed) - self.ui.btnGraphLoad.clicked.connect(self._graph_load_graph) + self.ui.sl_graph_station.currentTextChanged.connect(self._sl_graph_station_changed) + self.ui.btn_graph_stations_refresh.clicked.connect(self._btn_graph_stations_refresh_clicked) + self.ui.num_graph_days.valueChanged.connect(self._num_graph_days_changed) + 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 """ - print("_slGraphStation_changed: %s" % (self.ui.slGraphStation.currentText(),)) + print("_sl_graph_station_changed: %s" % (self.ui.sl_graph_station.currentText(),)) self._graph_load_graph() - def _btnGraphStationsRefresh_clicked(self): + def _btn_graph_stations_refresh_clicked(self): """ Klick auf Graf-Stations-Liste-Refresh: Lässt die Stations-Liste für den Graphen neu laden """ - print("_btnGraphStationsRefresh_clicked") + print("_btn_graph_stations_refresh_clicked") self._graph_load_stations() - def _numGraphDays_changed(self): + def _num_graph_days_changed(self): """ 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): """ @@ -801,13 +798,13 @@ class PoRunner(object): """ 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 print("_graph_load_graph: Stationsliste ist aktuell gesperrt") return - station = self.ui.slGraphStation.currentText() - days = self.ui.numGraphDays.value() + station = self.ui.sl_graph_station.currentText() + days = self.ui.num_graph_days.value() self.graph.load(station, days) @@ -818,15 +815,15 @@ class PoRunner(object): Versucht die bisher ausgewählten Station in der neuen Liste wiederzufinden. """ print("_graph_load_stations") - self.ui.slGraphStation.setEnabled(False) - self.ui.btnGraphLoad.setEnabled(False) + self.ui.sl_graph_station.setEnabled(False) + self.ui.btn_graph_load.setEnabled(False) # 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,)) # leere die bisherige Auswahlliste - self.ui.slGraphStation.clear() + self.ui.sl_graph_station.clear() # Lade aktuelle StationsListe herunter stations = PoStationReader().get_stations() @@ -837,19 +834,19 @@ class PoRunner(object): for station in stations: # 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): # Bisherige Station wiedergefunden → Wieder ausgewählt print("_graph_load_stations: Bisherige Station \"%s\" wiederhergestellt" % (current_station,)) else: # Bisherige Station nicht wiedergefunden → Wähle die erste Station aus der Liste - self.ui.slGraphStation.setCurrentIndex(0) - station = self.ui.slGraphStation.currentText() + self.ui.sl_graph_station.setCurrentIndex(0) + station = self.ui.sl_graph_station.currentText() print("_graph_load_stations: Bisherige Station \"%s\" nicht wiedergefunden. Nehme erste Station: %s" % (current_station, station)) - self.ui.slGraphStation.setEnabled(True) - self.ui.btnGraphLoad.setEnabled(True) + self.ui.sl_graph_station.setEnabled(True) + self.ui.btn_graph_load.setEnabled(True) def _graphStation_set_by_shortname(self, shortname): """ @@ -862,7 +859,7 @@ class PoRunner(object): # Station nicht gefunden → Abbruch return False - self.ui.slGraphStation.setCurrentIndex(index) + self.ui.sl_graph_station.setCurrentIndex(index) return True def _graphStation_get_index_by_shortname(self, shortname): @@ -872,8 +869,8 @@ class PoRunner(object): :type shortname: str """ print("_graphStation_get_index_by_shortname: shortname=%s" % (shortname,)) - for index in range(self.ui.slGraphStation.count()): - text = self.ui.slGraphStation.itemText(index) + for index in range(self.ui.sl_graph_station.count()): + text = self.ui.sl_graph_station.itemText(index) if shortname == text: # Station nicht gefunden → Abbruch print("_graphStation_get_index_by_shortname: index=%d" % (index,))