{% load kdev_filters %} {% block license_header %} {% if license %} {{ license|lines_prepend:"# " }} {% endif %} {% endblock license_header %} from PySide2.QtCore import QObject, Signal class {{ name }}{% if base_classes %}({% for inh in base_classes %}{{ inh.baseType }}{% if not forloop.last %}, {% endif %}{% endfor %}){% endif %}: {% for member in members %} {{ member.name }}Changed = Signal({{ member.type }}) {% endfor %} def __init__(self{% for member in members %}, {{ member.name }}=None{% endfor %}): {% for inh in base_classes %} {{ inh.baseType }}.__init__(self) {% endfor %} {% for member in members %} self._{{ member.name }} = {{ member.name }} {% empty %} pass {% endfor %} {% for method in methods %} {% if method.isStatic %} @staticmethod def {{ method.name }}({% include "arguments_names.txt" %}): {% else %}{% if method.arguments %} def {{ method.name }}(self{% for arg in method.arguments %}, {{ arg.name }}{% endfor %}): {% else %} def {{ method.name }}(self): {% endif %}{% endif %} pass {% endfor %} {% for member in members %} @property def {{ member.name }}(self): return self._{{ member.name }} @{{ member.name }}.setter def {{ member.name }}(self, {{ member.name }}): if not {{ member.name }}: return if self._{{ member.name }} == {{ member.name }}: return self._{{ member.name }} = {{ member.name }} self.{{ member.name }}Changed.emit({{ member.name }}) {% endfor %}