Parcourir la source

Offer some more information on models, but don't render yet

Yentl Van Tendeloo il y a 8 ans
Parent
commit
1fa8cc228d
1 fichiers modifiés avec 24 ajouts et 3 suppressions
  1. 24 3
      models/render_SCD.alc

+ 24 - 3
models/render_SCD.alc

@@ -5,7 +5,28 @@ include "object_operations.alh"
 Boolean function main(model : Element):
 	log("Got model to render!")
 	log("Classes:")
-	log(set_to_string(allInstances(model, "abstract/Class")))
-	log("Associations:")
-	log(set_to_string(allInstances(model, "abstract/Association")))
+
+	Element classes
+	String class
+	Element attrs
+	Element attr_keys
+	String attr_key
+
+	classes = allInstances(model, "abstract/Class")
+	while (set_len(classes) > 0):
+		class = set_pop(classes)
+		attr_keys = dict_keys(getAttributeList(model, class))
+
+		while (set_len(attr_keys) > 0):
+			attr_key = set_pop(attr_keys)
+			log((("  " + attr_key) + " = ") + cast_v2s(read_attribute(model, class, attr_key)))
+
+		attrs = getInstantiatableAttributes(model, class)
+		attr_keys = dict_keys(attrs)
+		while (dict_len(attr_keys) > 0):
+			attr_key = set_pop(attr_keys)
+			log((("  " + attr_key) + " : ") + cast_v2s(attrs[attr_key]))
+
+		log("")
+
 	return True!