DataTypeEditor.py
changeset 130 38421cd7c8ff
parent 125 394d9f168258
child 150 f7832baaad84
equal deleted inserted replaced
129:ae2421aa0aa4 130:38421cd7c8ff
   306         self.DerivationType.Append("Array")
   306         self.DerivationType.Append("Array")
   307         self.SubrangePanel.Hide()
   307         self.SubrangePanel.Hide()
   308         self.EnumeratedPanel.Hide()
   308         self.EnumeratedPanel.Hide()
   309         self.ArrayPanel.Hide()
   309         self.ArrayPanel.Hide()
   310         self.CurrentPanel = "Directly"
   310         self.CurrentPanel = "Directly"
       
   311         self.Initializing = False
   311         
   312         
   312         self.ParentWindow = window
   313         self.ParentWindow = window
   313         self.Controler = controler
   314         self.Controler = controler
   314         self.TagName = tagname
   315         self.TagName = tagname
   315     
   316     
   348 
   349 
   349     def ResetBuffer(self):
   350     def ResetBuffer(self):
   350         pass
   351         pass
   351 
   352 
   352     def RefreshView(self):
   353     def RefreshView(self):
       
   354         self.Initializing = True
   353         self.DirectlyBaseType.Clear()
   355         self.DirectlyBaseType.Clear()
   354         self.ArrayBaseType.Clear()
   356         self.ArrayBaseType.Clear()
   355         for datatype in self.Controler.GetDataTypes(self.TagName):
   357         for datatype in self.Controler.GetDataTypes(self.TagName):
   356             self.DirectlyBaseType.Append(datatype)
   358             self.DirectlyBaseType.Append(datatype)
   357             self.ArrayBaseType.Append(datatype)
   359             self.ArrayBaseType.Append(datatype)
   385             elif type_infos["type"] == "Array":
   387             elif type_infos["type"] == "Array":
   386                 self.ArrayBaseType.SetStringSelection(type_infos["base_type"])
   388                 self.ArrayBaseType.SetStringSelection(type_infos["base_type"])
   387                 self.ArrayDimensions.SetStrings(type_infos["dimensions"])
   389                 self.ArrayDimensions.SetStrings(type_infos["dimensions"])
   388                 self.ArrayInitialValue.SetValue(type_infos["initial"])
   390                 self.ArrayInitialValue.SetValue(type_infos["initial"])
   389             self.RefreshDisplayedInfos()
   391             self.RefreshDisplayedInfos()
       
   392         self.Initializing = False
   390 
   393 
   391     def OnDerivationTypeChanged(self, event):
   394     def OnDerivationTypeChanged(self, event):
   392         self.RefreshDisplayedInfos()
   395         self.RefreshDisplayedInfos()
   393         self.RefreshTypeInfos()
   396         self.RefreshTypeInfos()
   394         event.Skip()
   397         event.Skip()
   401         self.RefreshBoundsRange()
   404         self.RefreshBoundsRange()
   402         self.RefreshTypeInfos()
   405         self.RefreshTypeInfos()
   403         event.Skip()
   406         event.Skip()
   404 
   407 
   405     def OnSubrangeMinimumChanged(self, event):
   408     def OnSubrangeMinimumChanged(self, event):
   406         wx.CallAfter(self.SubrangeMinimum.SetValue, min(self.SubrangeMaximum.GetValue(), self.SubrangeMinimum.GetValue()))
   409         if self.Initializing:
   407         wx.CallAfter(self.RefreshSubrangeInitialValueRange)
   410             wx.CallAfter(self.SubrangeMinimum.SetValue, min(self.SubrangeMaximum.GetValue(), self.SubrangeMinimum.GetValue()))
   408         wx.CallAfter(self.RefreshTypeInfos)
   411             wx.CallAfter(self.RefreshSubrangeInitialValueRange)
       
   412             wx.CallAfter(self.RefreshTypeInfos)
   409         event.Skip()
   413         event.Skip()
   410 
   414 
   411     def OnSubrangeMaximumChanged(self, event):
   415     def OnSubrangeMaximumChanged(self, event):
   412         wx.CallAfter(self.SubrangeMaximum.SetValue, max(self.SubrangeMinimum.GetValue(), self.SubrangeMaximum.GetValue()))
   416         if self.Initializing:
   413         wx.CallAfter(self.RefreshSubrangeInitialValueRange)
   417             wx.CallAfter(self.SubrangeMaximum.SetValue, max(self.SubrangeMinimum.GetValue(), self.SubrangeMaximum.GetValue()))
   414         wx.CallAfter(self.RefreshTypeInfos)
   418             wx.CallAfter(self.RefreshSubrangeInitialValueRange)
       
   419             wx.CallAfter(self.RefreshTypeInfos)
   415         event.Skip()
   420         event.Skip()
   416 
   421 
   417     def OnDimensionsChanged(self, event):
   422     def OnDimensionsChanged(self, event):
   418         wx.CallAfter(self.RefreshTypeInfos)
   423         wx.CallAfter(self.RefreshTypeInfos)
   419         event.Skip()
   424         event.Skip()