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.

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.