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 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
from functools import reduce
|
||||||
|
|
||||||
from tools import logger_exception
|
from tools import logger_exception
|
||||||
|
|
||||||
from Model.Tools.PamhyrDict import PamhyrModelDict
|
from Model.Tools.PamhyrDict import PamhyrModelDict
|
||||||
|
|
@ -78,3 +80,12 @@ class Scenarios(PamhyrModelDict):
|
||||||
|
|
||||||
self._dict[key].set_as_deleted()
|
self._dict[key].set_as_deleted()
|
||||||
self._status.modified()
|
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):
|
class ScenarioMenu(AbstractMenu):
|
||||||
def run(self):
|
def run(self):
|
||||||
item = self._items[0]
|
item = self._items[0]
|
||||||
|
scenarios = item.graph._study.scenarios
|
||||||
|
|
||||||
current_scenario = item.graph._study.status.scenario.id
|
current_scenario = item.graph._study.status.scenario.id
|
||||||
|
|
||||||
select = self._menu.addAction(self._trad["menu_select_scenario"])
|
select = self._menu.addAction(self._trad["menu_select_scenario"])
|
||||||
|
|
@ -64,7 +66,9 @@ class ScenarioMenu(AbstractMenu):
|
||||||
delete = None
|
delete = None
|
||||||
|
|
||||||
if item.scenario.id != 0:
|
if item.scenario.id != 0:
|
||||||
|
if scenarios.is_leaf(item.scenario):
|
||||||
delete = self._menu.addAction(self._trad["menu_del_scenario"])
|
delete = self._menu.addAction(self._trad["menu_del_scenario"])
|
||||||
|
|
||||||
if item.scenario.id == current_scenario:
|
if item.scenario.id == current_scenario:
|
||||||
duplicate = self._menu.addAction(
|
duplicate = self._menu.addAction(
|
||||||
self._trad["menu_dup_scenario"]
|
self._trad["menu_dup_scenario"]
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue