mirror of
https://gitlab.com/pamhyr/pamhyr2.git
synced 2026-10-30 03:20:41 +01:00
Network: Translate default node and reach name in ui.
This commit is contained in:
1 parent
a95364db1d
commit
5f37767207
7 files changed
+346
-102
No files matched your search
@@ -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())
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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
|
||||
Reference in new issue
Block a user