diff options
Diffstat (limited to 'client/menu/document')
-rw-r--r-- | client/menu/document/document.gd | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/client/menu/document/document.gd b/client/menu/document/document.gd index 194b88d1..5c620213 100644 --- a/client/menu/document/document.gd +++ b/client/menu/document/document.gd @@ -18,6 +18,8 @@ extends Menu const MARGIN: int = 75 +var labels := {} + func _ready(): super() $ScrollContainer/VBoxContainer.add_child(build_document(data)) @@ -45,8 +47,12 @@ func build_document(element: Dictionary, bullet: bool = false) -> Control: margin.add_child(background(element["background"])) margin.add_child(vbox) for e in element["es"]: - vbox.add_child(build_document(e)) + vbox.add_child(build_document(e, bullet)) node.add_child(margin) + "label": + var label_id = element["id"] + node = build_document(element["e"], bullet) + labels[label_id] = node "list": node = VBoxContainer.new() node.name = "List" @@ -62,17 +68,20 @@ func build_document(element: Dictionary, bullet: bool = false) -> Control: row.size_flags_horizontal = Control.SIZE_EXPAND_FILL row.name = "Row%d" % r for c in element["es"][r]: - var e = build_document(c) + var e = build_document(c, bullet) e.size_flags_horizontal = Control.SIZE_EXPAND_FILL row.add_child(e) "par": node = VBoxContainer.new() node.name = "Paragraph" for e in element["es"]: - node.add_child(build_document(e)) + node.add_child(build_document(e, bullet)) + #"ref": + # TODO, implement later "text": node = text_node(element, bullet) _: + node = Control.new() push_error("Error building document: Unknown type \"%s\"" % element["t"]) return node @@ -86,8 +95,11 @@ func text_node(element: Dictionary, bullet: bool) -> Control: bullet_label.text = "•" if element.get("size"): bullet_label.add_theme_font_size_override("font_size", element["size"]) - if element.get("color"): - bullet_label.add_theme_color_override("font_color", Color(element["color"])) + # TODO: Ignore font color for now. Will be removed in the future. + # if element.get("color"): + # bullet_label.add_theme_color_override("font_color", Color(element["color"])) + bullet_label.add_theme_color_override("font_color", Color.BLACK) + label.add_theme_color_override("font_color", Color.BLACK) node.add_child(bullet_label) label.size_flags_horizontal = Control.SIZE_EXPAND_FILL node.add_child(label) @@ -102,8 +114,10 @@ func text_node(element: Dictionary, bullet: bool) -> Control: node.add_theme_font_override("font", preload("res://menu/theme/fonts/font-sansita-swashed.woff2")) if element.get("size"): node.add_theme_font_size_override("font_size", element["size"]) - if element.get("color"): - label.add_theme_color_override("font_color", Color(element["color"])) + # TODO: Ignore font color for now. Will be removed in the future. + # if element.get("color"): + # label.add_theme_color_override("font_color", Color(element["color"])) + label.add_theme_color_override("font_color", Color.BLACK) return node func background(background_name: String) -> SubViewportContainer: |