1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-04 12:00:25 +00:00

various gui nodes now listen for the changed signal on textures

This commit is contained in:
rune-scape
2024-06-17 18:43:02 -07:00
committed by rune-scape
parent b00e1cbf74
commit dd1372b78e
3 changed files with 18 additions and 1 deletions

View File

@@ -2482,11 +2482,27 @@ bool LineEdit::is_drag_and_drop_selection_enabled() const {
return drag_and_drop_selection_enabled;
}
void LineEdit::_texture_changed() {
_fit_to_width();
update_minimum_size();
queue_redraw();
}
void LineEdit::set_right_icon(const Ref<Texture2D> &p_icon) {
if (right_icon == p_icon) {
return;
}
if (right_icon.is_valid()) {
right_icon->disconnect_changed(callable_mp(this, &LineEdit::_texture_changed));
}
right_icon = p_icon;
if (right_icon.is_valid()) {
right_icon->connect_changed(callable_mp(this, &LineEdit::_texture_changed));
}
_fit_to_width();
update_minimum_size();
queue_redraw();

View File

@@ -248,6 +248,7 @@ private:
void _move_caret_end(bool p_select);
void _backspace(bool p_word = false, bool p_all_to_left = false);
void _delete(bool p_word = false, bool p_all_to_right = false);
void _texture_changed();
protected:
bool _is_over_clear_button(const Point2 &p_pos) const;

View File

@@ -343,7 +343,7 @@ Ref<Texture2D> TextureButton::get_texture_focused() const {
}
void TextureButton::set_texture_focused(const Ref<Texture2D> &p_focused) {
focused = p_focused;
_set_texture(&focused, p_focused);
}
void TextureButton::_set_texture(Ref<Texture2D> *p_destination, const Ref<Texture2D> &p_texture) {