[Editor] Add EditorPlugin::scene_saved
signal
Matches the `EditorNode` one for parity with the exposed `resource_saved` signal
This commit is contained in:
parent
0bcc0e92b3
commit
97b469c46d
6 changed files with 22 additions and 2 deletions
|
@ -759,7 +759,7 @@
|
||||||
<signal name="resource_saved">
|
<signal name="resource_saved">
|
||||||
<param index="0" name="resource" type="Resource" />
|
<param index="0" name="resource" type="Resource" />
|
||||||
<description>
|
<description>
|
||||||
Emitted when the given [param resource] was saved on disc.
|
Emitted when the given [param resource] was saved on disc. See also [signal scene_saved].
|
||||||
</description>
|
</description>
|
||||||
</signal>
|
</signal>
|
||||||
<signal name="scene_changed">
|
<signal name="scene_changed">
|
||||||
|
@ -771,7 +771,13 @@
|
||||||
<signal name="scene_closed">
|
<signal name="scene_closed">
|
||||||
<param index="0" name="filepath" type="String" />
|
<param index="0" name="filepath" type="String" />
|
||||||
<description>
|
<description>
|
||||||
Emitted when user closes a scene. The argument is file path to a closed scene.
|
Emitted when user closes a scene. The argument is a file path to the closed scene.
|
||||||
|
</description>
|
||||||
|
</signal>
|
||||||
|
<signal name="scene_saved">
|
||||||
|
<param index="0" name="filepath" type="String" />
|
||||||
|
<description>
|
||||||
|
Emitted when a scene was saved on disc. The argument is a file path to the saved scene. See also [signal resource_saved].
|
||||||
</description>
|
</description>
|
||||||
</signal>
|
</signal>
|
||||||
</signals>
|
</signals>
|
||||||
|
|
|
@ -361,6 +361,12 @@ void EditorData::notify_resource_saved(const Ref<Resource> &p_resource) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void EditorData::notify_scene_saved(const String &p_path) {
|
||||||
|
for (int i = 0; i < editor_plugins.size(); i++) {
|
||||||
|
editor_plugins[i]->notify_scene_saved(p_path);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void EditorData::clear_editor_states() {
|
void EditorData::clear_editor_states() {
|
||||||
for (int i = 0; i < editor_plugins.size(); i++) {
|
for (int i = 0; i < editor_plugins.size(); i++) {
|
||||||
editor_plugins[i]->clear();
|
editor_plugins[i]->clear();
|
||||||
|
|
|
@ -236,6 +236,7 @@ public:
|
||||||
Dictionary restore_edited_scene_state(EditorSelection *p_selection, EditorSelectionHistory *p_history);
|
Dictionary restore_edited_scene_state(EditorSelection *p_selection, EditorSelectionHistory *p_history);
|
||||||
void notify_edited_scene_changed();
|
void notify_edited_scene_changed();
|
||||||
void notify_resource_saved(const Ref<Resource> &p_resource);
|
void notify_resource_saved(const Ref<Resource> &p_resource);
|
||||||
|
void notify_scene_saved(const String &p_path);
|
||||||
|
|
||||||
bool script_class_is_parent(const String &p_class, const String &p_inherits);
|
bool script_class_is_parent(const String &p_class, const String &p_inherits);
|
||||||
StringName script_class_get_base(const String &p_class) const;
|
StringName script_class_get_base(const String &p_class) const;
|
||||||
|
|
|
@ -1805,6 +1805,7 @@ void EditorNode::_save_scene(String p_file, int idx) {
|
||||||
|
|
||||||
// This needs to be emitted before saving external resources.
|
// This needs to be emitted before saving external resources.
|
||||||
emit_signal(SNAME("scene_saved"), p_file);
|
emit_signal(SNAME("scene_saved"), p_file);
|
||||||
|
editor_data.notify_scene_saved(p_file);
|
||||||
|
|
||||||
_save_external_resources();
|
_save_external_resources();
|
||||||
saving_scene = p_file; // Some editors may save scenes of built-in resources as external data, so avoid saving this scene again.
|
saving_scene = p_file; // Some editors may save scenes of built-in resources as external data, so avoid saving this scene again.
|
||||||
|
|
|
@ -249,6 +249,10 @@ void EditorPlugin::notify_resource_saved(const Ref<Resource> &p_resource) {
|
||||||
emit_signal(SNAME("resource_saved"), p_resource);
|
emit_signal(SNAME("resource_saved"), p_resource);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void EditorPlugin::notify_scene_saved(const String &p_scene_filepath) {
|
||||||
|
emit_signal(SNAME("scene_saved"), p_scene_filepath);
|
||||||
|
}
|
||||||
|
|
||||||
bool EditorPlugin::forward_canvas_gui_input(const Ref<InputEvent> &p_event) {
|
bool EditorPlugin::forward_canvas_gui_input(const Ref<InputEvent> &p_event) {
|
||||||
bool success = false;
|
bool success = false;
|
||||||
GDVIRTUAL_CALL(_forward_canvas_gui_input, p_event, success);
|
GDVIRTUAL_CALL(_forward_canvas_gui_input, p_event, success);
|
||||||
|
@ -632,6 +636,7 @@ void EditorPlugin::_bind_methods() {
|
||||||
ADD_SIGNAL(MethodInfo("scene_closed", PropertyInfo(Variant::STRING, "filepath")));
|
ADD_SIGNAL(MethodInfo("scene_closed", PropertyInfo(Variant::STRING, "filepath")));
|
||||||
ADD_SIGNAL(MethodInfo("main_screen_changed", PropertyInfo(Variant::STRING, "screen_name")));
|
ADD_SIGNAL(MethodInfo("main_screen_changed", PropertyInfo(Variant::STRING, "screen_name")));
|
||||||
ADD_SIGNAL(MethodInfo("resource_saved", PropertyInfo(Variant::OBJECT, "resource", PROPERTY_HINT_RESOURCE_TYPE, "Resource")));
|
ADD_SIGNAL(MethodInfo("resource_saved", PropertyInfo(Variant::OBJECT, "resource", PROPERTY_HINT_RESOURCE_TYPE, "Resource")));
|
||||||
|
ADD_SIGNAL(MethodInfo("scene_saved", PropertyInfo(Variant::STRING, "filepath")));
|
||||||
ADD_SIGNAL(MethodInfo("project_settings_changed"));
|
ADD_SIGNAL(MethodInfo("project_settings_changed"));
|
||||||
|
|
||||||
BIND_ENUM_CONSTANT(CONTAINER_TOOLBAR);
|
BIND_ENUM_CONSTANT(CONTAINER_TOOLBAR);
|
||||||
|
|
|
@ -160,6 +160,7 @@ public:
|
||||||
void notify_scene_changed(const Node *scn_root);
|
void notify_scene_changed(const Node *scn_root);
|
||||||
void notify_scene_closed(const String &scene_filepath);
|
void notify_scene_closed(const String &scene_filepath);
|
||||||
void notify_resource_saved(const Ref<Resource> &p_resource);
|
void notify_resource_saved(const Ref<Resource> &p_resource);
|
||||||
|
void notify_scene_saved(const String &p_scene_filepath);
|
||||||
|
|
||||||
virtual bool forward_canvas_gui_input(const Ref<InputEvent> &p_event);
|
virtual bool forward_canvas_gui_input(const Ref<InputEvent> &p_event);
|
||||||
virtual void forward_canvas_draw_over_viewport(Control *p_overlay);
|
virtual void forward_canvas_draw_over_viewport(Control *p_overlay);
|
||||||
|
|
Loading…
Reference in a new issue