File indexing completed on 2024-05-12 04:37:33
0001 {% extends "cpp_header.h" %} 0002 {% load kdev_filters %} 0003 0004 {% block includes %} 0005 {{ block.super }} 0006 {% if not base_classes %} 0007 #include <QObject> 0008 {% endif %} 0009 {% endblock %} 0010 0011 {% block class_body %} 0012 public: 0013 {# doing our own destructor, to ensure there is one #} 0014 {% if not base_classes %} 0015 virtual ~{{ name }}(); 0016 {% else %}{# Assumption: subclassing only other interfaces #} 0017 ~{{ name }}() override; 0018 {% endif %} 0019 0020 {% for method in public_functions %} 0021 {# skipping any defined destructor #} 0022 {% if not method.isDestructor %} 0023 0024 {% include "class_method_declaration_apidox_cpp.txt" %} 0025 {% include "class_method_declaration_cpp.txt" %} 0026 0027 {% endif %} 0028 {% endfor %} 0029 0030 {% for property in members %} 0031 0032 {% include "class_property_getter_declaration_apidox_cpp.txt" %} 0033 virtual {{ property.type }} {{ property.name }}() const = 0; 0034 0035 0036 {% include "class_property_setter_declaration_apidox_cpp.txt" %} 0037 virtual void set{{ property.name|upper_first }}({{ property.type|arg_type }} {{ property.name }}) = 0; 0038 0039 {% endfor %} 0040 {% if protected_functions %} 0041 0042 protected: 0043 {% for method in protected_functions %} 0044 {# skipping any defined destructor #} 0045 {% if not method.isDestructor %} 0046 0047 {% include "class_method_declaration_apidox_cpp.txt" %} 0048 {% include "class_method_declaration_cpp.txt" %} 0049 0050 {% endif %} 0051 {% endfor %} 0052 {% endif %} 0053 {% if private_functions %} 0054 0055 private: 0056 {% for method in private_functions %} 0057 {# skipping any defined destructor #} 0058 {% if not method.isDestructor %} 0059 0060 {% include "class_method_declaration_apidox_cpp.txt" %} 0061 {% include "class_method_declaration_cpp.txt" %} 0062 0063 {% endif %} 0064 {% endfor %} 0065 {% endif %} 0066 {% endblock class_body %} 0067 0068 {% block outside_namespace %} 0069 {{ block.super }} 0070 Q_DECLARE_INTERFACE({% if namespaces %}{{ namespaces|join:"::" }}::{% endif %}{{ name }}, "{{ interfaceid }}") 0071 {% endblock %}