1

Add config template (WIP)

Signed-off-by: Juraj Oravec <sgd.orava@gmail.com>
This commit is contained in:
Juraj Oravec 2019-06-28 21:39:07 +02:00
parent 2b661f17cb
commit 99e2411e01
No known key found for this signature in database
GPG Key ID: 63ACB65056BC8D07
3 changed files with 78 additions and 1 deletions

View File

@ -6,4 +6,5 @@ Falkon Python plugin templates for KDevelop.
- **plugin**: python plugin project template
- **button**: toolbar button file template
- **sidebar**: sidebar template file template
- **sidebar**: sidebar file template
- **config**: pythos - PySide2 config class template (in progress)

62
config/config.py Normal file
View File

@ -0,0 +1,62 @@
{% 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 %}

View File

@ -0,0 +1,14 @@
[General]
Name=PySide2 Config
Comment=Config class for PySide2
Category=Python/PySide2
Language=Python
Type=Class
Files=Implementation
BaseClasses=QObject
# OptionsFile=options.kcfg
[Implementation]
Name=Implementation
File=config.py
OutputFile={{ name }}.py