objdictgen/subindextable.py
changeset 336 42ab55532da8
parent 327 b904d9a99e28
child 340 60e1eb89455e
equal deleted inserted replaced
335:6052c980c3af 336:42ab55532da8
   711                 if not entry_infos["struct"] & OD_MultipleSubindexes or subindex != 0:
   711                 if not entry_infos["struct"] & OD_MultipleSubindexes or subindex != 0:
   712                     subentry_infos = self.Manager.GetSubentryInfos(index, subindex)
   712                     subentry_infos = self.Manager.GetSubentryInfos(index, subindex)
   713                     typeinfos = self.Manager.GetEntryInfos(subentry_infos["type"])
   713                     typeinfos = self.Manager.GetEntryInfos(subentry_infos["type"])
   714                     if typeinfos:
   714                     if typeinfos:
   715                         node_id = self.ParentWindow.GetCurrentNodeId()
   715                         node_id = self.ParentWindow.GetCurrentNodeId()
   716                         self.Manager.AddToMasterDCF(node_id, index, subindex, max(1, typeinfos["size"] / 8), int(self.Table.GetValueByName(subindex, "value"), 16))    
   716                         value = self.Table.GetValueByName(subindex, "value")
       
   717                         if value == "True":
       
   718                             value = 0
       
   719                         elif value == "False":
       
   720                             value = 1
       
   721                         elif value.isdigit():
       
   722                             value = int(value)
       
   723                         elif value.startswith("0x"):
       
   724                             value = int(value, 16)
       
   725                         else:
       
   726                             value = int(value.encode("hex_codec"), 16)
       
   727                         self.Manager.AddToMasterDCF(node_id, index, subindex, max(1, typeinfos["size"] / 8), value)    
   717                         self.ParentWindow.OpenMasterDCFDialog(node_id)
   728                         self.ParentWindow.OpenMasterDCFDialog(node_id)
   718 
   729 
   719     def OpenDCFDIalog(self, node_id):
   730     def OpenDCFDialog(self, node_id):
   720         self.PartList.SetSelection(7)
   731         self.PartList.SetSelection(7)
   721         self.RefreshIndexList()
   732         self.RefreshIndexList()
   722         self.IndexList.SetSelection(self.ListIndex.index(0x1F22))
   733         self.IndexList.SetSelection(self.ListIndex.index(0x1F22))
   723         self.RefreshTable()
   734         self.RefreshTable()
   724         self.SubindexGrid.SetGridCursor(node_id, 3)
   735         self.SubindexGrid.SetGridCursor(node_id, 3)