objdictgen/node.py
changeset 281 685d9a26e4f9
parent 274 39beb1c7542a
child 284 24bf3d692993
equal deleted inserted replaced
280:d9b232ec7057 281:685d9a26e4f9
   736                     self.UserMapping[index]["default"] = default
   736                     self.UserMapping[index]["default"] = default
   737                 if values != None:
   737                 if values != None:
   738                     self.UserMapping[index]["values"] = values
   738                     self.UserMapping[index]["values"] = values
   739                 return True
   739                 return True
   740             elif 0 <= subIndex < len(self.UserMapping[index]["values"]) and values != None:
   740             elif 0 <= subIndex < len(self.UserMapping[index]["values"]) and values != None:
       
   741                 if "type" in values:
       
   742                     if self.IsStringType(values["type"]) and not self.IsStringType(self.UserMapping[index]["values"][subIndex]["type"]):
       
   743                         self.SetEntry(index, subIndex, "")
       
   744                     elif not self.IsStringType(values["type"]) and self.IsStringType(self.UserMapping[index]["values"][subIndex]["type"]):
       
   745                         self.SetEntry(index, subIndex, 0)
   741                 self.UserMapping[index]["values"][subIndex].update(values)
   746                 self.UserMapping[index]["values"][subIndex].update(values)
   742                 return True
   747                 return True
   743         return False
   748         return False
   744     
   749     
   745     """
   750     """
   970             name = self.GetTypeName(index)
   975             name = self.GetTypeName(index)
   971             dic[index] = [name, valuetype]
   976             dic[index] = [name, valuetype]
   972         return dic
   977         return dic
   973 
   978 
   974 #-------------------------------------------------------------------------------
   979 #-------------------------------------------------------------------------------
       
   980 #                            Type helper functions
       
   981 #-------------------------------------------------------------------------------
       
   982 
       
   983     def IsStringType(self, index):
       
   984         if index in (0x9, 0xA, 0xB):
       
   985             return True
       
   986         elif 0xA0 <= index < 0x100:
       
   987             result = self.GetEntry(index, 1)
       
   988             if result is not None and result in (0x9, 0xA, 0xB):
       
   989                 return True
       
   990         return False
       
   991 
       
   992 #-------------------------------------------------------------------------------
   975 #                            Type and Map Variable Lists
   993 #                            Type and Map Variable Lists
   976 #-------------------------------------------------------------------------------
   994 #-------------------------------------------------------------------------------
   977     
   995     
   978     def GetTypeList(self):
   996     def GetTypeList(self):
   979         list = FindTypeList(MappingDictionary)
   997         list = FindTypeList(MappingDictionary)