summaryrefslogtreecommitdiffstats
path: root/editor/plugins/visual_shader_editor_plugin.cpp
diff options
context:
space:
mode:
authorDennisManaa <dennis.manaa@gmx.net>2023-02-10 15:10:38 +0100
committerDennisManaa <dennis.manaa@gmx.net>2023-09-22 15:28:59 +0200
commitf248420a2b721bc3d54e3335c3d5888caad0d113 (patch)
tree9ac05f3d586fa4c9d3d0ccedb15cc5060c452356 /editor/plugins/visual_shader_editor_plugin.cpp
parentfe5b1c8d49313d63fbe91cb7cdf463e10fb86afa (diff)
downloadredot-engine-f248420a2b721bc3d54e3335c3d5888caad0d113.tar.gz
made visual shader ports expandable by default if there is only one output port and it's of any vector type
Co-authored-by: QbieShay <cislaghi.ilaria@gmail.com>
Diffstat (limited to 'editor/plugins/visual_shader_editor_plugin.cpp')
-rw-r--r--editor/plugins/visual_shader_editor_plugin.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/editor/plugins/visual_shader_editor_plugin.cpp b/editor/plugins/visual_shader_editor_plugin.cpp
index b9b47c475b..d952a7be1e 100644
--- a/editor/plugins/visual_shader_editor_plugin.cpp
+++ b/editor/plugins/visual_shader_editor_plugin.cpp
@@ -859,11 +859,11 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id, bool
}
if (valid_right) {
- if (vsnode->is_output_port_expandable(i)) {
+ if (expanded_port_counter == 0 && vsnode->is_output_port_expandable(i)) {
TextureButton *expand = memnew(TextureButton);
expand->set_toggle_mode(true);
- expand->set_texture_normal(editor->get_editor_theme_icon(SNAME("GuiTreeArrowDown")));
- expand->set_texture_pressed(editor->get_editor_theme_icon(SNAME("GuiTreeArrowRight")));
+ expand->set_texture_normal(editor->get_editor_theme_icon(SNAME("GuiTreeArrowRight")));
+ expand->set_texture_pressed(editor->get_editor_theme_icon(SNAME("GuiTreeArrowDown")));
expand->set_v_size_flags(Control::SIZE_SHRINK_CENTER);
expand->set_pressed(vsnode->_is_output_port_expanded(i));
expand->connect("pressed", callable_mp(editor, &VisualShaderEditor::_expand_output_port).bind(p_id, i, !vsnode->_is_output_port_expanded(i)), CONNECT_DEFERRED);
@@ -892,6 +892,9 @@ void VisualShaderGraphPlugin::add_node(VisualShader::Type p_type, int p_id, bool
if (!is_first_hbox) {
node->add_child(hb);
+ if (curve_xyz.is_valid()) {
+ node->move_child(hb, 1 + expanded_port_counter);
+ }
}
if (expanded_type != VisualShaderNode::PORT_TYPE_SCALAR) {