Basic element for to-do list styles, list structure and test data
authorEduardo <[email protected]>
Tue, 26 Sep 2023 22:48:18 +0000 (00:48 +0200)
committerEduardo <[email protected]>
Tue, 26 Sep 2023 22:48:18 +0000 (00:48 +0200)
custom_elements/todo_list_elements/todo_element.tscn [new file with mode: 0644]
scenes/todo_list/ToDoList.gd
scenes/todo_list/ToDoList.tscn
themes/default/Default_theme.tres

diff --git a/custom_elements/todo_list_elements/todo_element.tscn b/custom_elements/todo_list_elements/todo_element.tscn
new file mode 100644 (file)
index 0000000..1d6e88a
--- /dev/null
@@ -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
index 0885a1c2e87e9ed6ebf902e2fc516d7ed3828657..3af00ddd19e15a242404b335d963c3ed8d436f4b 100644 (file)
@@ -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)
index b5bb05dc822d52a446c729ad8bbca65e39b538da..a26a38f3687eae776e99fd5a6e8a30f37213fba1 100644 (file)
@@ -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"]
index 59480afb526c47b79f2210d19cbc3ed0607361cf..0131e5eb862bc7b9217deb1ee365bcd294349ebd 100644 (file)
@@ -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