DataTypeEditor.py
changeset 389 6a72016d721a
parent 379 e4c26ee9c998
child 391 07447ee3538e
equal deleted inserted replaced
388:7ea1f5094df3 389:6a72016d721a
   595                 self.DirectlyBaseType.SetStringSelection(type_infos["base_type"])
   595                 self.DirectlyBaseType.SetStringSelection(type_infos["base_type"])
   596                 self.DirectlyInitialValue.SetValue(type_infos["initial"])
   596                 self.DirectlyInitialValue.SetValue(type_infos["initial"])
   597             elif type_infos["type"] == "Subrange":
   597             elif type_infos["type"] == "Subrange":
   598                 self.SubrangeBaseType.SetStringSelection(type_infos["base_type"])
   598                 self.SubrangeBaseType.SetStringSelection(type_infos["base_type"])
   599                 self.RefreshBoundsRange()
   599                 self.RefreshBoundsRange()
   600                 self.SubrangeMinimum.SetValue(type_infos["min"])
   600                 self.SubrangeMinimum.SetValue(int(type_infos["min"]))
   601                 self.SubrangeMaximum.SetValue(type_infos["max"])
   601                 self.SubrangeMaximum.SetValue(int(type_infos["max"]))
   602                 self.RefreshSubrangeInitialValueRange()
   602                 self.RefreshSubrangeInitialValueRange()
   603                 if type_infos["initial"] != "":
   603                 if type_infos["initial"] != "":
   604                     self.SubrangeInitialValue.SetValue(int(type_infos["initial"]))
   604                     self.SubrangeInitialValue.SetValue(int(type_infos["initial"]))
   605                 else:
   605                 else:
   606                     self.SubrangeInitialValue.SetValue(type_infos["min"])
   606                     self.SubrangeInitialValue.SetValue(type_infos["min"])
   608                 self.EnumeratedValues.SetStrings(type_infos["values"])
   608                 self.EnumeratedValues.SetStrings(type_infos["values"])
   609                 self.RefreshEnumeratedValues()
   609                 self.RefreshEnumeratedValues()
   610                 self.EnumeratedInitialValue.SetStringSelection(type_infos["initial"])
   610                 self.EnumeratedInitialValue.SetStringSelection(type_infos["initial"])
   611             elif type_infos["type"] == "Array":
   611             elif type_infos["type"] == "Array":
   612                 self.ArrayBaseType.SetStringSelection(type_infos["base_type"])
   612                 self.ArrayBaseType.SetStringSelection(type_infos["base_type"])
   613                 self.ArrayDimensions.SetStrings(map(lambda x : "..".join(map(str, x)), type_infos["dimensions"]))
   613                 self.ArrayDimensions.SetStrings(map(lambda x : "..".join(x), type_infos["dimensions"]))
   614                 self.ArrayInitialValue.SetValue(type_infos["initial"])
   614                 self.ArrayInitialValue.SetValue(type_infos["initial"])
   615             elif type_infos["type"] == "Structure":
   615             elif type_infos["type"] == "Structure":
   616                 self.StructureElementsTable.SetData(type_infos["elements"])
   616                 self.StructureElementsTable.SetData(type_infos["elements"])
   617                 self.StructureElementsTable.ResetView(self.StructureElementsGrid)
   617                 self.StructureElementsTable.ResetView(self.StructureElementsGrid)
   618             self.RefreshDisplayedInfos()
   618             self.RefreshDisplayedInfos()
   847         if selected == "Directly":
   847         if selected == "Directly":
   848             infos["base_type"] = self.DirectlyBaseType.GetStringSelection()
   848             infos["base_type"] = self.DirectlyBaseType.GetStringSelection()
   849             infos["initial"] = self.DirectlyInitialValue.GetValue()
   849             infos["initial"] = self.DirectlyInitialValue.GetValue()
   850         elif selected == "Subrange":
   850         elif selected == "Subrange":
   851             infos["base_type"] = self.SubrangeBaseType.GetStringSelection()
   851             infos["base_type"] = self.SubrangeBaseType.GetStringSelection()
   852             infos["min"] = self.SubrangeMinimum.GetValue()
   852             infos["min"] = str(self.SubrangeMinimum.GetValue())
   853             infos["max"] = self.SubrangeMaximum.GetValue()
   853             infos["max"] = str(self.SubrangeMaximum.GetValue())
   854             initial_value = self.SubrangeInitialValue.GetValue()
   854             initial_value = self.SubrangeInitialValue.GetValue()
   855             if initial_value == infos["min"]:
   855             if initial_value == infos["min"]:
   856                 infos["initial"] = ""
   856                 infos["initial"] = ""
   857             else:
   857             else:
   858                 infos["initial"] = str(initial_value)
   858                 infos["initial"] = str(initial_value)
   875                     message = wx.MessageDialog(self, "\"%s\" value isn't a valid array dimension!\nRight value must be greater than left value."%dimensions, "Error", wx.OK|wx.ICON_ERROR)
   875                     message = wx.MessageDialog(self, "\"%s\" value isn't a valid array dimension!\nRight value must be greater than left value."%dimensions, "Error", wx.OK|wx.ICON_ERROR)
   876                     message.ShowModal()
   876                     message.ShowModal()
   877                     message.Destroy()
   877                     message.Destroy()
   878                     self.RefreshView()
   878                     self.RefreshView()
   879                     return
   879                     return
   880                 infos["dimensions"].append(map(int, bounds))
   880                 infos["dimensions"].append(bounds)
   881             infos["initial"] = self.ArrayInitialValue.GetValue()
   881             infos["initial"] = self.ArrayInitialValue.GetValue()
   882         elif selected == "Structure":
   882         elif selected == "Structure":
   883             infos["elements"] = self.StructureElementsTable.GetData()
   883             infos["elements"] = self.StructureElementsTable.GetData()
   884             infos["initial"] = ""
   884             infos["initial"] = ""
   885         self.Controler.SetDataTypeInfos(self.TagName, infos)
   885         self.Controler.SetDataTypeInfos(self.TagName, infos)