Compare commits

..

No commits in common. "4ba232a7e4672bd1b008b775dce43087e633d2aa" and "1b70e22a58942d5df80f21e71e78be9c94c5f2a4" have entirely different histories.

6 changed files with 49 additions and 83 deletions

View File

@ -18,7 +18,6 @@ modelling of rivers.
+ Define river sedimentary layers + Define river sedimentary layers
+ Save the study in a unique file + Save the study in a unique file
+ Run Mage 8 on a study and visualize results + Run Mage 8 on a study and visualize results
+ Create and edit study alternative scenario tree
Let see the Let see the
[documentation](https://gitlab.irstea.fr/theophile.terraz/pamhyr/-/wikis/home) [documentation](https://gitlab.irstea.fr/theophile.terraz/pamhyr/-/wikis/home)

View File

@ -1,23 +1,18 @@
#! /bin/sh #! /bin/sh
FILES="documentation.org scenario.org" echo " PDF documentation.org"
emacs -nw --batch \
--eval "(require 'org)" \
--eval "(require 'ox-latex)" \
--eval "(load-file \"../tools/setup.el\")" \
--file ./documentation.org \
-f org-latex-export-to-pdf
for file in $FILES echo " HTML documentation.org"
do emacs -nw --batch \
echo " PDF $file" --eval "(require 'org)" \
emacs -nw --batch \ --eval "(require 'ox-latex)" \
--eval "(require 'org)" \ --eval "(require 'ox-html)" \
--eval "(require 'ox-latex)" \ --eval "(load-file \"../tools/setup.el\")" \
--eval "(load-file \"../tools/setup.el\")" \ --file ./documentation.org \
--file ./$file \ -f org-html-export-to-html
-f org-latex-export-to-pdf \
echo " HTML $file"
emacs -nw --batch \
--eval "(require 'org)" \
--eval "(require 'ox-latex)" \
--eval "(require 'ox-html)" \
--eval "(load-file \"../tools/setup.el\")" \
--file ./$file \
-f org-html-export-to-html
done

View File

@ -157,7 +157,7 @@ class Data(SQLSubModel):
owner_scenario=owner_scenario owner_scenario=owner_scenario
) )
if deleted: if deleted:
nd.set_as_deleted() f.set_as_deleted()
nd._data = [elevation, surface] nd._data = [elevation, surface]
@ -307,7 +307,7 @@ class Reservoir(SQLSubModel):
owner_scenario=owner_scenario owner_scenario=owner_scenario
) )
if deleted: if deleted:
new_reservoir.set_as_deleted() f.set_as_deleted()
new_reservoir._node = None new_reservoir._node = None
if node_id != -1: if node_id != -1:

View File

@ -73,13 +73,10 @@ class NodeItem(QGraphicsItem):
def shape(self): def shape(self):
path = QPainterPath() path = QPainterPath()
reservoir = self.graph.graph._reservoir.get_assoc_to_node(self.node) if self.graph.graph._reservoir.get_assoc_to_node(self.node) is None:
if reservoir is None or reservoir.is_deleted():
path.addEllipse(-10, -10, 20, 20) path.addEllipse(-10, -10, 20, 20)
else: else:
path.addRect(-10, -10, 20, 20) path.addRect(-10, -10, 20, 20)
return path return path
@timer @timer
@ -101,9 +98,7 @@ class NodeItem(QGraphicsItem):
color = Qt.green color = Qt.green
painter.setBrush(QBrush(color)) painter.setBrush(QBrush(color))
reservoir = self.graph.graph._reservoir.get_assoc_to_node(self.node) if self.graph.graph._reservoir.get_assoc_to_node(self.node) is None:
if reservoir is None or reservoir.is_deleted():
painter.drawEllipse(-10, -10, 20, 20) painter.drawEllipse(-10, -10, 20, 20)
else: else:
painter.drawRect(-10, -10, 20, 20) painter.drawRect(-10, -10, 20, 20)

View File

@ -38,7 +38,7 @@ from View.Tools.PamhyrTable import PamhyrTableModel
from View.Reservoir.UndoCommand import ( from View.Reservoir.UndoCommand import (
SetNameCommand, SetNodeCommand, SetNameCommand, SetNodeCommand,
AddCommand, DelCommand, AddCommand, DelCommand, PasteCommand,
) )
logger = logging.getLogger() logger = logging.getLogger()
@ -103,19 +103,6 @@ class TableModel(PamhyrTableModel):
def _setup_lst(self): def _setup_lst(self):
self._lst = self._data.reservoir self._lst = self._data.reservoir
def get_true_data_row(self, row):
resvervoir = self._lst.get(row)
return next(
map(
lambda e: e[0],
filter(
lambda e: e[1] == resvervoir,
enumerate(self._lst.lst)
)
), 0
)
def rowCount(self, parent): def rowCount(self, parent):
return len(self._lst) return len(self._lst)
@ -166,8 +153,6 @@ class TableModel(PamhyrTableModel):
def add(self, row, parent=QModelIndex()): def add(self, row, parent=QModelIndex()):
self.beginInsertRows(parent, row, row - 1) self.beginInsertRows(parent, row, row - 1)
row = self.get_true_data_row(row)
self._undo.push( self._undo.push(
AddCommand( AddCommand(
self._lst, row self._lst, row
@ -182,12 +167,7 @@ class TableModel(PamhyrTableModel):
self._undo.push( self._undo.push(
DelCommand( DelCommand(
self._lst, list( self._lst, rows
map(
lambda r: self._lst.get(r),
rows
)
)
) )
) )

View File

@ -76,8 +76,7 @@ class AddCommand(QUndoCommand):
self._new = None self._new = None
def undo(self): def undo(self):
self._new.set_as_deleted() self._reservoir_lst.delete_i([self._index])
self._reservoir_lst.modified()
def redo(self): def redo(self):
if self._new is None: if self._new is None:
@ -85,8 +84,6 @@ class AddCommand(QUndoCommand):
else: else:
self._reservoir_lst.insert(self._index, self._new) self._reservoir_lst.insert(self._index, self._new)
self._reservoir_lst.modified()
class AddAndAssociateCommand(QUndoCommand): class AddAndAssociateCommand(QUndoCommand):
def __init__(self, reservoir_lst, index, node): def __init__(self, reservoir_lst, index, node):
@ -99,8 +96,7 @@ class AddAndAssociateCommand(QUndoCommand):
self._node = node self._node = node
def undo(self): def undo(self):
self._reservoir_lst.delete(self._new) self._reservoir_lst.delete_i([self._index])
self._reservoir_lst.modified()
def redo(self): def redo(self):
if self._new is None: if self._new is None:
@ -109,44 +105,45 @@ class AddAndAssociateCommand(QUndoCommand):
self._reservoir_lst.insert(self._index, self._new) self._reservoir_lst.insert(self._index, self._new)
self._reservoir_lst.get(self._index).node = self._node self._reservoir_lst.get(self._index).node = self._node
self._reservoir_lst.modified()
class DelCommand(QUndoCommand): class DelCommand(QUndoCommand):
def __init__(self, reservoir_lst, reservoirs): def __init__(self, reservoir_lst, rows):
QUndoCommand.__init__(self) QUndoCommand.__init__(self)
self._reservoir_lst = reservoir_lst self._reservoir_lst = reservoir_lst
self._reservoirs = reservoirs
self._rows = rows
self._reservoir = []
for row in rows:
self._reservoir.append((row, self._reservoir_lst.get(row)))
self._reservoir.sort()
def undo(self): def undo(self):
for reservoir in self._reservoirs: for row, el in self._reservoir:
reservoir.set_as_not_deleted() self._reservoir_lst.insert(row, el)
self._reservoir_lst.modified()
def redo(self): def redo(self):
for reservoir in self._reservoirs: self._reservoir_lst.delete_i(self._rows)
reservoir.set_as_deleted()
self._reservoir_lst.modified()
# class PasteCommand(QUndoCommand): class PasteCommand(QUndoCommand):
# def __init__(self, reservoir_lst, row, reservoir): def __init__(self, reservoir_lst, row, reservoir):
# QUndoCommand.__init__(self) QUndoCommand.__init__(self)
# self._reservoir_lst = reservoir_lst self._reservoir_lst = reservoir_lst
# self._row = row self._row = row
# self._reservoir = deepcopy(reservoir) self._reservoir = deepcopy(reservoir)
# self._reservoir.reverse() self._reservoir.reverse()
# def undo(self): def undo(self):
# self._reservoir_lst.delete_i( self._reservoir_lst.delete_i(
# self._tab, self._tab,
# range(self._row, self._row + len(self._reservoir)) range(self._row, self._row + len(self._reservoir))
# ) )
# def redo(self): def redo(self):
# for r in self._reservoir: for r in self._reservoir:
# self._reservoir_lst.insert(self._row, r) self._reservoir_lst.insert(self._row, r)