{% extends "base.html" %} {% block title %}{{ namespace.name }}.{{ interface.name }}{% endblock %} {% block meta_other %} {% endblock %} {% macro sidebar_block(elements, iface_name, section_title, section_class, section_fragment) -%} {% if elements|length > 0 %}
{{ section_title }}
{% endif %} {% endmacro %} {% block sidebar %}
Type
{{ sidebar_block(interface.type_funcs, interface.name, "Functions", "func", "type_func") }} {{ sidebar_block(interface.methods, interface.name, "Instance methods", "method", "method") }} {{ sidebar_block(interface.properties, interface.name, "Properties", "property", "property") }} {{ sidebar_block(interface.signals, interface.name, "Signals", "signal", "signal") }} {{ sidebar_block(interface.class_methods, interface.name, "Interface methods", "method", "class_method") }} {{ sidebar_block(interface.virtual_methods, interface.name, "Virtual methods", "method", "vfunc") }} {% endblock %} {% macro navbar_block(elements, section_title, section_link) -%} {% if elements|length > 0 %}
  • {{ section_title }}
  • {% endif %} {% endmacro %} {% block navbar %}
    {% endblock %} {% block content %}

    Interface

    {{ namespace.name }}{{ interface.name }}

    {%- if CONFIG.is_unstable(interface.available_since) -%} unstable  {%- endif %} {%- if interface.deprecated_since -%} deprecated: {{ interface.deprecated_since.version }}  {%- endif -%} {%- if interface.available_since -%} since: {{ interface.available_since }} {%- endif -%}

    Description {% if CONFIG.source_location_url and interface.docs_location %} [src] {% endif %}

    {{ interface.c_decl }}
    {{ interface.description }}
    {% if interface.stability %}

    Stability: {{ interface.stability }}

    {% endif %} {% if interface.available_since %}

    Available since: {{ interface.available_since }}

    {% endif %} {% if interface.deprecated_since %} {%- if interface.deprecated_since.message -%}

    Deprecated since: {{ interface.deprecated_since.version }}

    {{ interface.deprecated_since.message }}
    {%- else -%}

    Deprecated since: {{ interface.deprecated_since.version }}. Do not use in newly written code.

    {%- endif -%} {% endif %}
    {% if interface.attributes %}
    {% for (key, value) in interface.attributes.items() %} {% endfor %}
    {{ key|escape }}{{ value|escape }}
    {% endif %}

    Prerequisite

    In order to implement {{ interface.name }}, your type must inherit from {%- if interface.requires_namespace == namespace.name -%} {%- else -%} {%- endif -%} {{ interface.requires_ctype }}.

    {% if interface.implementations %}

    Implementations

    {% endif %} {% if interface.type_funcs %}

    Functions

    {% for func in interface.type_funcs %}
    {{ func.identifier }}
    {{ func.summary }}

    {%- if CONFIG.is_unstable(func.available_since) -%} unstable  {%- endif %} {%- if func.deprecated_since -%} deprecated: {{ func.deprecated_since }}  {%- endif -%} {%- if func.available_since -%} since: {{ func.available_since }} {%- endif -%}

    {% endfor %}
    {% endif %} {% if interface.methods %}

    Instance methods

    {% for method in interface.methods %}
    {{ method.identifier }}
    {{ method.summary }}

    {%- if CONFIG.is_unstable(method.available_since) -%} unstable  {%- endif %} {%- if method.deprecated_since -%} deprecated: {{ method.deprecated_since }}  {%- endif -%} {%- if method.available_since -%} since: {{ method.available_since }} {%- endif -%}

    {% endfor %}
    {% endif %} {% if interface.properties %}

    Properties

    {% for property in interface.properties %}
    {{ interface.fqtn }}:{{ property.name }}
    {{ property.summary }}

    {%- if CONFIG.is_unstable(property.available_since) -%} unstable  {%- endif %} {%- if property.deprecated_since -%} deprecated: {{ property.deprecated_since }}  {%- endif -%} {%- if property.available_since -%} since: {{ property.available_since }} {%- endif -%}

    {% endfor %}
    {% endif %} {% if interface.signals %}

    Signals

    {% for signal in interface.signals %}
    {{ interface.fqtn }}::{{ signal.name }}
    {{ signal.summary }}

    {%- if CONFIG.is_unstable(signal.available_since) -%} unstable  {%- endif %} {%- if signal.deprecated_since -%} deprecated: {{ signal.deprecated_since }}  {%- endif -%} {%- if signal.available_since -%} since: {{ signal.available_since }} {%- endif -%}

    {% endfor %}
    {% endif %} {% if interface.class_name %}

    Interface structure {% if CONFIG.source_location_url and interface.source_location %} [src] {% endif %}

    struct {{ namespace.name}}{{ interface.class_name }} {
      {% for field in interface.class_fields %}
      {%- if field.is_callback -%}
      {{ field.type_cname }};
      {%- else -%}
      {{ field.type_cname }} {{ field.name }};
      {%- endif %}
      {% else %}/* no available fields */{% endfor %}
    }
    {{ interface.class_description }}
    {% if interface.class_fields %}
    Interface members
    {% for field in interface.class_fields %} {% endfor %}
    {{ field.name }}
    {{ field.type_cname }}
     {{ field.description }}
    {% endif %}
    {% endif %} {% if interface.class_methods %}

    Interface methods

    {% for method in interface.class_methods %}
    {{ method.identifier }}
    {{ method.summary }}

    {%- if CONFIG.is_unstable(method.available_since) -%} unstable  {%- endif %} {%- if method.deprecated_since -%} deprecated: {{ method.deprecated_since }}  {%- endif -%} {%- if method.available_since -%} since: {{ method.available_since }} {%- endif -%}

    {% endfor %}
    {% endif %} {% if interface.virtual_methods %}

    Virtual methods

    {% for method in interface.virtual_methods %}
    {{ namespace.name }}.{{ interface.name }}.{{ method.name }}
    {{ method.summary }}

    {%- if CONFIG.is_unstable(method.available_since) -%} unstable  {%- endif %} {%- if method.deprecated_since -%} deprecated: {{ method.deprecated_since }}  {%- endif -%} {%- if method.available_since -%} since: {{ method.available_since }} {%- endif -%}

    {% endfor %}
    {% endif %}
    {% endblock %}