diff --git a/src/View/GeoTIFF/Edit/Window.py b/src/View/GeoTIFF/Edit/Window.py
index 91c083da..37ab2e58 100644
--- a/src/View/GeoTIFF/Edit/Window.py
+++ b/src/View/GeoTIFF/Edit/Window.py
@@ -85,7 +85,8 @@ class EditGeoTIFFWindow(PamhyrWindow):
def setup_graph(self):
self.canvas = MplCanvas(width=5, height=4, dpi=100)
self.canvas.setObjectName("canvas")
- self.plot_layout = self.find(QVBoxLayout, "verticalLayout_geotiff")
+ self.plot_layout = self.find(QVBoxLayout,
+ "verticalLayout_geotiff")
self.plot_layout.addWidget(self.canvas)
self.plot = PlotXY(
@@ -109,20 +110,10 @@ class EditGeoTIFFWindow(PamhyrWindow):
self.set_line_edit_text("lineEdit_description",
self._geotiff.description)
- self._values = {
- "bottom": self._geotiff.coord_bottom,
- "top": self._geotiff.coord_top,
- "left": self._geotiff.coord_left,
- "right": self._geotiff.coord_right,
- }
- self._values_default = {
- "bottom": self._geotiff.coord_bottom,
- "top": self._geotiff.coord_top,
- "left": self._geotiff.coord_left,
- "right": self._geotiff.coord_right,
- }
-
- self._reset_values()
+ bounds = list(self._geotiff.coordinates.values())
+ self._set_values_from_bounds(bounds)
+ self._set_default_values_from_bounds(bounds)
+ self._reset_spinboxes()
if self._study.is_read_only():
self.set_check_box_enable("checkBox", False)
@@ -137,6 +128,8 @@ class EditGeoTIFFWindow(PamhyrWindow):
"left": bounds[1],
"right": bounds[3],
}
+
+ def _set_default_values_from_bounds(self, bounds):
self._values_default = {
"bottom": bounds[0],
"top": bounds[2],
@@ -144,14 +137,15 @@ class EditGeoTIFFWindow(PamhyrWindow):
"right": bounds[3],
}
- self._reset_values()
-
- def _reset_values(self):
+ def _reset_spinboxes(self):
for key in self._values:
- self._reset_values_key(key)
+ self._reset_spinbox(key)
- def _reset_values_key(self, key):
- self.set_double_spin_box(f"doubleSpinBox_{key}", self._values_default[key])
+ def _reset_spinbox(self, key):
+ self.set_double_spin_box(
+ f"doubleSpinBox_{key}",
+ self._values_default[key]
+ )
def setup_connection(self):
self.find(QPushButton, "pushButton_cancel")\
@@ -163,15 +157,18 @@ class EditGeoTIFFWindow(PamhyrWindow):
for key in self._values:
self.find(QPushButton, f"pushButton_{key}")\
- .clicked.connect(lambda: self._reset_values_key(key))
+ .clicked.connect(lambda: self._reset_spinbox(key))
self.find(QDoubleSpinBox, f"doubleSpinBox_{key}")\
- .valueChanged.connect(lambda: self.update_spinbox_value(key))
+ .valueChanged.connect(
+ lambda: self.update_values_from_spinbox(key)
+ )
- def update_spinbox_value(self, key):
+ def update_values_from_spinbox(self, key):
self._values[key] = self.get_double_spin_box(f"doubleSpinBox_{key}")
self._plot_img.set_extent(list(self._values.values()))
+ self.plot.idle()
def draw_geotiff(self, memfile=None):
if not _rasterio_loaded:
@@ -184,13 +181,13 @@ class EditGeoTIFFWindow(PamhyrWindow):
with rasterio.open(self._file_name) as data:
img = data.read()
b = data.bounds[:]
+
+ self._set_values_from_bounds(b)
else:
with memfile.open() as gt:
img = gt.read()
b = gt.bounds[:]
- self._set_values_from_bounds(b)
-
if self._plot_img is not None:
self._plot_img.remove()
diff --git a/src/View/MainWindow.py b/src/View/MainWindow.py
index 96c123ae..da2b7bbf 100644
--- a/src/View/MainWindow.py
+++ b/src/View/MainWindow.py
@@ -158,7 +158,7 @@ define_model_action = [
"action_menu_boundary_conditions_sediment",
"action_menu_rep_additional_lines", "action_menu_output_rk",
"action_menu_run_adists", "action_menu_pollutants",
- "action_menu_d90", "action_menu_dif",
+ "action_menu_d90", "action_menu_dif", "action_menu_edit_geotiff"
]
action = (
@@ -298,6 +298,7 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit):
self.open_reach_sediment_layers,
"action_menu_additional_file": self.open_additional_files,
"action_menu_rep_additional_lines": self.open_rep_lines,
+ "action_menu_edit_geotiff": self.open_geotiff,
"action_menu_close": self.close_model,
"action_menu_results_last": self.open_last_results,
"action_menu_open_results_from_file": self.open_results_from_file,
diff --git a/src/View/ui/MainWindow.ui b/src/View/ui/MainWindow.ui
index 96661c4f..b5c6f93f 100644
--- a/src/View/ui/MainWindow.ui
+++ b/src/View/ui/MainWindow.ui
@@ -129,6 +129,7 @@
&Geometry
+