{% extends "base.html" %} {% set current_name = obj.name %} {% block title %}{{ obj.name }}{% endblock %} {% macro type_badge(obj_type) %} {% if obj_type == 'function_block' %}Function Block {% elif obj_type == 'program' %}Program {% elif obj_type == 'function' %}Function {% elif obj_type == 'interface' %}Interface {% elif obj_type == 'gvl' %}GVL {% elif obj_type == 'struct' %}Struct {% elif obj_type == 'enum' %}Enum {% endif %} {% endmacro %} {% macro var_table(vars, title, badge_class="") %} {% if vars %} {% set has_defaults = vars | selectattr('default_value') | list | length > 0 %}

{{ title }} {% if badge_class %}{{ title }}{% endif %}

{% if has_defaults %}{% endif %} {% for v in vars %} {% if has_defaults %}{% endif %} {% endfor %}
Name TypeDefaultDescription
{{ v.name }} {{ v.var_type | link_type }}{% if v.default_value %}{{ v.default_value }}{% endif %}{{ v.comment }}
{% endif %} {% endmacro %} {% macro enum_table(members, title) %} {% if members %}

{{ title }}

{% for m in members %} {% endfor %}
NameValueDescription
{{ m.name }} {{ m.var_type }} {{ m.comment }}
{% endif %} {% endmacro %} {% block content %}

{{ obj.name }} {{ type_badge(obj.obj_type) }} {% if obj.visibility %}{{ obj.visibility }}{% endif %} {% if obj.is_abstract %}ABSTRACT{% endif %} {% if obj.is_final %}FINAL{% endif %}

{% if obj.extends or obj.implements %}

{% if obj.extends %}Extends {{ obj.extends }}{% endif %} {% if obj.extends and obj.implements %} — {% endif %} {% if obj.implements %}Implements {% for iface in obj.implements %}{{ iface }}{% if not loop.last %}, {% endif %}{% endfor %}{% endif %}

{% endif %} {% if obj.comment.description %}

{{ obj.comment.description }}

{% endif %} {% if obj.comment.remarks %}

Remarks: {{ obj.comment.remarks }}

{% endif %}
{# Variable tables #} {{ var_table(obj.inputs, 'Inputs') }} {{ var_table(obj.inout, 'In/Out') }} {{ var_table(obj.outputs, 'Outputs') }} {% if obj.obj_type == 'enum' %} {{ enum_table(obj.variables, 'Members') }} {% elif obj.obj_type == 'struct' %} {{ var_table(obj.variables, 'Fields') }} {% elif obj.obj_type == 'gvl' %} {{ var_table(obj.variables, 'Globals') }} {% else %} {{ var_table(obj.variables, 'Variables') }} {% endif %} {# Methods #} {% if obj.methods %}

Methods

{% for method in obj.methods %}
{{ method.name }}{% if method.return_type %} : {{ method.return_type | link_type }}{% endif %} {% if method.visibility %}{{ method.visibility }}{% endif %} {% if method.is_abstract %}ABSTRACT{% endif %} {% if method.is_final %}FINAL{% endif %}
{% if method.comment.description %}

{{ method.comment.description }}

{% endif %} {{ var_table(method.inputs, 'Parameters') }} {{ var_table(method.inout, 'In/Out') }} {{ var_table(method.outputs, 'Outputs') }} {% if method.comment.returns %}

Returns: {{ method.comment.returns }}

{% endif %} {% if method.body %}
Implementation
{{ method.body }}
{% endif %}
{% endfor %} {% endif %} {# Properties #} {% if obj.properties %}

Properties

{% for prop in obj.properties %}
{{ prop.name }}{% if prop.return_type %} : {{ prop.return_type | link_type }}{% endif %} {% if prop.visibility %}{{ prop.visibility }}{% endif %} {% if prop.has_get %}GET{% endif %} {% if prop.has_set %}SET{% endif %}
{% if prop.comment.description %}

{{ prop.comment.description }}

{% endif %}
{% endfor %} {% endif %} {# Actions #} {% if obj.actions %}

Actions

{% endif %} {# Used by #} {% if obj.used_by %}

Used by

{% endif %} {# Declaration source #}
Declaration source
{{ obj.declaration }}
{% endblock %}