diff --git a/ui/sv_overload_node_ot_translate.py b/ui/sv_overload_node_ot_translate.py index e551b122f1baf99d8a5d767dc552e0934aad4c54..e6522c8999dced5974418c4e47a7672ad30d1d21 100644 --- a/ui/sv_overload_node_ot_translate.py +++ b/ui/sv_overload_node_ot_translate.py @@ -9,6 +9,14 @@ import bpy from bpy.types import Operator, Macro +from sverchok.utils.sv_node_utils import sv_tree_types + + +node_view_drawing_nodes = { + "SvStethoscopeNodeMK2", "SvConsoleNode", "SvWaveformViewer", + "SvTextureViewerNodeLite", "SvTextureViewerNode", "SvViewer2D", + "SvEasingNode" +} class SvNodeTransformFinalize(Operator): bl_idname = "node.sv_transform_translate_finalize" @@ -22,11 +30,17 @@ class SvNodeTransformFinalize(Operator): return space.tree_type in sv_tree_types def execute(self, context): - if context.active_node and context.active_node.bl_idname == "SvStethoscopeNodeMK2": - context.active_node.process_node(context) - print("did something!?") + nodes = context.space_data.edit_tree.nodes + selected_nodes = [n for n in nodes if n.select] + + count = 0 + for node in selected_nodes: + if node.bl_idname in node_view_drawing_nodes: + node.process_node(context) + count += 1 - print("DONE!") + node_string = "" if count == 1 else "s" + print(f"Done, updated {count} node{node_string}!") return {'FINISHED'} class SvTransformTranslateMacro(Macro): diff --git a/utils/sv_node_utils.py b/utils/sv_node_utils.py index 0429a2902b672ca4c9f6a51224b73658879c56c4..50c714a66e39270c6fe5d955ffc5512df4601c30 100644 --- a/utils/sv_node_utils.py +++ b/utils/sv_node_utils.py @@ -5,6 +5,7 @@ # SPDX-License-Identifier: GPL3 # License-Filename: LICENSE +sv_tree_types = {'SverchCustomTreeType', 'SverchGroupTreeType'} def recursive_framed_location_finder(node, loc_xy):