Design main window: UI improvement for the graph tab, QBox, titles...

dev_dylan
Dylan Jeannin 2026-09-07 17:37:52 +02:00
parent 97f487c0af
commit f41050fe5c
2 changed files with 34 additions and 7 deletions

View File

@ -13,7 +13,8 @@ from View.Tools.Plot.PamhyrToolbar import PamhyrPlotToolbar
from View.PlotXY import PlotXY from View.PlotXY import PlotXY
from View.Network.GraphWidget import GraphWidget from View.Network.GraphWidget import GraphWidget
from PyQt5.QtWidgets import QWidget, QHBoxLayout, QVBoxLayout from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QWidget, QGroupBox, QLabel, QHBoxLayout, QVBoxLayout
class WidgetGraph(QWidget): class WidgetGraph(QWidget):
@ -28,8 +29,18 @@ class WidgetGraph(QWidget):
layout = QHBoxLayout(self) layout = QHBoxLayout(self)
self._graph_widget = None self._graph_widget = None
self._graph_layout = QVBoxLayout() self._graph_group = QGroupBox(
layout.addLayout(self._graph_layout, 1) self._trad["graph_network_title"], self
)
self._graph_layout = QVBoxLayout(self._graph_group)
self._graph_title = QLabel(self._graph_group)
self._graph_title.setTextFormat(Qt.PlainText)
self._graph_title.setAlignment(Qt.AlignLeft | Qt.AlignVCenter)
self._graph_title.setWordWrap(True)
self._graph_layout.addWidget(self._graph_title)
self._update_graph_title()
layout.addWidget(self._graph_group, 1)
self.canvas = MplCanvas(width=5, height=4, dpi=100) self.canvas = MplCanvas(width=5, height=4, dpi=100)
self.canvas.setObjectName("canvas_graph") self.canvas.setObjectName("canvas_graph")
@ -37,10 +48,13 @@ class WidgetGraph(QWidget):
self.canvas, self, self.canvas, self,
items=["home", "zoom", "save", "iso", "back/forward", "move"] items=["home", "zoom", "save", "iso", "back/forward", "move"]
) )
self._plot_layout = QVBoxLayout() self._plot_group = QGroupBox(
self._trad["graph_geographic_title"], self
)
self._plot_layout = QVBoxLayout(self._plot_group)
self._plot_layout.addWidget(self.toolbar) self._plot_layout.addWidget(self.toolbar)
self._plot_layout.addWidget(self.canvas) self._plot_layout.addWidget(self.canvas, 1)
layout.addLayout(self._plot_layout, 1) layout.addWidget(self._plot_group, 1)
self.plot = PlotXY( self.plot = PlotXY(
canvas=self.canvas, canvas=self.canvas,
@ -57,8 +71,15 @@ class WidgetGraph(QWidget):
@study.setter @study.setter
def study(self, study): def study(self, study):
self._study = study self._study = study
self._update_graph_title()
def _update_graph_title(self):
self._graph_title.setText(
self._study.name if self._study is not None else ""
)
def update(self): def update(self):
self._update_graph_title()
if (self._graph_widget is not None if (self._graph_widget is not None
and (self._study is None and (self._study is None
or self._graph_widget.graph is not self._study.river)): or self._graph_widget.graph is not self._study.river)):
@ -73,7 +94,7 @@ class WidgetGraph(QWidget):
only_display=True, only_display=True,
trad=self._trad, trad=self._trad,
) )
self._graph_layout.addWidget(self._graph_widget) self._graph_layout.addWidget(self._graph_widget, 1)
elif self._graph_widget is not None: elif self._graph_widget is not None:
self._graph_widget.display_update() self._graph_widget.display_update()

View File

@ -178,6 +178,12 @@ class MainTranslate(UnitTranslate):
self._dict["tab_graph_name"] = _translate( self._dict["tab_graph_name"] = _translate(
"MainWindow", "Graph" "MainWindow", "Graph"
) )
self._dict["graph_network_title"] = _translate(
"MainWindow", "Hydrographic network"
)
self._dict["graph_geographic_title"] = _translate(
"MainWindow", "Geographic view"
)
self._dict["open_debug"] = _translate( self._dict["open_debug"] = _translate(
"MainWindow", "Open debug window" "MainWindow", "Open debug window"