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