1
kdevelop-python-templates/config/config.py
Juraj Oravec 99e2411e01
Add config template (WIP)
Signed-off-by: Juraj Oravec <sgd.orava@gmail.com>
2019-06-28 21:39:07 +02:00

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 %}