import the woofer

This commit is contained in:
Haze Weathers 2025-03-01 17:50:05 -05:00
parent 825fee53e2
commit 3e89acfea8
92 changed files with 5783 additions and 0 deletions

View file

@ -0,0 +1,52 @@
@tool
extends ConfirmationDialog
const StateChartUtil = preload("../state_chart_util.gd")
@onready var _event_list:ItemList = %EventList
@onready var _event_name_edit:LineEdit = %EventNameEdit
var _chart:StateChart
var _undo_redo:EditorUndoRedoManager
var _current_event_name:StringName = ""
func open(chart:StateChart, undo_redo:EditorUndoRedoManager):
title = "Events of " + chart.name
_chart = chart
_refresh_events()
_undo_redo = undo_redo
func _refresh_events():
_event_list.clear()
for item in StateChartUtil.events_of(_chart):
_event_list.add_item(item)
func _close():
hide()
queue_free()
func _on_event_list_item_selected(index:int):
_current_event_name = _event_list.get_item_text(index)
_event_name_edit.text = _current_event_name
_on_event_name_edit_text_changed(_current_event_name)
func _on_event_name_edit_text_changed(new_text):
# disable rename button if the event name is the same as the
# currently selected event
get_ok_button().disabled = new_text == _current_event_name
func _on_confirmed():
var new_event_name = _event_name_edit.text
var transitions = StateChartUtil.transitions_of(_chart)
_undo_redo.create_action("Rename state chart event")
for transition in transitions:
if transition.event == _current_event_name:
_undo_redo.add_do_property(transition, "event", new_event_name)
_undo_redo.add_undo_property(transition, "event", _current_event_name)
_undo_redo.commit_action()
_close()

View file

@ -0,0 +1,55 @@
[gd_scene load_steps=2 format=3 uid="uid://cvlabg8e2qbk3"]
[ext_resource type="Script" path="res://addons/godot_state_charts/utilities/event_refactor/event_refactor.gd" id="1_hh1x6"]
[node name="event_refactor" type="ConfirmationDialog"]
initial_position = 1
title = "Rename Event"
size = Vector2i(586, 562)
visible = true
ok_button_text = "Rename"
dialog_autowrap = true
script = ExtResource("1_hh1x6")
[node name="MarginContainer" type="MarginContainer" parent="."]
offset_left = 8.0
offset_top = 8.0
offset_right = 578.0
offset_bottom = 513.0
theme_override_constants/margin_left = 5
theme_override_constants/margin_top = 5
theme_override_constants/margin_right = 5
theme_override_constants/margin_bottom = 5
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer"]
layout_mode = 2
[node name="Label" type="Label" parent="MarginContainer/VBoxContainer"]
layout_mode = 2
text = "Event"
[node name="EventList" type="ItemList" parent="MarginContainer/VBoxContainer"]
unique_name_in_owner = true
custom_minimum_size = Vector2(560, 330)
layout_mode = 2
size_flags_vertical = 3
[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer/VBoxContainer"]
layout_mode = 2
theme_override_constants/separation = 10
[node name="Label2" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer"]
layout_mode = 2
text = "New name"
[node name="EventNameEdit" type="LineEdit" parent="MarginContainer/VBoxContainer/HBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
caret_blink = true
caret_blink_interval = 0.5
[connection signal="canceled" from="." to="." method="_close"]
[connection signal="confirmed" from="." to="." method="_on_confirmed"]
[connection signal="item_selected" from="MarginContainer/VBoxContainer/EventList" to="." method="_on_event_list_item_selected"]
[connection signal="text_changed" from="MarginContainer/VBoxContainer/HBoxContainer/EventNameEdit" to="." method="_on_event_name_edit_text_changed"]