Make the NavlibClient being registered as a tool

CURA-7435
This commit is contained in:
Erwan MATHIEU 2025-02-20 14:42:33 +01:00
parent 16e26ed1fd
commit dd2490d702
2 changed files with 9 additions and 5 deletions

View file

@ -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

View file

@ -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 { }