mirror of
https://github.com/EDCD/EDMarketConnector.git
synced 2025-04-17 01:22:19 +03:00
hotkey: Make more of the windows methods abstract ones in parent
Without this mypy objects to calling them due to not being in the visible AbstractKetkeyMgr type.
This commit is contained in:
parent
9e605d31c7
commit
3b0c7370cc
@ -4,6 +4,7 @@
|
||||
import abc
|
||||
import sys
|
||||
from abc import abstractmethod
|
||||
from typing import Optional, Tuple, Union
|
||||
|
||||
|
||||
class AbstractHotkeyMgr(abc.ABC):
|
||||
@ -19,6 +20,41 @@ class AbstractHotkeyMgr(abc.ABC):
|
||||
"""Unregister the hotkey handling."""
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
def acquire_start(self) -> None:
|
||||
"""Start acquiring hotkey state via polling."""
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
def acquire_stop(self) -> None:
|
||||
"""Stop acquiring hotkey state."""
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
def fromevent(self, event) -> Optional[Union[bool, Tuple]]:
|
||||
"""
|
||||
Return configuration (keycode, modifiers) or None=clear or False=retain previous.
|
||||
|
||||
event.state is a pain - it shows the state of the modifiers *before* a modifier key was pressed.
|
||||
event.state *does* differentiate between left and right Ctrl and Alt and between Return and Enter
|
||||
by putting KF_EXTENDED in bit 18, but RegisterHotKey doesn't differentiate.
|
||||
|
||||
:param event: tk event ?
|
||||
:return: False to retain previous, None to not use, else (keycode, modifiers)
|
||||
"""
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
def display(self, keycode: int, modifiers: int) -> str:
|
||||
"""
|
||||
Return displayable form of given hotkey + modifiers.
|
||||
|
||||
:param keycode:
|
||||
:param modifiers:
|
||||
:return: string form
|
||||
"""
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
def play_good(self) -> None:
|
||||
"""Play the 'good' sound."""
|
||||
|
Loading…
x
Reference in New Issue
Block a user