From fec64ebc1ba0ec947d8d8ef6ed3b3182a20d97a6 Mon Sep 17 00:00:00 2001 From: Eduardo Date: Wed, 27 Sep 2023 00:48:18 +0200 Subject: [PATCH] Basic element for to-do list styles, list structure and test data --- .../todo_list_elements/todo_element.tscn | 13 ++++ scenes/todo_list/ToDoList.gd | 10 +++ scenes/todo_list/ToDoList.tscn | 74 ++++++++++++++++--- themes/default/Default_theme.tres | 33 ++++++++- 4 files changed, 119 insertions(+), 11 deletions(-) create mode 100644 custom_elements/todo_list_elements/todo_element.tscn diff --git a/custom_elements/todo_list_elements/todo_element.tscn b/custom_elements/todo_list_elements/todo_element.tscn new file mode 100644 index 0000000..1d6e88a --- /dev/null +++ b/custom_elements/todo_list_elements/todo_element.tscn @@ -0,0 +1,13 @@ +[gd_scene format=3 uid="uid://cilxydvrxa3oj"] + +[node name="todo_element" type="MarginContainer"] +clip_contents = true +anchors_preset = 10 +anchor_right = 1.0 +offset_bottom = 119.0 +grow_horizontal = 2 + +[node name="CheckBox" type="CheckBox" parent="."] +layout_mode = 2 +text = "Pick the laundry and something else very long that canot enter the line" +text_overrun_behavior = 3 diff --git a/scenes/todo_list/ToDoList.gd b/scenes/todo_list/ToDoList.gd index 0885a1c..3af00dd 100644 --- a/scenes/todo_list/ToDoList.gd +++ b/scenes/todo_list/ToDoList.gd @@ -9,3 +9,13 @@ func _notification(what): func _on_Back_pressed(): # return to menu emit_signal("scene_changed", "res://scenes/main_menu/MainMenu.tscn") + +func DEBUG_put_lots_of_tasks(how_many: int): + for i in range(how_many): + + var new_entry = $ScrollContainer/MarginContainer/VBoxContainer/ReorderableVBox/todo_element2.duplicate() + $ScrollContainer/MarginContainer/VBoxContainer/ReorderableVBox.add_child(new_entry) + + +func _on_ready(): + DEBUG_put_lots_of_tasks(50) diff --git a/scenes/todo_list/ToDoList.tscn b/scenes/todo_list/ToDoList.tscn index b5bb05d..a26a38f 100644 --- a/scenes/todo_list/ToDoList.tscn +++ b/scenes/todo_list/ToDoList.tscn @@ -1,8 +1,10 @@ -[gd_scene load_steps=5 format=3 uid="uid://btijm1swt1mj4"] +[gd_scene load_steps=7 format=3 uid="uid://btijm1swt1mj4"] [ext_resource type="Script" path="res://scenes/todo_list/ToDoList.gd" id="1_733o8"] [ext_resource type="Shader" path="res://themes/default/backgrounds/to-do_list_screen_lines.gdshader" id="2_tsopu"] -[ext_resource type="PackedScene" uid="uid://wcc3vm8lhbp6" path="res://buttons/AnimatedButton.tscn" id="2_xdr44"] +[ext_resource type="PackedScene" uid="uid://wcc3vm8lhbp6" path="res://custom_elements/buttons/AnimatedButton.tscn" id="2_xdr44"] +[ext_resource type="Script" path="res://addons/ReorderableContainer/reorderable_vbox.gd" id="4_6gjj0"] +[ext_resource type="PackedScene" uid="uid://cilxydvrxa3oj" path="res://custom_elements/todo_list_elements/todo_element.tscn" id="4_grm34"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_uiqg4"] shader = ExtResource("2_tsopu") @@ -27,18 +29,63 @@ grow_horizontal = 2 grow_vertical = 2 color = Color(1, 0.94902, 0.905882, 1) -[node name="Title" type="Label" parent="."] -anchors_preset = 5 -anchor_left = 0.5 -anchor_right = 0.5 -offset_left = -156.0 -offset_top = 126.0 -offset_right = 156.0 -offset_bottom = 294.0 +[node name="ScrollContainer" type="ScrollContainer" parent="."] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 grow_horizontal = 2 +grow_vertical = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="MarginContainer" type="MarginContainer" parent="ScrollContainer"] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/margin_left = 0 +theme_override_constants/margin_top = 75 +theme_override_constants/margin_right = 0 +theme_override_constants/margin_bottom = 0 + +[node name="VBoxContainer" type="VBoxContainer" parent="ScrollContainer/MarginContainer"] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="Title" type="Label" parent="ScrollContainer/MarginContainer/VBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 4 theme_override_colors/font_color = Color(0, 0, 0, 1) theme_override_font_sizes/font_size = 144 text = "To Do" +vertical_alignment = 1 + +[node name="ReorderableVBox" type="Container" parent="ScrollContainer/MarginContainer/VBoxContainer" node_paths=PackedStringArray("scroll_container")] +process_mode = 1 +custom_minimum_size = Vector2(0, 319) +layout_mode = 2 +size_flags_vertical = 3 +script = ExtResource("4_6gjj0") +separation = 100 +is_vertical = true +scroll_container = NodePath("../../..") +auto_scroll_range = 0.1 + +[node name="todo_element" parent="ScrollContainer/MarginContainer/VBoxContainer/ReorderableVBox" instance=ExtResource("4_grm34")] +layout_mode = 2 +size_flags_horizontal = 3 + +[node name="todo_element2" parent="ScrollContainer/MarginContainer/VBoxContainer/ReorderableVBox" instance=ExtResource("4_grm34")] +layout_mode = 2 + +[node name="CheckBox" parent="ScrollContainer/MarginContainer/VBoxContainer/ReorderableVBox/todo_element2" index="0"] +text = "Feed Bunnuy" + +[node name="todo_element3" parent="ScrollContainer/MarginContainer/VBoxContainer/ReorderableVBox" instance=ExtResource("4_grm34")] +layout_mode = 2 + +[node name="CheckBox" parent="ScrollContainer/MarginContainer/VBoxContainer/ReorderableVBox/todo_element3" index="0"] +text = "Wash the dishes" [node name="AnimatedButton" parent="." instance=ExtResource("2_xdr44")] anchors_preset = 3 @@ -51,3 +98,10 @@ offset_right = -52.0 offset_bottom = -72.0 grow_horizontal = 0 grow_vertical = 0 + +[connection signal="ready" from="." to="." method="_on_ready"] +[connection signal="sort_children" from="ScrollContainer/MarginContainer/VBoxContainer/ReorderableVBox" to="ScrollContainer/MarginContainer/VBoxContainer/ReorderableVBox" method="_on_sort_children"] + +[editable path="ScrollContainer/MarginContainer/VBoxContainer/ReorderableVBox/todo_element"] +[editable path="ScrollContainer/MarginContainer/VBoxContainer/ReorderableVBox/todo_element2"] +[editable path="ScrollContainer/MarginContainer/VBoxContainer/ReorderableVBox/todo_element3"] diff --git a/themes/default/Default_theme.tres b/themes/default/Default_theme.tres index 59480af..0131e5e 100644 --- a/themes/default/Default_theme.tres +++ b/themes/default/Default_theme.tres @@ -1,4 +1,4 @@ -[gd_resource type="Theme" load_steps=5 format=3 uid="uid://dk131w4mrmlyj"] +[gd_resource type="Theme" load_steps=11 format=3 uid="uid://dk131w4mrmlyj"] [ext_resource type="FontFile" uid="uid://cek5417mq2pbt" path="res://themes/default/fonts/BunnyCute-Regular.otf" id="1_ab6ib"] @@ -26,6 +26,18 @@ shadow_color = Color(1, 0.776471, 0.729412, 1) shadow_size = 6 shadow_offset = Vector2(4, 4) +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_6gma6"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_vsss1"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_erjcp"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_mbiat"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_x2a4h"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_ewrv3"] + [resource] Button/font_sizes/font_size = 64 Button/styles/disabled = SubResource("StyleBoxFlat_bk2rt") @@ -33,6 +45,25 @@ Button/styles/focus = SubResource("StyleBoxEmpty_l3ror") Button/styles/hover = SubResource("StyleBoxFlat_bk2rt") Button/styles/normal = SubResource("StyleBoxFlat_bk2rt") Button/styles/pressed = SubResource("StyleBoxFlat_rqaqj") +CheckBox/colors/font_color = Color(0, 0, 0, 1) +CheckBox/colors/font_disabled_color = Color(0, 0, 0, 0.501961) +CheckBox/colors/font_focus_color = Color(0, 0, 0, 1) +CheckBox/colors/font_hover_color = Color(0, 0, 0, 1) +CheckBox/colors/font_hover_pressed_color = Color(0, 0, 0, 1) +CheckBox/colors/font_outline_color = Color(0, 0, 0, 1) +CheckBox/colors/font_pressed_color = Color(0, 0, 0, 1) +CheckBox/constants/h_separation = 16 +CheckBox/font_sizes/font_size = 64 +CheckBox/styles/disabled = SubResource("StyleBoxEmpty_6gma6") +CheckBox/styles/focus = SubResource("StyleBoxEmpty_vsss1") +CheckBox/styles/hover = SubResource("StyleBoxEmpty_erjcp") +CheckBox/styles/hover_pressed = SubResource("StyleBoxEmpty_mbiat") +CheckBox/styles/normal = SubResource("StyleBoxEmpty_x2a4h") +CheckBox/styles/pressed = SubResource("StyleBoxEmpty_ewrv3") Fonts/fonts/large = ExtResource("1_ab6ib") Fonts/fonts/normal = ExtResource("1_ab6ib") Label/font_sizes/font_size = 64 +MarginContainer/constants/margin_bottom = 20 +MarginContainer/constants/margin_left = 20 +MarginContainer/constants/margin_right = 20 +MarginContainer/constants/margin_top = 20 -- 2.30.2