miggor-StreamGraph/graph_node_renderer/deck_holder_renderer.tscn
Lera Elvoé f24906715d store connections inside the deck (#147)
- node/port connections are now stored in the deck they belong to
- share the connections object between group instances for free syncing
- add compatibility code to allow loading decks made before this change
- disabled the ability to open multiple decks in the renderer for now since it'd cause problems when opening multiple decks and one of them is incompatible; to be redesigned later

closes #140

Reviewed-on: https://codeberg.org/StreamGraph/StreamGraph/pulls/147
Co-authored-by: Lera Elvoé <yagich@poto.cafe>
Co-committed-by: Lera Elvoé <yagich@poto.cafe>
2024-04-17 00:24:55 +00:00

187 lines
8.1 KiB
Text

[gd_scene load_steps=18 format=3 uid="uid://duaah5x0jhkn6"]
[ext_resource type="Script" path="res://graph_node_renderer/deck_holder_renderer.gd" id="1_67g2g"]
[ext_resource type="PackedScene" uid="uid://b84f2ngtcm5b8" path="res://graph_node_renderer/tab_container_custom.tscn" id="1_s3ug2"]
[ext_resource type="PackedScene" uid="uid://b18qpb48df14l" path="res://graph_node_renderer/deck_renderer_graph_edit.tscn" id="3_uf16c"]
[ext_resource type="PackedScene" uid="uid://dayri1ejk20bc" path="res://graph_node_renderer/bottom_dock.tscn" id="4_gwnhy"]
[ext_resource type="Script" path="res://addons/no-obs-ws/NoOBSWS.gd" id="4_nu72u"]
[ext_resource type="PackedScene" uid="uid://dm7sc6364j84i" path="res://graph_node_renderer/debug_decks_list.tscn" id="4_ux0jt"]
[ext_resource type="Script" path="res://addons/no_twitch/twitch_connection.gd" id="5_3n36q"]
[ext_resource type="PackedScene" uid="uid://cddfyvpf5nqq7" path="res://graph_node_renderer/debug_nodes_list.tscn" id="5_pnfg8"]
[ext_resource type="PackedScene" uid="uid://eioso6jb42jy" path="res://graph_node_renderer/obs_websocket_setup_dialog.tscn" id="5_uo2gj"]
[ext_resource type="PackedScene" uid="uid://b56hjad0ih0gu" path="res://graph_node_renderer/sidebar/sidebar.tscn" id="7_0lv5b"]
[ext_resource type="PackedScene" uid="uid://bq2lxmbnic4lc" path="res://graph_node_renderer/twitch_setup_dialog.tscn" id="7_7rhap"]
[ext_resource type="PackedScene" uid="uid://cuwou2aa7qfc2" path="res://graph_node_renderer/unsaved_changes_dialog_single_deck.tscn" id="8_qf6ve"]
[ext_resource type="PackedScene" uid="uid://cvvkj138fg8jg" path="res://graph_node_renderer/unsaved_changes_dialog.tscn" id="9_4n0q6"]
[ext_resource type="PackedScene" uid="uid://bu466w2w3q08c" path="res://graph_node_renderer/about_dialog.tscn" id="11_6ln7n"]
[ext_resource type="PackedScene" uid="uid://brfrufvkjwcor" path="res://graph_node_renderer/rpc_setup_dialog.tscn" id="12_1xrfk"]
[ext_resource type="PackedScene" uid="uid://dodqetbke5wji" path="res://graph_node_renderer/settings_dialog.tscn" id="16_rktri"]
[ext_resource type="PackedScene" uid="uid://cd1t0gvi022gx" path="res://graph_node_renderer/compat_dialog.tscn" id="17_2ndnq"]
[node name="DeckHolderRenderer" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_67g2g")
DECK_SCENE = ExtResource("3_uf16c")
DEBUG_DECKS_LIST = ExtResource("4_ux0jt")
DEBUG_NODES_LIST = ExtResource("5_pnfg8")
[node name="MarginContainer" type="MarginContainer" parent="."]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/margin_left = 2
theme_override_constants/margin_top = 2
theme_override_constants/margin_right = 2
theme_override_constants/margin_bottom = 2
[node name="SidebarSplit" type="HSplitContainer" parent="MarginContainer"]
unique_name_in_owner = true
layout_mode = 2
theme_override_constants/separation = 1
split_offset = -270
[node name="BottomSplit" type="VSplitContainer" parent="MarginContainer/SidebarSplit"]
layout_mode = 2
size_flags_horizontal = 3
split_offset = 460
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/SidebarSplit/BottomSplit"]
layout_mode = 2
[node name="MenuBar" type="MenuBar" parent="MarginContainer/SidebarSplit/BottomSplit/VBoxContainer"]
layout_mode = 2
[node name="File" type="PopupMenu" parent="MarginContainer/SidebarSplit/BottomSplit/VBoxContainer/MenuBar"]
unique_name_in_owner = true
item_count = 8
item_0/text = "New Deck"
item_0/id = 0
item_1/text = "Open Deck"
item_1/id = 1
item_2/text = ""
item_2/id = 2
item_2/separator = true
item_3/text = "Save Deck"
item_3/id = 3
item_4/text = "Save Deck As"
item_4/id = 4
item_5/text = ""
item_5/id = 5
item_5/separator = true
item_6/text = "Close Deck"
item_6/id = 6
item_7/text = "Recent Decks"
item_7/id = 7
item_7/separator = true
[node name="Edit" type="PopupMenu" parent="MarginContainer/SidebarSplit/BottomSplit/VBoxContainer/MenuBar"]
unique_name_in_owner = true
item_count = 4
item_0/text = "Copy Node(s)"
item_0/id = 0
item_1/text = "Paste Node(s)"
item_1/id = 1
item_2/text = "Duplicate Node(s)"
item_2/id = 2
item_3/text = "Settings..."
item_3/id = 3
[node name="Connections" type="PopupMenu" parent="MarginContainer/SidebarSplit/BottomSplit/VBoxContainer/MenuBar"]
unique_name_in_owner = true
item_count = 3
item_0/text = "OBS..."
item_0/id = 0
item_1/text = "Twitch.."
item_1/id = 1
item_2/text = "RPC Server..."
item_2/id = 2
[node name="Debug" type="PopupMenu" parent="MarginContainer/SidebarSplit/BottomSplit/VBoxContainer/MenuBar"]
unique_name_in_owner = true
item_count = 3
item_0/text = "Decks..."
item_0/id = 0
item_1/text = "Nodes..."
item_1/id = 1
item_2/text = "Embed subwindows"
item_2/checkable = 1
item_2/checked = true
item_2/id = 2
[node name="Help" type="PopupMenu" parent="MarginContainer/SidebarSplit/BottomSplit/VBoxContainer/MenuBar"]
unique_name_in_owner = true
item_count = 2
item_0/text = "Online Documentation"
item_0/id = 0
item_1/text = "About..."
item_1/id = 1
[node name="TabContainerCustom" parent="MarginContainer/SidebarSplit/BottomSplit/VBoxContainer" instance=ExtResource("1_s3ug2")]
unique_name_in_owner = true
layout_mode = 2
[node name="BottomDock" parent="MarginContainer/SidebarSplit/BottomSplit" instance=ExtResource("4_gwnhy")]
unique_name_in_owner = true
visible = false
layout_mode = 2
[node name="Sidebar" parent="MarginContainer/SidebarSplit" instance=ExtResource("7_0lv5b")]
unique_name_in_owner = true
visible = false
layout_mode = 2
[node name="FileDialog" type="FileDialog" parent="."]
size = Vector2i(776, 447)
mode_overrides_title = false
access = 2
filters = PackedStringArray("*.deck;StreamGraph Decks")
use_native_dialog = true
[node name="Connections" type="Node" parent="."]
[node name="NoOBSWS" type="Node" parent="Connections"]
unique_name_in_owner = true
script = ExtResource("4_nu72u")
[node name="Twitch_Connection" type="Node" parent="Connections"]
unique_name_in_owner = true
script = ExtResource("5_3n36q")
[node name="OBSWebsocketSetupDialog" parent="." instance=ExtResource("5_uo2gj")]
[node name="Twitch_Setup_Dialog" parent="." instance=ExtResource("7_7rhap")]
[node name="RPCSetupDialog" parent="." instance=ExtResource("12_1xrfk")]
[node name="UnsavedChangesDialogSingleDeck" parent="." instance=ExtResource("8_qf6ve")]
[node name="UnsavedChangesDialog" parent="." instance=ExtResource("9_4n0q6")]
[node name="AboutDialog" parent="." instance=ExtResource("11_6ln7n")]
unique_name_in_owner = true
[node name="SettingsDialog" parent="." instance=ExtResource("16_rktri")]
unique_name_in_owner = true
[node name="CompatDialog" parent="." instance=ExtResource("17_2ndnq")]
unique_name_in_owner = true
[connection signal="id_pressed" from="MarginContainer/SidebarSplit/BottomSplit/VBoxContainer/MenuBar/File" to="." method="_on_file_id_pressed"]
[connection signal="about_to_popup" from="MarginContainer/SidebarSplit/BottomSplit/VBoxContainer/MenuBar/Edit" to="." method="_on_edit_about_to_popup"]
[connection signal="id_pressed" from="MarginContainer/SidebarSplit/BottomSplit/VBoxContainer/MenuBar/Edit" to="." method="_on_edit_id_pressed"]
[connection signal="id_pressed" from="MarginContainer/SidebarSplit/BottomSplit/VBoxContainer/MenuBar/Connections" to="." method="_on_connections_id_pressed"]
[connection signal="id_pressed" from="MarginContainer/SidebarSplit/BottomSplit/VBoxContainer/MenuBar/Debug" to="." method="_on_debug_id_pressed"]
[connection signal="id_pressed" from="MarginContainer/SidebarSplit/BottomSplit/VBoxContainer/MenuBar/Help" to="." method="_on_help_id_pressed"]
[connection signal="connect_button_pressed" from="OBSWebsocketSetupDialog" to="." method="_on_obs_websocket_setup_dialog_connect_button_pressed"]
[connection signal="confirmed" from="UnsavedChangesDialogSingleDeck" to="." method="_on_unsaved_changes_dialog_single_deck_confirmed"]
[connection signal="custom_action" from="UnsavedChangesDialogSingleDeck" to="." method="_on_unsaved_changes_dialog_single_deck_custom_action"]
[connection signal="confirmed" from="UnsavedChangesDialog" to="." method="_on_unsaved_changes_dialog_confirmed"]
[connection signal="confirmed" from="CompatDialog" to="." method="_on_compat_dialog_confirmed"]