Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2.0 Add Music and Sound event (+Textbox auto size) #939

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions addons/dialogic/Display/MusicPlayer.gd
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
extends AudioStreamPlayer

func _ready():
add_to_group('dialogic_music_player')
6 changes: 6 additions & 0 deletions addons/dialogic/Display/MusicPlayer.tscn
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[gd_scene load_steps=2 format=2]

[ext_resource path="res://addons/dialogic/Display/MusicPlayer.gd" type="Script" id=1]

[node name="MusicPlayer" type="AudioStreamPlayer"]
script = ExtResource( 1 )
4 changes: 4 additions & 0 deletions addons/dialogic/Display/SoundPlayer.gd
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
extends AudioStreamPlayer

func _ready():
add_to_group('dialogic_sound_player')
6 changes: 6 additions & 0 deletions addons/dialogic/Display/SoundPlayer.tscn
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[gd_scene load_steps=2 format=2]

[ext_resource path="res://addons/dialogic/Display/SoundPlayer.gd" type="Script" id=1]

[node name="SoundPlayer" type="AudioStreamPlayer"]
script = ExtResource( 1 )
39 changes: 24 additions & 15 deletions addons/dialogic/Editor/Common/Toolbar.tscn
Original file line number Diff line number Diff line change
@@ -1,10 +1,17 @@
[gd_scene load_steps=6 format=2]
[gd_scene load_steps=9 format=2]

[ext_resource path="res://addons/dialogic/Editor/Common/TLabel.tscn" type="PackedScene" id=1]
[ext_resource path="res://addons/dialogic/Editor/Common/Toolbar.gd" type="Script" id=2]
[ext_resource path="res://addons/dialogic/Editor/Images/Toolbar/add-timeline.svg" type="Texture" id=3]
[ext_resource path="res://addons/dialogic/Editor/Images/Toolbar/add-character.svg" type="Texture" id=4]

[sub_resource type="Image" id=1]
[sub_resource type="InputEventKey" id=1]
scancode = 16777250

[sub_resource type="ShortCut" id=2]
shortcut = SubResource( 1 )

[sub_resource type="Image" id=5]
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",
Expand All @@ -13,10 +20,10 @@ data = {
"width": 16
}

[sub_resource type="ImageTexture" id=2]
[sub_resource type="ImageTexture" id=4]
flags = 4
flags = 4
image = SubResource( 1 )
image = SubResource( 5 )
size = Vector2( 16, 16 )

[node name="Toolbar" type="HBoxContainer"]
Expand All @@ -25,29 +32,31 @@ margin_bottom = 22.0
script = ExtResource( 2 )

[node name="AddTimeline" type="Button" parent="."]
margin_right = 12.0
margin_right = 28.0
margin_bottom = 24.0
hint_tooltip = "Add Timeline"
icon = ExtResource( 3 )
flat = true

[node name="AddCharacter" type="Button" parent="."]
margin_left = 16.0
margin_right = 44.0
margin_left = 32.0
margin_right = 60.0
margin_bottom = 24.0
hint_tooltip = "Add Character"
icon = ExtResource( 4 )
flat = true

[node name="PlayTimeline" type="ToolButton" parent="."]
margin_left = 48.0
margin_right = 165.0
margin_left = 64.0
margin_right = 181.0
margin_bottom = 24.0
shortcut = SubResource( 2 )
text = "Play Timeline"
icon = SubResource( 2 )
icon = SubResource( 4 )

[node name="Spacer2" type="Control" parent="."]
margin_left = 169.0
margin_right = 472.0
margin_left = 185.0
margin_right = 480.0
margin_bottom = 24.0
size_flags_horizontal = 3

Expand All @@ -63,14 +72,14 @@ text = "Current:"
text_key = "Current:"

[node name="CurrentResource" type="Label" parent="."]
margin_left = 476.0
margin_left = 484.0
margin_top = 5.0
margin_right = 578.0
margin_right = 586.0
margin_bottom = 19.0
text = "Nothing opened"

[node name="Spacer" type="Control" parent="."]
margin_left = 582.0
margin_left = 590.0
margin_right = 885.0
margin_bottom = 24.0
size_flags_horizontal = 3
Expand Down
24 changes: 24 additions & 0 deletions addons/dialogic/Editor/Events/Fields/Bool.gd
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
tool
extends HBoxContainer

var property_name : String
signal value_changed

func _ready():
print("howdi")
$Toggle.connect("toggled", self, 'value_changed')


func set_value(value):
$Toggle.pressed = value


func value_changed(value):
emit_signal("value_changed", property_name, value)


func set_right_text(value):
$RightText.text = str(value)

func set_left_text(value):
$LeftText.text = str(value)
23 changes: 23 additions & 0 deletions addons/dialogic/Editor/Events/Fields/Bool.tscn
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
[gd_scene load_steps=2 format=2]

[ext_resource path="res://addons/dialogic/Editor/Events/Fields/Bool.gd" type="Script" id=1]

[node name="Bool" type="HBoxContainer"]
margin_right = 40.0
margin_bottom = 40.0
script = ExtResource( 1 )

[node name="LeftText" type="Label" parent="."]
margin_top = 13.0
margin_bottom = 27.0

[node name="Toggle" type="CheckButton" parent="."]
margin_left = 4.0
margin_right = 80.0
margin_bottom = 40.0

[node name="RightText" type="Label" parent="."]
margin_left = 84.0
margin_top = 13.0
margin_right = 84.0
margin_bottom = 27.0
27 changes: 27 additions & 0 deletions addons/dialogic/Editor/Events/Fields/MultilineText.gd
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,11 @@ var property_name : String
signal value_changed

func _ready():
find_parent('TimelineArea').connect('resized', self, 'change_size')
$TextEdit.connect("text_changed", self, 'text_changed')

func text_changed(value = ""):
change_size()
emit_signal("value_changed", property_name, $TextEdit.text)

func set_left_text(value):
Expand All @@ -18,3 +20,28 @@ func set_right_text(value):

func set_value(value):
$TextEdit.text = str(value)


func change_size():
print(DialogicUtil.get_editor_scale(self))
# the distance between the sidebar of the timeline editor and the TextEdit box.
var max_width = find_parent('View').get_node('ScrollContainer').rect_global_position.x- $TextEdit.rect_global_position.x
# adding a margin
max_width -= 50 * DialogicUtil.get_editor_scale(self)

var font = get_font("normal_font")
var line_height = font.get_height()+4

var longest_line_len = 0
var lines = 0
for line in $TextEdit.text.split("\n"):
longest_line_len = font.get_string_size(line).x if font.get_string_size(line).x > longest_line_len else longest_line_len
if font.get_string_size(line).x+50 > max_width:
lines += ceil(get_font("normal_font").get_string_size(line).x/(max_width))
lines += 1

# because there is a margin and a number inside the stylebox (especially to the left) this needs to be added
longest_line_len += 50 * DialogicUtil.get_editor_scale(self)
$TextEdit.rect_min_size.x = min(max_width, longest_line_len)
# a margin has to be added vertically as well because of the stylebox
$TextEdit.rect_min_size.y = line_height*lines + (20 * DialogicUtil.get_editor_scale(self))
3 changes: 1 addition & 2 deletions addons/dialogic/Editor/Events/Fields/MultilineText.tscn
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[gd_scene load_steps=4 format=2]

[ext_resource path="res://addons/dialogic/Editor/Events/Fields/Text.gd" type="Script" id=1]
[ext_resource path="res://addons/dialogic/Editor/Events/Fields/MultilineText.gd" type="Script" id=1]
[ext_resource path="res://addons/dialogic/Editor/Events/styles/TextBackground.tres" type="StyleBox" id=2]

[sub_resource type="StyleBoxFlat" id=1]
Expand All @@ -23,7 +23,6 @@ anchor_right = 1.0
anchor_bottom = 1.0
margin_right = 1.0
margin_bottom = -400.0
rect_min_size = Vector2( 300, 30 )
size_flags_horizontal = 3
script = ExtResource( 1 )

Expand Down
10 changes: 8 additions & 2 deletions addons/dialogic/Editor/Events/Fields/Number.gd
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,13 @@ func set_value(value):

func use_float_mode():
$Value.step = 0.001

$Value.suffix = ""

func use_int_mode():
$Value.step = 1

$Value.suffix = ""

func use_decibel_mode():
$Value.max_value = 6
$Value.suffix = "dB"
$Value.min_value = -80
8 changes: 8 additions & 0 deletions addons/dialogic/Editor/Events/Templates/EventNode.gd
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,9 @@ func build_editor():
elif p.dialogic_type == resource.ValueType.SinglelineText:
editor_node = load("res://addons/dialogic/Editor/Events/Fields/SinglelineText.tscn").instance()

elif p.dialogic_type == resource.ValueType.Bool:
editor_node = load("res://addons/dialogic/Editor/Events/Fields/Bool.tscn").instance()

## RESOURCES
elif p.dialogic_type in [resource.ValueType.Character, resource.ValueType.Portrait, resource.ValueType.Timeline]:
editor_node = load("res://addons/dialogic/Editor/Events/Fields/DialogicResourcePicker.tscn").instance()
Expand All @@ -210,12 +213,17 @@ func build_editor():
elif p.dialogic_type == resource.ValueType.Float:
editor_node = load("res://addons/dialogic/Editor/Events/Fields/Number.tscn").instance()
editor_node.use_float_mode()
elif p.dialogic_type == resource.ValueType.Decibel:
editor_node = load("res://addons/dialogic/Editor/Events/Fields/Number.tscn").instance()
editor_node.use_decibel_mode()
elif p.dialogic_type == resource.ValueType.FixedOptionSelector:
editor_node = load("res://addons/dialogic/Editor/Events/Fields/OptionSelector.tscn").instance()
if p.display_info.has('selector_options'):
editor_node.options = p.display_info.selector_options
if p.display_info.has('disabled'):
editor_node.disabled = p.display_info.disabled


elif p.dialogic_type == resource.ValueType.Label:
editor_node = Label.new()
editor_node.text = p.display_info.text
Expand Down
31 changes: 24 additions & 7 deletions addons/dialogic/Editor/Events/Templates/EventNode.tscn
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
[gd_scene load_steps=12 format=2]
[gd_scene load_steps=15 format=2]

[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventNode.gd" type="Script" id=1]
[ext_resource path="res://addons/dialogic/Editor/Events/Parts/EventBlock/ExpandControl.tscn" type="PackedScene" id=2]
[ext_resource path="res://addons/dialogic/Editor/Events/styles/selected_styleboxflat.tres" type="StyleBox" id=3]
[ext_resource path="res://addons/dialogic/Editor/Common/FlexContainer.gd" type="Script" id=4]
[ext_resource path="res://addons/dialogic/Editor/Events/styles/ResourceMenuPanelBackground.tres" type="StyleBox" id=5]
[ext_resource path="res://addons/dialogic/Editor/Images/Plugin/plugin-editor-icon-dark-theme.svg" type="Texture" id=6]
[ext_resource path="res://addons/dialogic/Editor/Events/Parts/EventBlock/PopupMenu.gd" type="Script" id=8]
Expand All @@ -17,7 +18,7 @@ corner_radius_top_right = 5
corner_radius_bottom_right = 5
corner_radius_bottom_left = 5

[sub_resource type="Image" id=3]
[sub_resource type="Image" id=9]
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",
Expand All @@ -29,10 +30,25 @@ data = {
[sub_resource type="ImageTexture" id=4]
flags = 4
flags = 4
image = SubResource( 3 )
image = SubResource( 9 )
size = Vector2( 16, 16 )

[sub_resource type="StyleBoxEmpty" id=5]
[sub_resource type="StyleBoxEmpty" id=10]

[sub_resource type="Image" id=11]
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=8]
flags = 4
flags = 4
image = SubResource( 11 )
size = Vector2( 16, 16 )

[node name="EventNode" type="HBoxContainer"]
anchor_right = 1.0
Expand Down Expand Up @@ -176,21 +192,22 @@ custom_constants/separation = 0
margin_right = 20.0
rect_min_size = Vector2( 20, 0 )

[node name="Content" type="VBoxContainer" parent="PanelContainer/MarginContainer/VBoxContainer/Body"]
[node name="Content" type="Container" parent="PanelContainer/MarginContainer/VBoxContainer/Body"]
margin_left = 20.0
margin_right = 86.0
size_flags_horizontal = 3
size_flags_vertical = 3
script = ExtResource( 4 )

[node name="PopupMenu" type="PopupMenu" parent="."]
margin_left = 30.0
margin_right = 169.0
margin_bottom = 112.0
custom_colors/font_color_hover = Color( 0, 0, 0, 1 )
custom_constants/vseparation = 0
custom_styles/hover = SubResource( 5 )
custom_styles/hover = SubResource( 10 )
custom_styles/panel = ExtResource( 5 )
items = [ "Documentation", SubResource( 4 ), 0, false, false, -1, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Move up", SubResource( 4 ), 0, false, false, 1, 0, null, "", false, "Move down", SubResource( 4 ), 0, false, false, 2, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Delete", SubResource( 4 ), 0, false, false, 4, 0, null, "", false ]
items = [ "Documentation", SubResource( 8 ), 0, false, false, 0, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Move up", SubResource( 8 ), 0, false, false, 2, 0, null, "", false, "Move down", SubResource( 8 ), 0, false, false, 3, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Delete", SubResource( 8 ), 0, false, false, 5, 0, null, "", false ]
script = ExtResource( 8 )

[connection signal="visibility_changed" from="Indent" to="." method="_on_Indent_visibility_changed"]
Loading