Commit b6dbedf7 authored by Pierre-Antoine Rouby's avatar Pierre-Antoine Rouby
Browse files

river, network: Minor fix and change.

Showing with 49 additions and 13 deletions
+49 -13
......@@ -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
# -*- 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()
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment