mirror of https://gitlab.com/pamhyr/pamhyr2
Scenario: Remove posibility to remove non leaf scenario.
parent
d922436ada
commit
5d8ec51417
|
|
@ -16,6 +16,8 @@
|
|||
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from functools import reduce
|
||||
|
||||
from tools import logger_exception
|
||||
|
||||
from Model.Tools.PamhyrDict import PamhyrModelDict
|
||||
|
|
@ -78,3 +80,12 @@ class Scenarios(PamhyrModelDict):
|
|||
|
||||
self._dict[key].set_as_deleted()
|
||||
self._status.modified()
|
||||
|
||||
def is_leaf(self, scenario):
|
||||
return not reduce(
|
||||
lambda acc, s: (
|
||||
acc or s.parent is scenario
|
||||
),
|
||||
self._dict.values(),
|
||||
False
|
||||
)
|
||||
|
|
|
|||
|
|
@ -57,6 +57,8 @@ class DefaultMenu(AbstractMenu):
|
|||
class ScenarioMenu(AbstractMenu):
|
||||
def run(self):
|
||||
item = self._items[0]
|
||||
scenarios = item.graph._study.scenarios
|
||||
|
||||
current_scenario = item.graph._study.status.scenario.id
|
||||
|
||||
select = self._menu.addAction(self._trad["menu_select_scenario"])
|
||||
|
|
@ -64,7 +66,9 @@ class ScenarioMenu(AbstractMenu):
|
|||
delete = None
|
||||
|
||||
if item.scenario.id != 0:
|
||||
if scenarios.is_leaf(item.scenario):
|
||||
delete = self._menu.addAction(self._trad["menu_del_scenario"])
|
||||
|
||||
if item.scenario.id == current_scenario:
|
||||
duplicate = self._menu.addAction(
|
||||
self._trad["menu_dup_scenario"]
|
||||
|
|
|
|||
Loading…
Reference in New Issue