summaryrefslogtreecommitdiff
path: root/qutebrowser/qt/_core_pyqtproperty.py
diff options
context:
space:
mode:
Diffstat (limited to 'qutebrowser/qt/_core_pyqtproperty.py')
-rw-r--r--qutebrowser/qt/_core_pyqtproperty.py73
1 files changed, 73 insertions, 0 deletions
diff --git a/qutebrowser/qt/_core_pyqtproperty.py b/qutebrowser/qt/_core_pyqtproperty.py
new file mode 100644
index 000000000..7f89b8e5b
--- /dev/null
+++ b/qutebrowser/qt/_core_pyqtproperty.py
@@ -0,0 +1,73 @@
+# vim: ft=python fileencoding=utf-8 sts=4 sw=4 et:
+
+"""
+# FIXME:mypy PyQt6-stubs issue
+# WORKAROUND for missing pyqtProperty typing, ported from PyQt5-stubs:
+# https://github.com/python-qt-tools/PyQt5-stubs/blob/5.15.6.0/PyQt5-stubs/QtCore.pyi#L70-L111
+"""
+
+# flake8: noqa
+# pylint: disable=invalid-name,undefined-variable,too-many-arguments,redefined-builtin,unused-argument
+
+import typing
+from PyQt6.QtCore import QObjectT, pyqtSignal
+
+if typing.TYPE_CHECKING:
+
+ TPropertyTypeVal = typing.TypeVar('TPropertyTypeVal')
+
+ TPropGetter = typing.TypeVar('TPropGetter', bound=typing.Callable[[QObjectT], TPropertyTypeVal])
+ TPropSetter = typing.TypeVar('TPropSetter', bound=typing.Callable[[QObjectT, TPropertyTypeVal], None])
+ TPropDeleter = typing.TypeVar('TPropDeleter', bound=typing.Callable[[QObjectT], None])
+ TPropResetter = typing.TypeVar('TPropResetter', bound=typing.Callable[[QObjectT], None])
+
+ class pyqtProperty:
+ def __init__(
+ self,
+ type: typing.Union[type, str],
+ fget: typing.Optional[
+ typing.Callable[[QObjectT], TPropertyTypeVal]
+ ] = None,
+ fset: typing.Optional[
+ typing.Callable[[QObjectT, TPropertyTypeVal], None]
+ ] = None,
+ freset: typing.Optional[typing.Callable[[QObjectT], None]] = None,
+ fdel: typing.Optional[typing.Callable[[QObjectT], None]] = None,
+ doc: typing.Optional[str] = "",
+ designable: bool = True,
+ scriptable: bool = True,
+ stored: bool = True,
+ user: bool = True,
+ constant: bool = True,
+ final: bool = True,
+ notify: typing.Optional[pyqtSignal] = None,
+ revision: int = 0,
+ ) -> None:
+ ...
+
+ type: typing.Union[type, str]
+ fget: typing.Optional[typing.Callable[[], TPropertyTypeVal]]
+ fset: typing.Optional[typing.Callable[[TPropertyTypeVal], None]]
+ freset: typing.Optional[typing.Callable[[], None]]
+ fdel: typing.Optional[typing.Callable[[], None]]
+
+ def read(self, func: TPropGetter) -> "pyqtProperty":
+ ...
+
+ def write(self, func: TPropSetter) -> "pyqtProperty":
+ ...
+
+ def reset(self, func: TPropResetter) -> "pyqtProperty":
+ ...
+
+ def getter(self, func: TPropGetter) -> "pyqtProperty":
+ ...
+
+ def setter(self, func: TPropSetter) -> "pyqtProperty":
+ ...
+
+ def deleter(self, func: TPropDeleter) -> "pyqtProperty":
+ ...
+
+ def __call__(self, func: TPropGetter) -> "pyqtProperty":
+ ...