godot-resources-as-sheets-p.../addons/resources_speadsheet_view/editor_view.tscn
2022-09-22 00:06:07 +03:00

388 lines
14 KiB
Plaintext

[gd_scene load_steps=9 format=2]
[ext_resource path="res://addons/resources_speadsheet_view/editor_view.gd" type="Script" id=1]
[ext_resource path="res://addons/resources_speadsheet_view/typed_cells/cell_editor_string.gd" type="Script" id=2]
[ext_resource path="res://addons/resources_speadsheet_view/typed_cells/cell_editor_color.gd" type="Script" id=3]
[ext_resource path="res://addons/resources_speadsheet_view/editor_icon_button.gd" type="Script" id=4]
[ext_resource path="res://addons/resources_speadsheet_view/typed_cells/cell_editor_bool.gd" type="Script" id=5]
[ext_resource path="res://addons/resources_speadsheet_view/table_header.tscn" type="PackedScene" id=6]
[sub_resource type="Image" id=3]
data = {
"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ),
"format": "LumAlpha8",
"height": 16,
"mipmaps": false,
"width": 16
}
[sub_resource type="ImageTexture" id=2]
flags = 4
flags = 4
image = SubResource( 3 )
size = Vector2( 16, 16 )
[node name="Control" type="MarginContainer"]
anchor_right = 1.0
anchor_bottom = 1.0
focus_neighbour_left = NodePath(".")
focus_neighbour_top = NodePath(".")
focus_neighbour_right = NodePath(".")
focus_neighbour_bottom = NodePath(".")
focus_next = NodePath(".")
focus_previous = NodePath(".")
focus_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
custom_constants/margin_right = 2
custom_constants/margin_top = 2
custom_constants/margin_left = 2
custom_constants/margin_bottom = 2
script = ExtResource( 1 )
__meta__ = {
"_edit_lock_": true
}
table_header_scene = ExtResource( 6 )
cell_editor_classes = [ ExtResource( 3 ), ExtResource( 5 ), ExtResource( 2 ) ]
path_folder_path = NodePath("HeaderContentSplit/VBoxContainer/HBoxContainer/HBoxContainer/Path")
path_recent_paths = NodePath("HeaderContentSplit/VBoxContainer/HBoxContainer/RecentPaths")
path_table_root = NodePath("HeaderContentSplit/MarginContainer/FooterContentSplit/Panel/Scroll/MarginContainer/TableGrid")
[node name="HeaderContentSplit" type="VBoxContainer" parent="."]
margin_left = 2.0
margin_top = 2.0
margin_right = 1022.0
margin_bottom = 598.0
__meta__ = {
"_edit_lock_": true
}
[node name="VBoxContainer" type="VBoxContainer" parent="HeaderContentSplit"]
margin_right = 1020.0
margin_bottom = 40.0
custom_constants/separation = 2
__meta__ = {
"_edit_lock_": true
}
[node name="Label" type="Label" parent="HeaderContentSplit/VBoxContainer"]
margin_right = 1020.0
margin_bottom = 14.0
text = "Select Resource Folder:"
[node name="HBoxContainer" type="HBoxContainer" parent="HeaderContentSplit/VBoxContainer"]
margin_top = 16.0
margin_right = 1020.0
margin_bottom = 40.0
__meta__ = {
"_edit_lock_": true
}
[node name="Label" type="Label" parent="HeaderContentSplit/VBoxContainer/HBoxContainer"]
margin_top = 5.0
margin_right = 107.0
margin_bottom = 19.0
text = "Resource Folder:"
[node name="HBoxContainer" type="HBoxContainer" parent="HeaderContentSplit/VBoxContainer/HBoxContainer"]
margin_left = 111.0
margin_right = 475.0
margin_bottom = 24.0
size_flags_horizontal = 3
custom_constants/separation = 0
__meta__ = {
"_edit_lock_": true
}
[node name="Path" type="LineEdit" parent="HeaderContentSplit/VBoxContainer/HBoxContainer/HBoxContainer"]
unique_name_in_owner = true
margin_right = 336.0
margin_bottom = 24.0
size_flags_horizontal = 3
text = "res://assets/custom/upgrades/"
caret_blink = true
caret_blink_speed = 0.5
__meta__ = {
"_edit_lock_": true
}
[node name="SelectDir" type="Button" parent="HeaderContentSplit/VBoxContainer/HBoxContainer/HBoxContainer"]
margin_left = 336.0
margin_right = 364.0
margin_bottom = 24.0
hint_tooltip = "Open Folder"
icon = SubResource( 2 )
script = ExtResource( 4 )
__meta__ = {
"_edit_lock_": true
}
icon_name = "Folder"
[node name="Label2" type="Label" parent="HeaderContentSplit/VBoxContainer/HBoxContainer"]
margin_left = 479.0
margin_top = 5.0
margin_right = 566.0
margin_bottom = 19.0
text = "Open Recent:"
__meta__ = {
"_edit_lock_": true
}
[node name="RecentPaths" type="OptionButton" parent="HeaderContentSplit/VBoxContainer/HBoxContainer"]
unique_name_in_owner = true
margin_left = 570.0
margin_right = 934.0
margin_bottom = 24.0
size_flags_horizontal = 3
__meta__ = {
"_edit_lock_": true
}
[node name="DeletePath" type="Button" parent="HeaderContentSplit/VBoxContainer/HBoxContainer"]
margin_left = 938.0
margin_right = 966.0
margin_bottom = 24.0
hint_tooltip = "Delete Selected Path"
icon = SubResource( 2 )
script = ExtResource( 4 )
__meta__ = {
"_edit_lock_": true
}
icon_name = "Remove"
[node name="Info" type="Button" parent="HeaderContentSplit/VBoxContainer/HBoxContainer"]
margin_left = 970.0
margin_right = 1020.0
margin_bottom = 24.0
text = "About"
__meta__ = {
"_edit_lock_": true
}
[node name="MarginContainer" type="MarginContainer" parent="HeaderContentSplit"]
margin_top = 44.0
margin_right = 1020.0
margin_bottom = 596.0
mouse_filter = 2
size_flags_horizontal = 3
size_flags_vertical = 3
__meta__ = {
"_edit_lock_": true
}
[node name="FooterContentSplit" type="VBoxContainer" parent="HeaderContentSplit/MarginContainer"]
margin_right = 1020.0
margin_bottom = 552.0
size_flags_horizontal = 3
size_flags_vertical = 3
__meta__ = {
"_edit_lock_": true
}
[node name="Panel" type="MarginContainer" parent="HeaderContentSplit/MarginContainer/FooterContentSplit"]
margin_right = 1020.0
margin_bottom = 502.0
mouse_filter = 2
size_flags_vertical = 3
__meta__ = {
"_edit_lock_": true
}
[node name="Panel" type="Panel" parent="HeaderContentSplit/MarginContainer/FooterContentSplit/Panel"]
margin_right = 1020.0
margin_bottom = 502.0
__meta__ = {
"_edit_lock_": true
}
[node name="Scroll" type="ScrollContainer" parent="HeaderContentSplit/MarginContainer/FooterContentSplit/Panel"]
margin_right = 1020.0
margin_bottom = 502.0
mouse_filter = 1
size_flags_horizontal = 3
size_flags_vertical = 3
__meta__ = {
"_edit_lock_": true
}
[node name="MarginContainer" type="MarginContainer" parent="HeaderContentSplit/MarginContainer/FooterContentSplit/Panel/Scroll"]
margin_right = 5.65
custom_constants/margin_right = 0
custom_constants/margin_top = 0
__meta__ = {
"_edit_lock_": true
}
[node name="TableGrid" type="GridContainer" parent="HeaderContentSplit/MarginContainer/FooterContentSplit/Panel/Scroll/MarginContainer"]
margin_right = 5.65
rect_min_size = Vector2( 5.65, 0 )
custom_constants/vseparation = 0
custom_constants/hseparation = 0
__meta__ = {
"_edit_lock_": true
}
[node name="Footer" type="VBoxContainer" parent="HeaderContentSplit/MarginContainer/FooterContentSplit"]
margin_top = 506.0
margin_right = 1020.0
margin_bottom = 552.0
__meta__ = {
"_edit_lock_": true
}
[node name="PropertyEditors" type="VBoxContainer" parent="HeaderContentSplit/MarginContainer/FooterContentSplit/Footer"]
unique_name_in_owner = true
margin_right = 1020.0
[node name="HBoxContainer" type="HBoxContainer" parent="HeaderContentSplit/MarginContainer/FooterContentSplit/Footer"]
margin_top = 4.0
margin_right = 1020.0
margin_bottom = 18.0
[node name="Label" type="Label" parent="HeaderContentSplit/MarginContainer/FooterContentSplit/Footer/HBoxContainer"]
margin_right = 102.0
margin_bottom = 14.0
text = "GDScript Search"
[node name="HSeparator" type="HSeparator" parent="HeaderContentSplit/MarginContainer/FooterContentSplit/Footer/HBoxContainer"]
margin_left = 106.0
margin_right = 1020.0
margin_bottom = 14.0
size_flags_horizontal = 3
[node name="Search" type="HBoxContainer" parent="HeaderContentSplit/MarginContainer/FooterContentSplit/Footer"]
margin_top = 22.0
margin_right = 1020.0
margin_bottom = 46.0
[node name="Label" type="Label" parent="HeaderContentSplit/MarginContainer/FooterContentSplit/Footer/Search"]
margin_top = 5.0
margin_right = 65.0
margin_bottom = 19.0
text = "Condition:"
[node name="Label2" type="Label" parent="HeaderContentSplit/MarginContainer/FooterContentSplit/Footer/Search"]
margin_left = 69.0
margin_top = 3.0
margin_right = 87.0
margin_bottom = 21.0
rect_min_size = Vector2( 18, 18 )
hint_tooltip = "Enter an expression. The table only show rows where the expression returns `true`.
You can use `res.<property_name>` to get a property, and `index` to get row number. Hit ENTER to run the search.
Try out these:
- (res.number_property > 0 and res.number_property < 100)
- (res.text_property != \"\")
- (\"a\" in res.text_property)
- (index < 5)"
mouse_filter = 0
mouse_default_cursor_shape = 16
text = "(?)"
align = 1
[node name="SearchCond" type="LineEdit" parent="HeaderContentSplit/MarginContainer/FooterContentSplit/Footer/Search"]
margin_left = 91.0
margin_right = 1020.0
margin_bottom = 24.0
size_flags_horizontal = 3
text = "true"
[node name="Control" type="Control" parent="."]
margin_left = 2.0
margin_top = 2.0
margin_right = 1022.0
margin_bottom = 598.0
mouse_filter = 2
__meta__ = {
"_edit_lock_": true
}
[node name="FileDialog" type="FileDialog" parent="Control"]
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
margin_left = -307.0
margin_top = -192.0
margin_right = 307.0
margin_bottom = 192.0
rect_min_size = Vector2( 150, 52.5 )
window_title = "Open a Folder"
mode_overrides_title = false
mode = 2
[node name="Info" type="AcceptDialog" parent="Control"]
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
margin_left = -320.0
margin_top = -152.0
margin_right = 320.0
margin_bottom = 152.0
window_title = "About"
__meta__ = {
"_edit_group_": true
}
[node name="MarginContainer" type="MarginContainer" parent="Control/Info"]
anchor_right = 1.0
anchor_bottom = 1.0
margin_left = 8.0
margin_top = 8.0
margin_right = -8.0
margin_bottom = -36.0
[node name="RichTextLabel" type="RichTextLabel" parent="Control/Info/MarginContainer"]
margin_right = 624.0
margin_bottom = 260.0
bbcode_enabled = true
bbcode_text = "[center]Edit Resources as Spreadsheet[/center]
\"Welp, it is what it sounds like!\"
Possible inputs:
- [code]Ctrl + Click / Cmd + Click[/code] - Select multiple cells in one column
- [code]Shift + Click[/code] - Select all cells between A and B in one column
- [code]Left/Right[/code] - Move cursor along cell text
- [code]Backspace/Delete[/code] - Erase text Left / Right from cursor
- [code]Home/End[/code] - Move cursor to start/end of cell
- [code]Ctrl + <move/erase> / Cmd + <move/erase>[/code] - Move through / Erase whole word
- [code]Ctrl/Cmd + C/V[/code] - Copy cells / Paste text into cells
- [code]Ctrl/Cmd + (Shift) + Z[/code] - The Savior
If clipboard contains as many lines as there are cells selected, each line is pasted into a separate cell.
Made by Don Tnowe. 2022.
[url]https://twitter.com/don_tnowe[/url]
Issues and contribution:
[url]https://github.com/don-tnowe/godot-resources-as-sheets-plugin[/url]"
text = "Edit Resources as Spreadsheet
\"Welp, it is what it sounds like!\"
Possible inputs:
- Ctrl + Click / Cmd + Click - Select multiple cells in one column
- Shift + Click - Select all cells between A and B in one column
- Left/Right - Move cursor along cell text
- Backspace/Delete - Erase text Left / Right from cursor
- Home/End - Move cursor to start/end of cell
- Ctrl + <move/erase> / Cmd + <move/erase> - Move through / Erase whole word
- Ctrl/Cmd + C/V - Copy cells / Paste text into cells
- Ctrl/Cmd + (Shift) + Z - The Savior
If clipboard contains as many lines as there are cells selected, each line is pasted into a separate cell.
Made by Don Tnowe. 2022.
https://twitter.com/don_tnowe
Issues and contribution:
https://github.com/don-tnowe/godot-resources-as-sheets-plugin"
[connection signal="focus_exited" from="." to="." method="_on_focus_exited"]
[connection signal="text_entered" from="HeaderContentSplit/VBoxContainer/HBoxContainer/HBoxContainer/Path" to="." method="_on_Path_text_entered"]
[connection signal="pressed" from="HeaderContentSplit/VBoxContainer/HBoxContainer/HBoxContainer/SelectDir" to="Control/FileDialog" method="popup_centered"]
[connection signal="item_selected" from="HeaderContentSplit/VBoxContainer/HBoxContainer/RecentPaths" to="." method="_on_RecentPaths_item_selected"]
[connection signal="pressed" from="HeaderContentSplit/VBoxContainer/HBoxContainer/DeletePath" to="." method="remove_selected_path_from_recent"]
[connection signal="pressed" from="HeaderContentSplit/VBoxContainer/HBoxContainer/Info" to="Control/Info" method="popup_centered"]
[connection signal="text_entered" from="HeaderContentSplit/MarginContainer/FooterContentSplit/Footer/Search/SearchCond" to="." method="_on_SearchCond_text_entered"]
[connection signal="dir_selected" from="Control/FileDialog" to="." method="_on_FileDialog_dir_selected"]