Beremiz_service.py
changeset 369 bd54d41a7573
parent 368 86ecd8374dae
child 381 5c0f34a9ab00
equal deleted inserted replaced
368:86ecd8374dae 369:bd54d41a7573
   547             return self.HMI
   547             return self.HMI
   548         
   548         
   549         def HMIexec(self, function, *args, **kwargs):
   549         def HMIexec(self, function, *args, **kwargs):
   550             if self.HMI is not None:
   550             if self.HMI is not None:
   551                 getattr(self.HMI, function, lambda:None)(*args, **kwargs)
   551                 getattr(self.HMI, function, lambda:None)(*args, **kwargs)
   552         athena.expose(executeOnHMI)
   552         athena.expose(HMIexec)
   553         
   553         
   554         def resetHMI(self):
   554         def resetHMI(self):
   555             self.HMI = None
   555             self.HMI = None
   556         
   556         
   557         def PLCElement(self, ctx, data):
   557         def PLCElement(self, ctx, data):
   562             self.detachFragmentChildren()
   562             self.detachFragmentChildren()
   563             if self.pcl_state:
   563             if self.pcl_state:
   564                 f = self.PLCStartedHMIClass()
   564                 f = self.PLCStartedHMIClass()
   565             else:
   565             else:
   566                 f = PLCStoppedHMI()
   566                 f = PLCStoppedHMI()
       
   567             f.setFragmentParent(self)
   567             self.HMI = f
   568             self.HMI = f
   568             f.setFragmentParent(self)
       
   569             return f
   569             return f
   570         athena.expose(getPLCElement)
   570         athena.expose(getPLCElement)
   571 
   571 
   572         def detachFragmentChildren(self):
   572         def detachFragmentChildren(self):
   573             for child in self.liveFragmentChildren[:]:
   573             for child in self.liveFragmentChildren[:]:
   591             self.MainPage.setPLCState(plcState)
   591             self.MainPage.setPLCState(plcState)
   592 
   592 
   593         def getHMI(self):
   593         def getHMI(self):
   594             return self.MainPage.getHMI()
   594             return self.MainPage.getHMI()
   595         
   595         
   596         def LoadHMI(self, plc, jsmodules):
   596         def LoadHMI(self, hmi, jsmodules):
   597             for name, path in jsmodules.iteritems():
   597             for name, path in jsmodules.iteritems():
   598                 self.jsModules.mapping[name] = os.path.join(WorkingDir, path)
   598                 self.jsModules.mapping[name] = os.path.join(WorkingDir, path)
   599             self.MainPage.setPLCStarted(plc)
   599             self.MainPage.setPLCStartedHMI(hmi)
   600         
   600         
   601         def UnLoadHMI(self):
   601         def UnLoadHMI(self):
   602             self.MainPage.resetPLCStartedHMI()
   602             self.MainPage.resetPLCStartedHMI()
   603         
   603         
   604         def PLCStarted(self):
   604         def PLCStarted(self):