editors/DataTypeEditor.py
changeset 1821 44a47d255d36
parent 1812 8626a4948d5e
child 1833 2269739dd098
equal deleted inserted replaced
1820:76f5eba31afd 1821:44a47d255d36
    56 def GetDatatypeTypes():
    56 def GetDatatypeTypes():
    57     _ = NoTranslate
    57     _ = NoTranslate
    58     return [_("Directly"), _("Subrange"), _("Enumerated"), _("Array"), _("Structure")]
    58     return [_("Directly"), _("Subrange"), _("Enumerated"), _("Array"), _("Structure")]
    59 
    59 
    60 
    60 
    61 DATATYPE_TYPES_DICT = dict([(_(datatype), datatype) for datatype in GetDatatypeTypes()])
       
    62 
       
    63 # -------------------------------------------------------------------------------
    61 # -------------------------------------------------------------------------------
    64 #                            Structure Elements Table
    62 #                            Structure Elements Table
    65 # -------------------------------------------------------------------------------
    63 # -------------------------------------------------------------------------------
    66 
    64 
    67 
    65 
   396         self.StructureElementsGrid.SetTable(self.StructureElementsTable)
   394         self.StructureElementsGrid.SetTable(self.StructureElementsTable)
   397         self.StructureElementsGrid.SetButtons({"Add": self.StructureAddButton,
   395         self.StructureElementsGrid.SetButtons({"Add": self.StructureAddButton,
   398                                                "Delete": self.StructureDeleteButton,
   396                                                "Delete": self.StructureDeleteButton,
   399                                                "Up": self.StructureUpButton,
   397                                                "Up": self.StructureUpButton,
   400                                                "Down": self.StructureDownButton})
   398                                                "Down": self.StructureDownButton})
       
   399 
       
   400         self.DATATYPE_TYPES_DICT = dict([(_(datatype), datatype) for datatype in GetDatatypeTypes()])
   401 
   401 
   402         def _AddStructureElement(new_row):
   402         def _AddStructureElement(new_row):
   403             self.StructureElementsTable.InsertRow(new_row, self.StructureElementDefaultValue.copy())
   403             self.StructureElementsTable.InsertRow(new_row, self.StructureElementDefaultValue.copy())
   404             self.RefreshTypeInfos()
   404             self.RefreshTypeInfos()
   405             self.StructureElementsTable.ResetView(self.StructureElementsGrid)
   405             self.StructureElementsTable.ResetView(self.StructureElementsGrid)
   682             self.RefreshTypeInfos()
   682             self.RefreshTypeInfos()
   683             self.StructureElementsTable.ResetView(self.StructureElementsGrid)
   683             self.StructureElementsTable.ResetView(self.StructureElementsGrid)
   684         dialog.Destroy()
   684         dialog.Destroy()
   685 
   685 
   686     def RefreshDisplayedInfos(self):
   686     def RefreshDisplayedInfos(self):
   687         selected = DATATYPE_TYPES_DICT[self.DerivationType.GetStringSelection()]
   687         selected = self.DATATYPE_TYPES_DICT[self.DerivationType.GetStringSelection()]
   688         if selected != self.CurrentPanel:
   688         if selected != self.CurrentPanel:
   689             if self.CurrentPanel == "Directly":
   689             if self.CurrentPanel == "Directly":
   690                 self.DirectlyPanel.Hide()
   690                 self.DirectlyPanel.Hide()
   691             elif self.CurrentPanel == "Subrange":
   691             elif self.CurrentPanel == "Subrange":
   692                 self.SubrangePanel.Hide()
   692                 self.SubrangePanel.Hide()
   729 
   729 
   730     def RefreshSubrangeInitialValueRange(self):
   730     def RefreshSubrangeInitialValueRange(self):
   731         self.SubrangeInitialValue.SetBounds(self.SubrangeMinimum.GetValue(), self.SubrangeMaximum.GetValue())
   731         self.SubrangeInitialValue.SetBounds(self.SubrangeMinimum.GetValue(), self.SubrangeMaximum.GetValue())
   732 
   732 
   733     def RefreshTypeInfos(self):
   733     def RefreshTypeInfos(self):
   734         selected = DATATYPE_TYPES_DICT[self.DerivationType.GetStringSelection()]
   734         selected = self.DATATYPE_TYPES_DICT[self.DerivationType.GetStringSelection()]
   735         infos = {"type": selected}
   735         infos = {"type": selected}
   736         if selected == "Directly":
   736         if selected == "Directly":
   737             infos["base_type"] = self.DirectlyBaseType.GetStringSelection()
   737             infos["base_type"] = self.DirectlyBaseType.GetStringSelection()
   738             infos["initial"] = self.DirectlyInitialValue.GetValue()
   738             infos["initial"] = self.DirectlyInitialValue.GetValue()
   739         elif selected == "Subrange":
   739         elif selected == "Subrange":