objdictgen/nodemanager.py
changeset 582 e297491483ea
parent 580 2ae92a99ac10
child 584 e23359f62023
equal deleted inserted replaced
581:dc35cf4ed127 582:e297491483ea
  1037             for i, dic in enumerate(data):
  1037             for i, dic in enumerate(data):
  1038                 infos = node.GetSubentryInfos(index, i)
  1038                 infos = node.GetSubentryInfos(index, i)
  1039                 dic["subindex"] = "0x%02X"%i
  1039                 dic["subindex"] = "0x%02X"%i
  1040                 dic["name"] = infos["name"]
  1040                 dic["name"] = infos["name"]
  1041                 dic["type"] = node.GetTypeName(infos["type"])
  1041                 dic["type"] = node.GetTypeName(infos["type"])
       
  1042                 if dic["type"] is None:
       
  1043                     dic["type"] = "Unknown"
  1042                 dic["access"] = AccessType[infos["access"]]
  1044                 dic["access"] = AccessType[infos["access"]]
  1043                 dic["save"] = OptionType[dic["save"]]
  1045                 dic["save"] = OptionType[dic["save"]]
  1044                 editor = {"subindex" : None, "save" : "option", "callback" : "option", "comment" : "string"}
  1046                 editor = {"subindex" : None, "name" : None, 
       
  1047                           "type" : None, "value" : None,
       
  1048                           "access" : None, "save" : "option", 
       
  1049                           "callback" : "option", "comment" : "string"}
  1045                 if isinstance(values, ListType) and i == 0:
  1050                 if isinstance(values, ListType) and i == 0:
  1046                     editor["name"] = None
       
  1047                     editor["type"] = None
       
  1048                     if 0x1600 <= index <= 0x17FF or 0x1A00 <= index <= 0x1C00:
  1051                     if 0x1600 <= index <= 0x17FF or 0x1A00 <= index <= 0x1C00:
  1049                         editor["access"] = "raccess"
  1052                         editor["access"] = "raccess"
  1050                     else:
       
  1051                         editor["access"] = None
       
  1052                     editor["value"] = None
       
  1053                 else:
  1053                 else:
  1054                     if infos["user_defined"]:
  1054                     if infos["user_defined"]:
  1055                         if entry_infos["struct"] & OD_IdenticalSubindexes:
  1055                         if entry_infos["struct"] & OD_IdenticalSubindexes:
  1056                             editor["name"] = None
  1056                             if i == 0:
  1057                             if i > 1:
       
  1058                                 editor["type"] = None
       
  1059                                 editor["access"] = None
       
  1060                             else:
       
  1061                                 editor["type"] = "type"
  1057                                 editor["type"] = "type"
  1062                                 editor["access"] = "access"
  1058                                 editor["access"] = "access"
  1063                         else:
  1059                         else:
  1064                             if entry_infos["struct"] & OD_MultipleSubindexes:
  1060                             if entry_infos["struct"] & OD_MultipleSubindexes:
  1065                                 editor["name"] = "string"
  1061                                 editor["name"] = "string"
  1066                             else:
       
  1067                                 editor["name"] = None
       
  1068                             editor["type"] = "type"
  1062                             editor["type"] = "type"
  1069                             editor["access"] = "access"
  1063                             editor["access"] = "access"
  1070                     else:
       
  1071                         editor["name"] = None
       
  1072                         editor["type"] = None
       
  1073                         editor["access"] = None
       
  1074                     if index < 0x260:
  1064                     if index < 0x260:
  1075                         editor["value"] = None
       
  1076                         if i == 1:
  1065                         if i == 1:
  1077                             dic["value"] = node.GetTypeName(dic["value"])
  1066                             dic["value"] = node.GetTypeName(dic["value"])
  1078                     elif 0x1600 <= index <= 0x17FF or 0x1A00 <= index <= 0x1C00:
  1067                     elif 0x1600 <= index <= 0x17FF or 0x1A00 <= index <= 0x1C00:
  1079                         editor["value"] = "map"
  1068                         editor["value"] = "map"
  1080                         dic["value"] = node.GetMapName(dic["value"])
  1069                         dic["value"] = node.GetMapName(dic["value"])