From dd2490d7023c77da20494c92787f739caee0fe72 Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Thu, 20 Feb 2025 14:42:33 +0100 Subject: [PATCH] Make the NavlibClient being registered as a tool CURA-7435 --- plugins/3DConnexion/NavlibClient.py | 6 +++--- plugins/3DConnexion/__init__.py | 8 ++++++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/plugins/3DConnexion/NavlibClient.py b/plugins/3DConnexion/NavlibClient.py index 329b46a049..37edb3b792 100644 --- a/plugins/3DConnexion/NavlibClient.py +++ b/plugins/3DConnexion/NavlibClient.py @@ -8,7 +8,7 @@ from cura.PickingPass import PickingPass from UM.Scene.Iterator.DepthFirstIterator import DepthFirstIterator from UM.Scene.SceneNode import SceneNode from UM.Resources import Resources -from UM.PluginObject import PluginObject +from UM.Tool import Tool from UM.Logger import Logger from .OverlayNode import OverlayNode import pynavlib.pynavlib_interface as pynav @@ -19,11 +19,11 @@ if TYPE_CHECKING: from UM.Scene import Scene from UM.View.Renderer import Renderer -class NavlibClient(pynav.NavlibNavigationModel, PluginObject): +class NavlibClient(pynav.NavlibNavigationModel, Tool): def __init__(self, scene: Scene, renderer: Renderer) -> None: pynav.NavlibNavigationModel.__init__(self, False, pynav.NavlibOptions.RowMajorOrder) - PluginObject.__init__(self) + Tool.__init__(self) self._scene = scene self._renderer = renderer self._pointer_pick = None diff --git a/plugins/3DConnexion/__init__.py b/plugins/3DConnexion/__init__.py index d2a4c0da49..0a226b0969 100644 --- a/plugins/3DConnexion/__init__.py +++ b/plugins/3DConnexion/__init__.py @@ -10,13 +10,17 @@ if TYPE_CHECKING: def getMetaData() -> Dict[str, Any]: - return {} + return { + "tool": { + "visible": False + } + } def register(app: "Application") -> Dict[str, Any]: try: from .NavlibClient import NavlibClient - return { "view_manipulator": NavlibClient(app.getController().getScene(), app.getRenderer()) } + return { "tool": NavlibClient(app.getController().getScene(), app.getRenderer()) } except BaseException as exception: Logger.warning(f"Unable to load 3Dconnexion library: {exception}") return { }