wolfhece.plugins.types
Declarative menu and action types for companion plugins.
Module Contents
- class wolfhece.plugins.types.Keys[source]
Bases:
enum.IntEnum
Complete set of key codes, mirroring
wx.WXK_*values.Use these constants in key handlers instead of raw integers to avoid any dependency on wx being imported at module level:
def _key(self, kb: KeyboardSnapshot) -> bool | StepTransition: if kb.key_code == Keys.ESCAPE: return StepTransition.CANCEL if kb.key_code == Keys.CONTROL_Z: self._undo() return False
Aliases (same integer value as another member) are listed with a comment.
- class wolfhece.plugins.types.MenuItem[source]
Declarative menu entry.
- handler: Callable[[wolfhece._viewer_plugin_handlers.MouseContext], None][source]
- class wolfhece.plugins.types.Separator[source]
Singleton sentinel that inserts a separator line in menus.
- class wolfhece.plugins.types.SubMenuSpec[source]
A labelled submenu containing its own list of entries.
- class wolfhece.plugins.types.ActionSpec[source]
Declarative interactive-action entry.
- action_id: str | wolfhece._action_kind.ActionKind[source]
- class wolfhece.plugins.types.StepTransition[source]
Bases:
str,enum.Enum
Transition directives returned by multi-step handlers.
- class wolfhece.plugins.types.StepSpec[source]
Single step declaration used by
MultiStepSpec.
- class wolfhece.plugins.types.MultiStepSpec[source]
Declarative multi-step interactive action.
Phase 1 behaviour: - startup selection is declarative (
primary+start_message), - action registration uses handlers from the first step.- action_id: str | wolfhece._action_kind.ActionKind[source]