# sec_interp.gui.dialog_tool_manager module

Map tool management module for SecInterp main dialog.

This module handles the initialization and orchestration of map tools (pan, measure) used in the preview canvas.

class sec_interp.gui.dialog_tool_manager.NavigationManager(dialog: SecInterpDialog)

  Bases: `object`

  Handles navigation events (zooming) for the preview canvas.

  __init__(dialog: SecInterpDialog) → None

    Initialize navigation manager.

    Parameters:

      dialog – The SecInterpDialog instance

  handle_wheel_event(event: Any) → bool

    Handle mouse wheel for zooming in preview canvas.

    Parameters:

      event – The mouse wheel event.

    Returns:

      True if event was handled, False otherwise.

    Return type:

      bool

class sec_interp.gui.dialog_tool_manager.ToolManager(dialog: SecInterpDialog, pan_tool: QgsMapTool | None = None, measure_tool: ProfileMeasureTool | None = None, interpretation_tool: ProfileInterpretationTool | None = None)

  Bases: `object`

  Manages map tools and related event handling for the preview canvas.

  __init__(dialog: SecInterpDialog, pan_tool: QgsMapTool | None = None, measure_tool: ProfileMeasureTool | None = None, interpretation_tool: ProfileInterpretationTool | None = None) → None

    Initialize tool manager with reference to parent dialog.

    Parameters:

      - dialog – The `sec_interp.gui.main_dialog.SecInterpDialog` instance

      - pan_tool – Optional pan tool for injection

      - measure_tool – Optional measure tool for injection

      - interpretation_tool – Optional interpretation tool for injection

  activate_default_tool() → None

    Set the default (pan) tool.

  connect_signals() → None

    Connect map tool signals idempotently.

  disconnect_signals() → None

    Disconnect all signals to prevent memory leaks.

  initialize_tools() → None

    Create and configure map tools if not already provided.

  toggle_interpretation_tool(checked: bool) → None

    Toggle between interpretation and pan tools.

    Parameters:

      checked – True to activate interpretation tool, False for pan tool.

  toggle_measure_tool(checked: bool) → None

    Toggle between measurement and pan tools.

    Parameters:

      checked – True to activate measure tool, False for pan tool.

  update_measurement_display(metrics: dict[str, Any]) → None

    Display measurement results from multi-point tool.

    Parameters:

      metrics – Dictionary containing measurement data.