Refresh TextureRegionEditor when region has been changed externally.

Now the TextureRegionEditor updates when you change the region_rect either via the inspector or via
undo/redo.

Fixes #6772

(cherry picked from commit 094073e4b2)
This commit is contained in:
Andreas Haas 2016-10-11 11:31:25 +02:00 committed by Rémi Verschelde
parent 280728c0c7
commit 4b6809a2b3
2 changed files with 9 additions and 0 deletions

View file

@ -653,6 +653,7 @@ void TextureRegionEditor::edit(Object *p_obj)
} else {
p_obj->connect("texture_changed",this,"_edit_region");
}
p_obj->add_change_receptor(this);
p_obj->connect("exit_tree",this,"_node_removed",varray(p_obj),CONNECT_ONESHOT);
_edit_region();
} else {
@ -673,6 +674,12 @@ void TextureRegionEditor::edit(Object *p_obj)
edit_draw->update();
}
void TextureRegionEditor::_changed_callback(Object *p_changed, const char *p_prop) {
if ((String)p_prop == "region_rect") {
_edit_region();
}
}
void TextureRegionEditor::_edit_region()
{
Ref<Texture> texture = NULL;

View file

@ -116,6 +116,8 @@ protected:
Vector2 snap_point(Vector2 p_target) const;
virtual void _changed_callback(Object *p_changed, const char *p_prop);
public:
void _edit_region();