From a777852afbcf1bfec25707fb1ea43ab3d385f497 Mon Sep 17 00:00:00 2001 From: Capocchi L Date: Fri, 20 Nov 2020 09:16:36 +0100 Subject: [PATCH] improve Insert fct in Editor --- DomainInterface/DomainBehavior.py | 15 ++- Editor.py | 177 +++++++++++++++++++++--------- WizardGUI.py | 14 +-- devsimpy-nogui.py | 5 +- simu.report | 2 +- 5 files changed, 144 insertions(+), 69 deletions(-) diff --git a/DomainInterface/DomainBehavior.py b/DomainInterface/DomainBehavior.py index 3cca77eb..87201585 100644 --- a/DomainInterface/DomainBehavior.py +++ b/DomainInterface/DomainBehavior.py @@ -93,16 +93,22 @@ def initPhase(self, phase:str="IDLE", sigma:float=0.0)->None: def setSigma(self,sigma:float=0.0)->None: self.state['sgima'] = sigma + def setStatus(self, phase:str)->None: + self.state['status'] = phase + + def setState(self, s:dict)->None: + self.state = s + def phaseIs(self, phase:str)->bool: return phase == self.state['status'] - def passivate(self)->None: + def passivate(self)->dict: return self.passivateIn('passive') - def passivateIn(self, phase:str="")->None: + def passivateIn(self, phase:str="")->dict: return self.holdIn(phase, sigma=INFINITY) - def holdIn(self, phase:str="", sigma:float=0.0)->None: + def holdIn(self, phase:str="", sigma:float=0.0)->dict: ''' "Holding in phase " + phase + " for time " + sigma ''' self.state['status'] = phase @@ -156,6 +162,9 @@ def getStatus(self)->str: def getState(self)->dict: return self.state + + def getElapsed(self)->float: + return self.elapsed def __str__(self)->str: """ diff --git a/Editor.py b/Editor.py index aab30a2b..ca100971 100644 --- a/Editor.py +++ b/Editor.py @@ -1213,7 +1213,7 @@ def __init__(self, parent, id, title): self.size = 0 def update(self, concret_subject=None): - """ Update method that manages the embedded editor depending of the selected model in the canvas + """ Update method that manages the embedded editor depending of the selected model in the canvas. """ state = concret_subject.GetState() @@ -1368,7 +1368,7 @@ def CreateMenu(self): return menubar def CreateTB(self): - """ Create tool-bar + """ Create tool-bar. """ tb = wx.ToolBar(self, wx.NewIdRef(), name='tb', style=wx.TB_HORIZONTAL | wx.NO_BORDER) @@ -1834,19 +1834,19 @@ def __init__(self, parent, id, title): class BlockBase(object): ### def __init__(self, parent, id, title, block): - """ Constructor + """ Constructor. """ self.cb = block ### def OnInsertPeekPoke(self, event): - """ Event when insert peek or insert poke button is clicked + """ Event when insert peek or insert poke button is clicked. """ ### selected submenu menubar = self.GetMenuBar() - label = menubar.GetLabel(event.GetId()) + label = menubar.GetLabel(event.GetId()).lower() sins = None if "peek" in label: @@ -1876,28 +1876,48 @@ def OnInsertPeekPoke(self, event): cp.modify = True def OnInsertInitPhase(self, event): - """ Insert a sentence to get the init phase (status and sigma) """ cp = self.nb.GetCurrentPage() cp.AddText("self.initPhase(,)") cp.modify = True - def OnInsertState(self, event): + def OnInsertSetState(self, event): + """ Insert a sentence to set the state (status and sigma) + """ + cp = self.nb.GetCurrentPage() + cp.AddText("self.setState({'status':'', 'sigma':