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() |