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"]) |