Source code for wolfhece._menu_companion_template

"""
Template module for menu-based companions.

Purpose
-------
This file is a starter kit to create new companions following the same
structure used in existing managers such as:
    - _qdfidf_manager.py
    - _simtools2d_manager.py
    - _weir_manager.py
    - _particlesystem_manager.py

How to use
----------
1) Copy this file and rename class/module to your feature.
2) Instantiate it in WolfMapViewer.__init__.
3) Call menu_build() from the same place where other companion menus are built.
4) Replace example handlers with your business logic.

Integration sketch in PyDraw.py
-------------------------------
    from ._my_feature_manager import MyFeatureManager
    ...
    self._my_feature_mgr = MyFeatureManager(self)
    ...
    self._my_feature_mgr.menu_build()
"""
from __future__ import annotations

import logging
from typing import TYPE_CHECKING

import wx

from ._action_kind import ActionKind
from .PyTranslate import _

if TYPE_CHECKING:
    from .PyDraw import WolfMapViewer