mirror of https://gitlab.com/pamhyr/pamhyr2
river, network: Minor fix and change.
parent
150388af12
commit
b6dbedf7fa
|
|
@ -15,7 +15,14 @@ class RiverNode(Node):
|
||||||
x, y
|
x, y
|
||||||
)
|
)
|
||||||
|
|
||||||
self.locker = None
|
self._locker = None
|
||||||
|
|
||||||
|
def locker(self):
|
||||||
|
return self._locker
|
||||||
|
|
||||||
|
def locker(self, locker):
|
||||||
|
self._locker = locker
|
||||||
|
|
||||||
|
|
||||||
class RiverReach(Edge):
|
class RiverReach(Edge):
|
||||||
def __init__(self, id:str, name:str,
|
def __init__(self, id:str, name:str,
|
||||||
|
|
@ -26,7 +33,14 @@ class RiverReach(Edge):
|
||||||
node1, node2
|
node1, node2
|
||||||
)
|
)
|
||||||
|
|
||||||
self.reach = None
|
self._reach = None
|
||||||
|
|
||||||
|
def reach(self):
|
||||||
|
return self._reach
|
||||||
|
|
||||||
|
def reach(self, reach:Reach):
|
||||||
|
self._reach = reach
|
||||||
|
|
||||||
|
|
||||||
class River(Graph):
|
class River(Graph):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
|
|
@ -38,9 +52,11 @@ class River(Graph):
|
||||||
|
|
||||||
self._current_reach = None
|
self._current_reach = None
|
||||||
|
|
||||||
|
def has_current_reach(self):
|
||||||
|
return self._current_reach is not None
|
||||||
|
|
||||||
def current_reach(self):
|
def current_reach(self):
|
||||||
return self._current_reach
|
return self._current_reach
|
||||||
|
|
||||||
def current_reach(self, reach):
|
def set_current_reach(self, reach):
|
||||||
self._current_reach = reach
|
self._current_reach = reach
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import pathlib
|
import pathlib
|
||||||
import sys
|
import sys
|
||||||
|
|
@ -21,10 +23,13 @@ from View.ASubWindow import WindowToolKit
|
||||||
_translate = QCoreApplication.translate
|
_translate = QCoreApplication.translate
|
||||||
|
|
||||||
class GeometryWindow(QMainWindow, WindowToolKit):
|
class GeometryWindow(QMainWindow, WindowToolKit):
|
||||||
def __init__(self, parent=None):
|
def __init__(self, model=None, parent=None):
|
||||||
self.parent = parent
|
self.parent = parent
|
||||||
super(GeometryWindow, self).__init__(parent=parent)
|
super(GeometryWindow, self).__init__(parent=parent)
|
||||||
|
|
||||||
|
self._model = model
|
||||||
|
self._reach = model.river.current_reach()
|
||||||
|
|
||||||
self.ui = Ui_MainWindow()
|
self.ui = Ui_MainWindow()
|
||||||
self.ui.setupUi(self)
|
self.ui.setupUi(self)
|
||||||
self.tableView = self.ui.tableView
|
self.tableView = self.ui.tableView
|
||||||
|
|
@ -57,7 +62,7 @@ class GeometryWindow(QMainWindow, WindowToolKit):
|
||||||
|
|
||||||
def open_file_dialog(self):
|
def open_file_dialog(self):
|
||||||
options = QFileDialog.Options()
|
options = QFileDialog.Options()
|
||||||
DEFAULT_DIRECTORY = '/home/'
|
DEFAULT_DIRECTORY = os.getenv("HOME")
|
||||||
settings = QSettings(QSettings.IniFormat, QSettings.UserScope, 'MyOrg', )
|
settings = QSettings(QSettings.IniFormat, QSettings.UserScope, 'MyOrg', )
|
||||||
current_dir = settings.value('current_directory', DEFAULT_DIRECTORY, type=str)
|
current_dir = settings.value('current_directory', DEFAULT_DIRECTORY, type=str)
|
||||||
options |= QFileDialog.DontUseNativeDialog
|
options |= QFileDialog.DontUseNativeDialog
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,7 @@ from PyQt5.QtWidgets import (
|
||||||
)
|
)
|
||||||
from PyQt5.uic import loadUi
|
from PyQt5.uic import loadUi
|
||||||
|
|
||||||
|
from View.ASubWindow import WindowToolKit
|
||||||
from View.ListedSubWindow import ListedSubWindow
|
from View.ListedSubWindow import ListedSubWindow
|
||||||
from View.DummyWindow import DummyWindow
|
from View.DummyWindow import DummyWindow
|
||||||
|
|
||||||
|
|
@ -50,7 +51,7 @@ action = (
|
||||||
no_model_action + model_action + define_model_action
|
no_model_action + model_action + define_model_action
|
||||||
)
|
)
|
||||||
|
|
||||||
class ApplicationWindow(QMainWindow, ListedSubWindow):
|
class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit):
|
||||||
def __init__(self, conf=None):
|
def __init__(self, conf=None):
|
||||||
super(ApplicationWindow, self).__init__()
|
super(ApplicationWindow, self).__init__()
|
||||||
|
|
||||||
|
|
@ -193,7 +194,9 @@ class ApplicationWindow(QMainWindow, ListedSubWindow):
|
||||||
if self.model.filename == "":
|
if self.model.filename == "":
|
||||||
file_name, _ = QFileDialog.getSaveFileName(
|
file_name, _ = QFileDialog.getSaveFileName(
|
||||||
self, "Save File",
|
self, "Save File",
|
||||||
"", "Pamhyr(*.pkl)")
|
"", "Pamhyr(*.pkl)"
|
||||||
|
)
|
||||||
|
|
||||||
if file_name[-4:] == ".pkl":
|
if file_name[-4:] == ".pkl":
|
||||||
self.model.filename = file_name
|
self.model.filename = file_name
|
||||||
else:
|
else:
|
||||||
|
|
@ -212,7 +215,9 @@ class ApplicationWindow(QMainWindow, ListedSubWindow):
|
||||||
"""
|
"""
|
||||||
file_name, _ = QFileDialog.getSaveFileName(
|
file_name, _ = QFileDialog.getSaveFileName(
|
||||||
self, "Save File",
|
self, "Save File",
|
||||||
"", "Pamhyr(*.pkl)")
|
"", "Pamhyr(*.pkl)"
|
||||||
|
)
|
||||||
|
|
||||||
if file_name[-4:] == ".pkl":
|
if file_name[-4:] == ".pkl":
|
||||||
self.model.filename = file_name
|
self.model.filename = file_name
|
||||||
else:
|
else:
|
||||||
|
|
@ -301,9 +306,14 @@ class ApplicationWindow(QMainWindow, ListedSubWindow):
|
||||||
Returns:
|
Returns:
|
||||||
Nothing
|
Nothing
|
||||||
"""
|
"""
|
||||||
if not self.model is None:
|
if (self.model is not None and
|
||||||
geometry = GeometryWindow(parent=self)
|
self.model.river.has_current_reach()):
|
||||||
|
geometry = GeometryWindow(model=self.model, parent=self)
|
||||||
geometry.show()
|
geometry.show()
|
||||||
|
else:
|
||||||
|
self.message_box("Please select a reach",
|
||||||
|
"Geometry edition need a reach selected "
|
||||||
|
"into river network window to work on it")
|
||||||
|
|
||||||
# TODO: Delete me !
|
# TODO: Delete me !
|
||||||
###############
|
###############
|
||||||
|
|
|
||||||
|
|
@ -253,6 +253,8 @@ class GraphWidget(QGraphicsView):
|
||||||
self.parent = parent
|
self.parent = parent
|
||||||
self._state = "move"
|
self._state = "move"
|
||||||
|
|
||||||
|
self.graph = graph
|
||||||
|
|
||||||
self._selected_item = None
|
self._selected_item = None
|
||||||
self._selected_new_edge_src_node = None
|
self._selected_new_edge_src_node = None
|
||||||
self._current_edge = None
|
self._current_edge = None
|
||||||
|
|
@ -276,8 +278,6 @@ class GraphWidget(QGraphicsView):
|
||||||
self.setTransformationAnchor(QGraphicsView.AnchorUnderMouse)
|
self.setTransformationAnchor(QGraphicsView.AnchorUnderMouse)
|
||||||
self.setResizeAnchor(QGraphicsView.AnchorViewCenter)
|
self.setResizeAnchor(QGraphicsView.AnchorViewCenter)
|
||||||
|
|
||||||
self.graph = graph
|
|
||||||
|
|
||||||
self.scale(1, 1)
|
self.scale(1, 1)
|
||||||
self.previousScale = 1
|
self.previousScale = 1
|
||||||
self.setMinimumSize(400, 400)
|
self.setMinimumSize(400, 400)
|
||||||
|
|
@ -301,6 +301,8 @@ class GraphWidget(QGraphicsView):
|
||||||
self.scene().addItem(inode)
|
self.scene().addItem(inode)
|
||||||
self.node_items.append(inode)
|
self.node_items.append(inode)
|
||||||
|
|
||||||
|
curr_edge = self.graph.current_reach()
|
||||||
|
|
||||||
for edge in self.graph.edges():
|
for edge in self.graph.edges():
|
||||||
n1 = list(
|
n1 = list(
|
||||||
filter(
|
filter(
|
||||||
|
|
@ -317,6 +319,9 @@ class GraphWidget(QGraphicsView):
|
||||||
)
|
)
|
||||||
|
|
||||||
iedge = EdgeItem(n1[0], n2[0], edge, self)
|
iedge = EdgeItem(n1[0], n2[0], edge, self)
|
||||||
|
if edge == curr_edge:
|
||||||
|
self._current_edge = iedge
|
||||||
|
|
||||||
self.scene().addItem(iedge)
|
self.scene().addItem(iedge)
|
||||||
self.edge_items.append(iedge)
|
self.edge_items.append(iedge)
|
||||||
|
|
||||||
|
|
@ -548,7 +553,7 @@ class GraphWidget(QGraphicsView):
|
||||||
"""
|
"""
|
||||||
previous_edge = self._current_edge
|
previous_edge = self._current_edge
|
||||||
self._current_edge = edge
|
self._current_edge = edge
|
||||||
self.graph.current_reach(edge.edge)
|
self.graph.set_current_reach(edge.edge)
|
||||||
|
|
||||||
if previous_edge:
|
if previous_edge:
|
||||||
previous_edge.update()
|
previous_edge.update()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue