graphics/GraphicCommons.py
changeset 442 a756b58699b8
parent 407 0a324a874981
child 467 b6ac310f9551
equal deleted inserted replaced
441:b7511a0b261c 442:a756b58699b8
   245         self.Inhibited = inhibit
   245         self.Inhibited = inhibit
   246         for consumer, iec_path in self.DataConsumers.iteritems():
   246         for consumer, iec_path in self.DataConsumers.iteritems():
   247             consumer.Inhibit(inhibit)
   247             consumer.Inhibit(inhibit)
   248     
   248     
   249     def AddDataConsumer(self, iec_path, consumer):
   249     def AddDataConsumer(self, iec_path, consumer):
       
   250         if self.DataProducer is None:
       
   251             return False
   250         result = self.DataProducer.SubscribeDebugIECVariable(iec_path, consumer) is not None
   252         result = self.DataProducer.SubscribeDebugIECVariable(iec_path, consumer) is not None
   251         if result is not None and consumer != self:
   253         if result is not None and consumer != self:
   252             self.DataConsumers[consumer] = iec_path
   254             self.DataConsumers[consumer] = iec_path
   253         return result
   255         return result
   254     
   256     
   256         iec_path = self.DataConsumers.pop(consumer, None)
   258         iec_path = self.DataConsumers.pop(consumer, None)
   257         if iec_path is not None:
   259         if iec_path is not None:
   258             self.DataProducer.UnsubscribeDebugIECVariable(iec_path, consumer)
   260             self.DataProducer.UnsubscribeDebugIECVariable(iec_path, consumer)
   259     
   261     
   260     def DeleteDataConsumers(self):
   262     def DeleteDataConsumers(self):
   261         for consumer, iec_path in self.DataConsumers.iteritems():
   263         if self.DataProducer is not None:
   262             self.DataProducer.UnsubscribeDebugIECVariable(iec_path, consumer)
   264             for consumer, iec_path in self.DataConsumers.iteritems():
       
   265                 self.DataProducer.UnsubscribeDebugIECVariable(iec_path, consumer)
   263         self.DataConsumers = {}
   266         self.DataConsumers = {}
   264     
   267     
   265     def OnRefreshTimer(self, event):
   268     def OnRefreshTimer(self, event):
   266         self.RefreshNewData()
   269         self.RefreshNewData()
   267         event.Skip()
   270         event.Skip()