diff --git a/src/Model/Network/Edge.py b/src/Model/Network/Edge.py
index a21c89ab..eb5b07c5 100644
--- a/src/Model/Network/Edge.py
+++ b/src/Model/Network/Edge.py
@@ -51,9 +51,9 @@ class Edge(object):
elif name == "id":
ret = self.id
elif name == "node1":
- ret = self.node1.name
+ ret = self.node1
elif name == "node2":
- ret = self.node2.name
+ ret = self.node2
elif name == "enable":
ret = self._enable
@@ -75,10 +75,7 @@ class Edge(object):
@property
def name(self):
- name = self._name
- if self._name == "":
- name = f"{self.node1.name} -> {self.node2.name}"
- return name
+ return self._name
def is_enable(self):
return self._enable
diff --git a/src/Model/Network/Node.py b/src/Model/Network/Node.py
index eb763939..87a29c09 100644
--- a/src/Model/Network/Node.py
+++ b/src/Model/Network/Node.py
@@ -35,11 +35,7 @@ class Node(object):
else:
self.id = id
- if name == "":
- self._name = f"Node {self.id}"
- else:
- self._name = name
-
+ self._name = name
self.pos = Point(x, y)
def __getitem__(self, key):
diff --git a/src/View/Network/GraphWidget.py b/src/View/Network/GraphWidget.py
index 5b55d764..febeeb2d 100644
--- a/src/View/Network/GraphWidget.py
+++ b/src/View/Network/GraphWidget.py
@@ -368,11 +368,18 @@ class EdgeItem(QGraphicsItem):
class NodeText(QGraphicsTextItem):
- def __init__(self, node_item):
+ def __init__(self, node_item, graph):
super(NodeText, self).__init__()
self.item = node_item
- self.setPlainText(self.item.node.name)
+ self.graph = graph
+
+ name = self.item.node.name
+ if name == "":
+ name = self.graph._trad.node_name(self.item.node)
+
+ self.setPlainText(name)
+
self.setDefaultTextColor(Qt.black)
self.set_custom_pos(self.item.pos())
self.setZValue(2)
@@ -502,7 +509,7 @@ class GraphWidget(QGraphicsView):
for node in self.graph.nodes():
inode = NodeItem(node, self)
- self.texts[inode] = NodeText(inode)
+ self.texts[inode] = NodeText(inode, self)
self.scene().addItem(self.texts[inode])
self.scene().addItem(inode)
self.node_items.append(inode)
@@ -578,7 +585,7 @@ class GraphWidget(QGraphicsView):
inode = NodeItem(node, self)
self.scene().addItem(inode)
self.node_items.append(inode)
- self.texts[inode] = NodeText(inode)
+ self.texts[inode] = NodeText(inode, self)
self.scene().addItem(self.texts[inode])
self.changeNode.emit(self.sender())
diff --git a/src/View/Network/Table.py b/src/View/Network/Table.py
index 8ba889bd..97a26548 100644
--- a/src/View/Network/Table.py
+++ b/src/View/Network/Table.py
@@ -94,6 +94,9 @@ class NodeTableModel(PamhyrTableModel):
return ret
+ if self._headers[index.column()] == "name":
+ return self._trad.node_name(self._lst[index.row()])
+
return self._lst[index.row()][self._headers[index.column()]]
@pyqtSlot()
@@ -133,6 +136,15 @@ class EdgeTableModel(PamhyrTableModel):
if role != Qt.ItemDataRole.DisplayRole:
return QVariant()
+ if (self._headers[index.column()] == "node1" or
+ self._headers[index.column()] == "node2"):
+ return self._trad.node_name(
+ self._lst[index.row()][self._headers[index.column()]]
+ )
+
+ if self._headers[index.column()] == "name":
+ return self._trad.edge_name(self._lst[index.row()])
+
return self._lst[index.row()][self._headers[index.column()]]
@pyqtSlot()
diff --git a/src/View/Network/Window.py b/src/View/Network/Window.py
index eab8cae0..4a2c6efc 100644
--- a/src/View/Network/Window.py
+++ b/src/View/Network/Window.py
@@ -90,6 +90,7 @@ class NetworkWindow(PamhyrWindow):
table_view=table,
table_headers=self._table_headers_node,
editable_headers=["name"],
+ trad=self._trad,
data=self._graph,
undo=self._undo_stack,
)
@@ -109,6 +110,7 @@ class NetworkWindow(PamhyrWindow):
table_view=table,
table_headers=self._table_headers_edge,
editable_headers=["name", "node1", "node2"],
+ trad=self._trad,
delegates={
"node1": self.delegate_combobox,
"node2": self.delegate_combobox,
diff --git a/src/View/Network/translate.py b/src/View/Network/translate.py
index ea999db2..da3e9618 100644
--- a/src/View/Network/translate.py
+++ b/src/View/Network/translate.py
@@ -31,6 +31,9 @@ class NetworkTranslate(MainTranslate):
"Network", "River network"
)
+ self._dict["node"] = _translate("Network", "Node")
+ self._dict["edge"] = _translate("Network", "Reach")
+
self._dict["menu_add_node"] = _translate("Network", "Add node")
self._dict["menu_del_node"] = _translate("Network", "Delete the node")
self._dict["menu_edit_res_node"] = _translate(
@@ -63,3 +66,15 @@ class NetworkTranslate(MainTranslate):
"node2": _translate("Network", "Destination node"),
"id": _translate("Network", "Index"),
}
+
+ def node_name(self, node):
+ if node.name == "":
+ return f"{self['node']} #{node.id}"
+
+ return node.name
+
+ def edge_name(self, edge):
+ if edge.name == "":
+ return f"{self['edge']} #{edge.id}"
+
+ return edge.name
diff --git a/src/lang/fr.ts b/src/lang/fr.ts
index dc68faec..ea11ec02 100644
--- a/src/lang/fr.ts
+++ b/src/lang/fr.ts
@@ -192,17 +192,17 @@
Modifier les conditions aux limites
-
+
X
X
-
+
Y
Y
-
+
Solid (kg/s)
Solide (kg/s)
@@ -236,6 +236,11 @@
Node
Nœud
+
+
+ Boundary Condition Options
+
+
BoundaryConditions
@@ -448,7 +453,7 @@
Sélection des graphiques personnalisés
-
+
Bed elevation (m)
Cote du fond (m)
@@ -649,9 +654,9 @@
Axe Y :
-
+
Discharge
- Débit
+ Débit
@@ -729,9 +734,9 @@
Limites
-
+
Options
- Options
+ Options
@@ -746,7 +751,7 @@
Height (m)
- Hauteur (m)
+ Hauteur (m)
@@ -754,27 +759,27 @@
Stricklers
-
+
Distance computation
Calcule des distances
-
+
Second guide-line
Deuxième ligne directrice
-
+
First guide-line
Première ligne directrice
-
+
Origin
Origine
-
+
Origin value
Valeur de l'origine
@@ -803,8 +808,88 @@
Second guideline
Seconde ligne directrice
+
+
+ Y coordinate
+
+
+
+
+ X coordinate
+
+
+
+
+ Z coordinate
+
+
+
+
+ Upstream to downstream
+
+
+
+
+ Downstream to upstream
+
+
+
+
+ Orientation
+
+
+
+
+ Keep current
+
+
+
+
+ Upstream height (m)
+
+
+
+
+ Downstream height (m)
+
+
+
+
+ Generate constant discharge
+
+
+
+
+ Slope
+
+
+
+
+ Estimate
+
+
+
+
+ Number of points to keep
+
+
+
+
+ Generate height
+ Générer une hauteur
+
+
+
+ Depth (m)
+ Hauteur (m)
+
+
+
+ Generate discharge
+ Générer un débit
+
-
+
Discharge (m³/s)
@@ -1127,35 +1212,40 @@
Modifier les frottements
-
+
Start (m)
PK de départ (m)
-
+
End (m)
PK de fin (m)
-
+
Start coefficient
Coefficient de départ
-
+
End coefficient
Coefficient de fin
-
+
Stricklers
Stricklers
-
+
Edit frictions
Éditer les frotements
+
+
+ Strickler ($m^{1/3}/s$)
+
+
Geometry
@@ -1309,6 +1399,21 @@
the mean over the two guide-lines
la moyenne entre les deux ligne directrice
+
+
+ UpdateRK
+
+
+
+
+ Purge
+ Purger
+
+
+
+ Shift
+
+
HydraulicStructures
@@ -1387,17 +1492,17 @@
MainWindow
-
+
Open debug window
Ouvrir la fenêtre de débogage
-
+
Open SQLite debuging tool ('sqlitebrowser')
Ouvrir l'outil de débogage SQLite ('sqlitebrowser')
-
+
Enable this window
Activer cette fenêtre
@@ -1412,7 +1517,7 @@
Barre d'outils
-
+
Add
Ajouter
@@ -1432,7 +1537,7 @@
Supprimer les casier(s)
-
+
Edit
modifier
@@ -1622,12 +1727,12 @@
Modifier la géométrie
-
+
Import geometry
Importer une géométrie
-
+
Export geometry
Exporter la géométrie
@@ -1952,42 +2057,42 @@
Modifier une condition aux limites ou un apport ponctuel
-
+
Raw data
Données brutes
-
+
Water elevation
Cote de l'eau
-
+
Discharge time series
Hydrogramme
-
+
Add customized visualization
Ajouter une visualisation personnalisée
-
+
Reload
Recharger
-
+
Export
Exporter
Export raw data
- Exporter les données brutes
+ Exporter les données brutes
-
+
delete
supprimer
@@ -2042,7 +2147,7 @@
Activer/Désactiver l'ouvrage hydraulique élémentaire
-
+
Add a new point
Ajouter un nouveau point
@@ -2092,7 +2197,7 @@
Supprimer les points sélectionnés
-
+
Up
Monter
@@ -2102,7 +2207,7 @@
Déplacer les points sélectionnés vers le haut
-
+
Down
Descendre
@@ -2112,7 +2217,7 @@
Déplacer les points sélectionnés vers le bas
-
+
sort_asc
sort_asc
@@ -2122,7 +2227,7 @@
Trier les points par leurs plus proches voisins
-
+
sort_des
sort_des
@@ -2169,7 +2274,7 @@
Generate height
- Générer une hauteur
+ Générer une hauteur
@@ -2177,22 +2282,22 @@
Générer un débit
-
+
Add new initial condition
Ajouter une nouvelle condition initiale
-
+
Delete inital condition
Supprimer une condition initiale
-
+
sort
sort
-
+
Sort inital conditions
Trier les conditions initiales
@@ -2237,57 +2342,57 @@
Modifier les couches sédimentaires
-
+
Import
Importer
-
+
Add a cross-section
Ajouter une section en travers
-
+
Delete selected cross-section(s)
Supprimer les sections en travers sélectionnées
-
+
Edit selected cross section(s)
Modifier les sections en travers sélectionnées
-
+
Sort cross-sections by ascending position
Trier les sections en travers par PK croissant
-
+
Sort cross-sections by descending position
Trier les sections en travers par PK décroissant
-
+
Move up selected cross-section(s)
Déplacer les sections en travers vers le haut
-
+
Move down selected cross-section(s)
Déplacer les sections en travers vers le bas
-
+
Meshing
Maillage
-
+
Summary
Résumé
-
+
Checks
Vérifications
@@ -2382,7 +2487,7 @@
Modifier les informations de l'étude
-
+
toolBar
@@ -2397,7 +2502,7 @@
Éditer les frotements
-
+
Purge
Purger
@@ -2417,22 +2522,22 @@
Retourner l'ordre des points
-
+
Import from file
Importer depuis un fichier
-
+
Update RK
Mise à jour des PK
-
+
Recompute RK
Recalcule des PK
-
+
Purge cross-sections to keep a given number of points
Purger les profiles pour garder un nombre fixer de points
@@ -2441,6 +2546,61 @@
Sort points
Trier les points
+
+
+ Export data as CSV
+
+
+
+
+ Generate depth
+
+
+
+
+ Generate elevation
+
+
+
+
+ Generate uniform
+
+
+
+
+ Generate rating curve from Manning law
+
+
+
+
+ Generate critical
+
+
+
+
+ Generate rating curve as Q(z) = Sqrt(g*S(z)^3/L(z))
+
+
+
+
+ Make increasing
+
+
+
+
+ Remove points to make the curve increasing
+
+
+
+
+ Shift
+
+
+
+
+ Shift selected sections coordinates
+
+
MainWindow_reach
@@ -2473,60 +2633,75 @@
Réseau
-
+
Add node
Ajouter un nœud
-
+
Delete the node
Supprimer le nœud
-
+
Edit node reservoir
Modifier le casier du nœud
-
+
Add node reservoir
Ajouter un casier au nœud
-
+
Delete the reach
Supprimer l'arrête
-
+
Enable the reach
Activer l'arête
-
+
Disable the reach
Désactiver l'arête
-
+
Reverse the reach orientation
Inverser l'orientation de l'arête
-
+
Source node
Nœud source
-
+
Destination node
Nœud destination
-
+
Delete node reservoir
Supprimer le casier du nœud
+
+
+ Node
+ Nœud
+
+
+
+ Reach
+ Bief
+
+
+
+ Index
+ Index
+
Pamhyr
@@ -2585,7 +2760,7 @@
X (m)
-
+
Y (m)
Y (m)
@@ -3048,7 +3223,7 @@
Position (m)
- PK (m)
+ PK (m)
@@ -3061,47 +3236,47 @@
Hauteur (m)
-
+
Diameter (m)
Diamètre (m)
-
+
Thickness (m)
Épaisseur (m)
-
+
Elevation (m)
Cote (m)
-
+
Water elevation (m)
Cote de l'eau (m)
-
+
Area (hectare)
Aire (hectare)
-
+
Time (sec)
Temps (s)
-
+
Time (JJJ:HH:MM:SS)
Temps (JJJ:HH:MM:SS)
-
+
Date (sec)
Date (s)
-
+
Date (ISO format)
Date (format ISO)
@@ -3113,12 +3288,52 @@
Speed (m/s)
- Vitesse (m/s)
+ Vitesse (m/s)
+
+
+
+ River Kilometer (m)
+
+
+
+
+ Max Depth (m)
+
+
+
+
+ Mean Depth (m)
+
+
+
+
+ Velocity (m/s)
+
+
+
+
+ Wet Perimeter (m)
+
+
+
+
+ Hydraulic Radius (m)
+
+
+
+
+ Froude number
+
-
+
Discharge (m³/s)
+
+
+ Wet Area (m²)
+
+