63 lines
1.6 KiB
Python
63 lines
1.6 KiB
Python
{% 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 %}
|