{% extends "base.html" %}

{% block title %}{{ namespace.name }}.{{ class.name }}{% endblock %}

{% block meta_other %}
  <meta property="og:title" content="{{ namespace.name }}.{{ class.name }}"/>
  <meta property="og:description" content="Reference for {{ namespace.name }}.{{ class.name }}"/>
  <meta name="twitter:title" content="{{ namespace.name }}.{{ class.name }}"/>
  <meta name="twitter:description" content="Reference for {{ namespace.name }}.{{ class.name }}"/>
{% endblock %}

{% macro sidebar_block(elements, class_name, section_title, section_class, section_fragment) -%}
{% if elements|length > 0 %}
<div class="section">
  <h5>{{ section_title }}</h5>
  <div class="links">
  {% for m in elements %}
    <a class="{{ section_class }}" href="{{ section_fragment }}.{{ class_name }}.{{ m.name }}.html">{{ m.name }}</a>
  {% endfor %}
  </div>
</div>
{% endif %}
{% endmacro %}

{% block sidebar %}
<div class="section">
  <h5>Type</h5>
  <div class="links">
    <a class="current" href="class.{{ class.name }}.html#description">{{ class.name }}</a>
  </div>
</div>

{% for section in sections %}
  {{ sidebar_block(section.index, class.name, section.title, section.section_class, section.section_fragment) }}
{% endfor %}
{% endblock %}

{% macro navbar_block(elements, section_title, section_link) -%}
{% if elements|length > 0 %}
<li class="toc-list-item"><a href="{{ section_link }}"><span class="link-text">{{ section_title }}</span></a></li>
{% endif %}
{% endmacro %}

{% block navbar %}
<div id="toc" class="toc">
  <nav aria-labelledby="toc-title">
    <p id="toc-title">Content</p>
    <ul class="toc-list">
      <li class="toc-list-item"><a href="#description"><span class="link-text">Description</span></a></li>
      {% if class.description_toc %}
      <ul class="toc-list">
      {% if class.description_toc|length == 1 %}
      {% for header in class.description_toc[0].children %}
        <li class="toc-list-item"><a href="#{{ header.id }}"><span class="link-text">{{ header.name }}</span></a></li>
      {% endfor %}
      {% else %}
      {% for header in class.description_toc %}
        <li class="toc-list-item"><a href="#{{ header.id }}"><span class="link-text">{{ header.name }}</span></a></li>
      {% endfor %}
      {% endif %}
      </ul>
      {% endif %}
      {% if CONFIG.show_class_hierarchy and (class.ancestors or class.interfaces) %}
      <li class="toc-list-item"><a href="#hierarchy"><span class="link-text">Hierarchy</span></a></li>
      {% endif %}
      {% if class.ancestors %}
      <li class="toc-list-item"><a href="#ancestors"><span class="link-text">Ancestors</span></a></li>
      {% endif %}
      {% if class.interfaces %}
      <li class="toc-list-item"><a href="#implements"><span class="link-text">Implements</span></a></li>
      {% endif %}
      {{ navbar_block(class.ctors, "Constructors", "#constructors") }}
      {{ navbar_block(class.type_funcs, "Functions", "#type-functions") }}
      {{ navbar_block(class.methods, "Methods", "#methods") }}
      {{ navbar_block(class.properties, "Properties", "#properties") }}
      {{ navbar_block(class.signals, "Signals", "#signals") }}
      {{ navbar_block(class.class_methods, "Class methods", "#class-methods") }}
      {{ navbar_block(class.virtual_methods, "Virtual methods", "#virtual-methods") }}
    </ul>
  </nav>
</div>
{% endblock %}

{% block content %}
<section id="main" class="content">
  <header>
    <h3>Class</h3>
    <h1 aria-label="Name"><a href="index.html">{{ namespace.name }}</a><span class="sep" role="presentation"></span>{{ class.name }}</h1>
  </header>

  <section>
    <summary>
      <div class="docblock">
        <p>
        {%- if CONFIG.is_unstable(class.available_since) -%}
        <span class="emblem available-next" title="This type will be available in the next stable release">unstable</span>&nbsp;
        {%- endif %}
        {%- if class.deprecated_since -%}
        <span class="emblem deprecated">deprecated: {{ class.deprecated_since.version }}</span>&nbsp;
        {%- endif -%}
        {%- if class.available_since -%}
        <span class="emblem available">since: {{ class.available_since }}</span>
        {%- endif -%}
        </p>
      </div>

      <div class="toggle-wrapper">
        <h4 id="description" style="display:flex;">
          Description
          <a href="#description" class="anchor"></a>
          {% if CONFIG.source_location_url and class.docs_location %}
          <a class="srclink" title="go to source location" href="{{ CONFIG.source_link(class.docs_location) }}">[src]</a>
          {% endif %}
        </h4>

        <pre><code>{{ class.c_decl }}</pre></code>

        <div class="docblock">
          {{ class.description }}
        </div>

        <div class="docblock">
          {% if class.stability %}
          <p>Stability: {{ class.stability }}</p>
          {% endif %}
          {% if class.available_since %}
          <p>Available since: {{ class.available_since }}</p>
          {% endif %}
          {% if class.deprecated_since %}
          {%- if class.deprecated_since.message -%}
          <div>
            <p>Deprecated since: {{ class.deprecated_since.version }}</p>
            {{ class.deprecated_since.message }}
          </div>
          {%- else -%}
          <p>Deprecated since: {{ class.deprecated_since.version }}. Do not use in newly written code.</p>
          {%- endif -%}
          {% endif %}
        </div>

        {% if class.attributes %}
        <div class="docblock">
          <table class="attributes">
          {% for (key, value) in class.attributes.items()|sort %}
            <tr><td>{{ key|escape }}</td><td>{{ value|escape }}</td></tr>
          {% endfor %}
          </table>
        </div>
        {% endif %}
      </div>
    </summary>

    {% if CONFIG.show_class_hierarchy and (class.ancestors or class.interfaces) %}
    <div class="toggle-wrapper hierarchy">
      <h4 id="hierarchy">
        Hierarchy
        <a href="#hierarchy" class="anchor"></a>
      </h4>
      <div class="docblock" alt="Hierarchy for {{ class.fqtn }}">
        {{ class.hierarchy_svg|safe }}
      </div>
    </div>
    {% endif %}

    {% if class.ancestors %}
    <div class="toggle-wrapper ancestors">
      <h4 id="ancestors">
        Ancestors
        <a href="#ancestors" class="anchor"></a>
      </h4>

      <div class="docblock">
        <ul>
        {% for ancestor in class.ancestors %}
          {% if ancestor.namespace == namespace.name %}
          <li class="class"><a href="class.{{ ancestor.name }}.html" title="{{ ancestor.name }}">{{ ancestor.type_cname }}</a></li>
          {% else %}
          <li class="class"><a class="external" href="javascript:void(0)" data-link="class.{{ ancestor.name }}.html" data-namespace="{{ ancestor.namespace }}">{{ ancestor.type_cname }}</a></li>
          {% endif %}
        {% endfor %}
        </ul>
      </div>
    </div>
    {% endif %}

    {% if class.descendants %}
    <div class="descendants toggle-wrapper default-hide">
      <h4 id="descendants">Descendants <a href="#descendants" class="anchor"></a></h4>
      <div class="docblock">
        <ul>
        {%- for cls in class.descendants %}
          <li class="class"><a href="class.{{ cls.name }}.html" title="{{ cls.name }}">{{ cls.ctype }}</a></li>
        {% endfor -%}
        </ul>
      </div>
    </div>
    {% endif %}

    {% if class.interfaces %}
    <div class="toggle-wrapper implements">
      <h4 id="implements">
        Implements
        <a href="#implements" class="anchor"></a>
      </h4>

      <div class="docblock">
        <ul>
        {% for iface in class.interfaces %}
          {% if iface.namespace == namespace.name %}
          <li class="interface"><a href="iface.{{ iface.name }}.html" title="{{ iface.name }}">{{ iface.type_cname }}</a></li>
          {% else %}
          <li class="interface"><a class="external" href="javascript:void(0)" data-link="iface.{{ iface.name }}.html" data-namespace="{{ iface.namespace }}">{{ iface.type_cname }}</a></li>
          {% endif %}
        {% endfor %}
        </ul>
      </div>
    </div>
    {% endif %}

    {% if class.ctors %}
    <div class="toggle-wrapper constructors">
      <h4 id="constructors">
        Constructors
        <a href="#constructors" class="anchor"></a>
      </h4>

      <div class="docblock">
      {% for ctor in class.ctors %}
        <div class="{% if ctor.deprecated_since %}deprecated{% endif %}">
          <h6><a href="ctor.{{ class.name }}.{{ ctor.name }}.html">{{ ctor.identifier }}</a></h6>
          <div class="docblock">
            {{ ctor.summary }}
          </div>
          <div class="docblock">
            <p>
            {%- if CONFIG.is_unstable(ctor.available_since) -%}
            <span class="emblem available-next" title="This constructor will be available in the next stable release">unstable</span>&nbsp;
            {%- endif %}
            {%- if ctor.deprecated_since -%}
            <span class="emblem deprecated">deprecated: {{ ctor.deprecated_since }}</span>&nbsp;
            {%- endif -%}
            {%- if ctor.available_since -%}
            <span class="emblem available">since: {{ ctor.available_since }}</span>
            {%- endif -%}
            </p>
          </div>
        </div>
      {% endfor %}
      </div>
    </div>
    {% endif %}

    {% if class.type_funcs %}
    <div class="toggle-wrapper methods">
      <h4 id="type-functions">
        Functions
        <a href="#type-functions" class="anchor"></a>
      </h4>

      <div class="docblock">
      {% for func in class.type_funcs %}
      <div class="{% if func.deprecated_since %}deprecated{% endif %}">
        <h6><a href="type_func.{{ class.name }}.{{ func.name }}.html">{{ func.identifier }}</a></h6>
        <div class="docblock">
          {{ func.summary }}
        </div>
        <div class="docblock">
          <p>
          {%- if CONFIG.is_unstable(func.available_since) -%}
          <span class="emblem available-next" title="This function will be available in the next stable release">unstable</span>&nbsp;
          {%- endif %}
          {%- if func.deprecated_since -%}
          <span class="emblem deprecated">deprecated: {{ func.deprecated_since }}</span>&nbsp;
          {%- endif -%}
          {%- if func.available_since -%}
          <span class="emblem available">since: {{ func.available_since }}</span>
          {%- endif -%}
          </p>
        </div>
      </div>
      {% endfor %}
      </div>
    </div>
    {% endif %}

    {% if class.show_methods %}
    <div class="toggle-wrapper methods">
      <h4 id="methods">
        Instance methods
        <a href="#methods" class="anchor"></a>
      </h4>

      <div class="docblock">
      {% for method in class.methods %}
        <div class="{% if method.deprecated_since %}deprecated{% endif %}">
          <h6><a href="method.{{ class.name}}.{{ method.name }}.html">{{ method.identifier }}</a></h6>
          <div class="docblock">
            {{ method.summary }}
          </div>
          <div class="docblock">
            <p>
            {%- if CONFIG.is_unstable(method.available_since) -%}
            <span class="emblem available-next" title="This method will be available in the next stable release">unstable</span>&nbsp;
            {%- endif %}
            {%- if method.deprecated_since -%}
            <span class="emblem deprecated">deprecated: {{ method.deprecated_since }}</span>&nbsp;
            {%- endif -%}
            {%- if method.available_since -%}
            <span class="emblem available">since: {{ method.available_since }}</span>
            {%- endif -%}
            </p>
          </div>
        </div>
      {% endfor %}
      </div>

      {% for ancestor in class.ancestors %}
        {% if ancestor.n_methods > 0 %}
        <div class="toggle-wrapper default-hide ancestor-methods">
          {%- if ancestor.namespace == namespace.name %}
          <h5 style="display:block;">Methods inherited from <a href="class.{{ ancestor.name }}.html">{{ ancestor.type_cname }}</a> ({{ ancestor.n_methods }})</h5>
          {%- else -%}
          <h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="class.{{ ancestor.name }}.html" data-namespace="{{ ancestor.namespace }}">{{ ancestor.type_cname }}</a> ({{ ancestor.n_methods }})</h5>
          {% endif -%}

          <div class="docblock">
          {% for method in ancestor.methods %}
            {%- if ancestor.namespace == namespace.name %}
            <h6><a href="method.{{ ancestor.name }}.{{ method.name }}.html">{{ method.identifier }}</a></h6>
            {%- else -%}
            <h6><a class="external" href="javascript:void(0)" data-namespace="{{ ancestor.namespace }}" data-link="method.{{ ancestor.name }}.{{ method.name }}.html">{{ method.identifier }}</a></h6>
            {% endif -%}
            <div class="docblock">
              {{ method.summary }}
            </div>
            <div class="docblock">
              <p>
              {%- if CONFIG.is_unstable(method.available_since) -%}
              <span class="emblem available-next" title="This method will be available in the next stable release">unstable</span>&nbsp;
              {%- endif %}
              {%- if method.deprecated_since -%}
              <span class="emblem deprecated">deprecated: {{ method.deprecated_since }}</span>&nbsp;
              {%- endif -%}
              {%- if method.available_since -%}
              <span class="emblem available">since: {{ method.available_since }}</span>
              {%- endif -%}
              </p>
            </div>
          {% else %}
            <div class="docblock">
              <p>Please see&nbsp;
              {%- if ancestor.namespace == namespace.name -%}
              <a href="class.{{ancestor.name}}.html#methods">{{ ancestor.type_cname }}</a>
              {%- else -%}
              <a class="external" href="javascript:void(0)" data-link="class.{{ ancestor.name }}.html#methods" data-namespace="{{ ancestor.namespace }}">{{ ancestor.type_cname }}</a>
              {%- endif -%}
              &nbsp;for a full list of methods.</em></p>
            </div>
          {% endfor %}
          </div>
        </div>
        {% endif %}
      {% endfor %}

      {% for iface in class.interfaces %}
        {% if iface.n_methods > 0 %}
        <div class="toggle-wrapper default-hide ancestor-methods">
          {%- if iface.namespace == namespace.name %}
          <h5 style="display:block;">Methods inherited from <a href="iface.{{ iface.name }}.html">{{ iface.type_cname }}</a> ({{ iface.n_methods }})</h5>
          {%- else -%}
          <h5 style="display:block;">Methods inherited from <a class="external" href="javascript:void(0)" data-link="iface.{{ iface.name }}.html" data-namespace="{{ iface.namespace }}">{{ iface.type_cname }}</a> ({{ iface.n_methods }})</h5>
          {% endif -%}

          <div class="docblock">
          {% for method in iface.methods %}
            {%- if iface.namespace == namespace.name %}
            <h6><a href="method.{{ iface.name }}.{{ method.name }}.html">{{ method.identifier }}</a></h6>
            {%- else -%}
            <h6><a class="external" href="javascript:void(0)" data-namespace="{{ iface.namespace }}" data-link="method.{{ iface.name }}.{{ method.name }}.html">{{ method.identifier }}</a></h6>
            {% endif -%}
            <div class="docblock">
              {{ method.summary }}
            </div>
            <div class="docblock">
              <p>
              {%- if CONFIG.is_unstable(method.available_since) -%}
              <span class="emblem available-next" title="This method will be available in the next stable release">unstable</span>&nbsp;
              {%- endif %}
              {%- if method.deprecated_since -%}
              <span class="emblem deprecated">deprecated: {{ method.deprecated_since }}</span>&nbsp;
              {%- endif -%}
              {%- if method.available_since -%}
              <span class="emblem available">since: {{ method.available_since }}</span>
              {%- endif -%}
              </p>
            </div>
          {% else %}
            <div class="docblock">
              <p><em>Please see&nbsp;
              {%- if iface.namespace == namespace.name -%}
              <a href="iface.{{iface.name}}.html#methods">{{ iface.type_cname }}</a>
              {%- else -%}
              <a class="external" href="javascript:void(0)" data-link="iface.{{ iface.name }}.html#methods" data-namespace="{{ iface.namespace }}">{{ iface.type_cname }}</a>
              {%- endif -%}
              &nbsp;for a full list of methods.</em></p>
            </div>
          {% endfor %}
          </div>
        </div>
        {% endif %}
      {% endfor %}
    </div>
    {% endif %}

    {% if class.show_properties %}
    <div class="toggle-wrapper properties">
      <h4 id="properties">
        Properties
        <a href="#properties" class="anchor"></a>
      </h4>

      {% if class.properties %}
      <div class="docblock">
      {% for property in class.properties %}
        <div class="{% if property.deprecated_since %}deprecated{% endif %}">
          <h6><a href="property.{{ class.name }}.{{ property.name }}.html">{{ class.fqtn }}:{{ property.name }}</a></h6>
          <div class="docblock">
            {{ property.summary }}
          </div>
          <div class="docblock">
            <p>
            {%- if CONFIG.is_unstable(property.available_since) -%}
            <span class="emblem available-next" title="This property will be available in the next stable release">unstable</span>&nbsp;
            {%- endif %}
            {%- if property.deprecated_since -%}
            <span class="emblem deprecated">deprecated: {{ property.deprecated_since }}</span>&nbsp;
            {%- endif -%}
            {%- if property.available_since -%}
            <span class="emblem available">since: {{ property.available_since }}</span>
            {%- endif -%}
            </p>
          </div>
        </div>
      {% endfor %}
      </div>
      {% endif %}

      {% for ancestor in class.ancestors %}
        {% if ancestor.n_properties > 0 %}
        <div class="{% if ancestor.properties %}toggle-wrapper default-hide{% endif %} ancestor-properties">
          {%- if ancestor.namespace == namespace.name %}
          <h5 style="display:block;">Properties inherited from <a href="class.{{ ancestor.name }}.html">{{ ancestor.type_cname }}</a> ({{ ancestor.n_properties }})</h5>
          {%- else -%}
          <h5 style="display:block;">Properties inherited from <a class="external" href="javascript:void(0)" data-link="class.{{ ancestor.name }}.html" data-namespace="{{ ancestor.namespace }}">{{ ancestor.type_cname }}</a> ({{ ancestor.n_properties }})</h5>
          {% endif -%}

          <div class="docblock">
          {% for property in ancestor.properties %}
            {%- if ancestor.namespace == namespace.name %}
            <h6><a href="property.{{ ancestor.name }}.{{ property.name }}.html">{{ ancestor.fqtn }}:{{ property.name }}</a></h6>
            {%- else -%}
            <h6><a class="external" href="javascript:void(0)" data-namespace="{{ ancestor.namespace }}" data-link="property.{{ ancestor.name }}.{{ property.name }}.html">{{ ancestor.fqtn }}:{{ property.name }}</a></h6>
            {% endif -%}
            <div class="docblock">
              {{ property.summary }}
            </div>
            <div class="docblock">
              <p>
              {%- if CONFIG.is_unstable(property.available_since) -%}
              <span class="emblem available-next" title="This property will be available in the next stable release">unstable</span>&nbsp;
              {%- endif %}
              {%- if property.deprecated_since -%}
              <span class="emblem deprecated">deprecated: {{ property.deprecated_since }}</span>&nbsp;
              {%- endif -%}
              {%- if property.available_since -%}
              <span class="emblem available">since: {{ property.available_since }}</span>
              {%- endif -%}
              </p>
            </div>
          {% endfor %}
          </div>
        </div>
        {% endif %}
      {% endfor %}

      {% for iface in class.interfaces %}
        {% if iface.n_properties > 0 %}
        <div class="{% if iface.properties %}toggle-wrapper default-hide{% endif %} ancestor-properties">
          {%- if iface.namespace == namespace.name %}
          <h5 style="display:block;">Properties inherited from <a href="iface.{{ iface.name }}.html">{{ iface.type_cname }}</a> ({{ iface.n_properties }})</h5>
          {%- else -%}
          <h5 style="display:block;">Properties inherited from <a class="external" href="javascript:void(0)" data-link="iface.{{ iface.name }}.html" data-namespace="{{ iface.namespace }}">{{ iface.type_cname }}</a> ({{ iface.n_properties }})</h5>
          {% endif -%}

          <div class="docblock">
          {% for property in iface.properties %}
            {%- if iface.namespace == namespace.name %}
            <h6><a href="property.{{ iface.name }}.{{ property.name }}.html">{{ iface.type_cname }}:{{ property.name }}</a></h6>
            {%- else -%}
            <h6><a class="external" href="javascript:void(0)" data-namespace="{{ iface.namespace }}" data-link="property.{{ iface.name }}.{{ property.name }}.html">{{ iface.fqtn }}:{{ property.name }}</a></h6>
            {% endif -%}
            <div class="docblock">
              {{ property.summary }}
            </div>
            <div class="docblock">
              <p>
              {%- if CONFIG.is_unstable(property.available_since) -%}
              <span class="emblem available-next" title="This property will be available in the next stable release">unstable</span>&nbsp;
              {%- endif %}
              {%- if property.deprecated_since -%}
              <span class="emblem deprecated">deprecated: {{ property.deprecated_since }}</span>&nbsp;
              {%- endif -%}
              {%- if property.available_since -%}
              <span class="emblem available">since: {{ property.available_since }}</span>
              {%- endif -%}
              </p>
            </div>
          {% endfor %}
          </div>
        </div>
        {% endif %}
      {% endfor %}

    </div>
    {% endif %}

    {% if class.show_signals %}
    <div class="signals toggle-wrapper">
      <h4 id="signals">
        Signals
        <a href="#signals" class="anchor"></a>
      </h4>

      {% if class.signals %}
      <div class="docblock">
      {% for signal in class.signals %}
        <div class="{% if signal.deprecated_since %}deprecated{% endif %}">
          <h6><a href="signal.{{ class.name }}.{{ signal.name }}.html">{{ class.fqtn }}::{{ signal.name }}</a></h6>
          <div class="docblock">
            {{ signal.summary }}
          </div>
          <div class="docblock">
            <p>
            {%- if CONFIG.is_unstable(signal.available_since) -%}
            <span class="emblem available-next" title="This signal will be available in the next stable release">unstable</span>&nbsp;
            {%- endif %}
            {%- if signal.deprecated_since -%}
            <span class="emblem deprecated">deprecated: {{ signal.deprecated_since }}</span>&nbsp;
            {%- endif -%}
            {%- if signal.available_since -%}
            <span class="emblem available">since: {{ signal.available_since }}</span>
            {%- endif -%}
            </p>
          </div>
        </div>
      {% endfor %}
      </div>
      {% endif %}

      {% for ancestor in class.ancestors %}
        {% if ancestor.n_signals > 0 %}
        <div class="{% if ancestor.signals %}toggle-wrapper default-hide{% endif %} ancestor-signals">
          {%- if ancestor.namespace == namespace.name %}
          <h5 style="display:block;">Signals inherited from <a href="class.{{ ancestor.name }}.html">{{ ancestor.type_cname }}</a> ({{ ancestor.n_signals }})</h5>
          {%- else -%}
          <h5 style="display:block;">Signals inherited from <a class="external" href="javascript:void(0)" data-link="class.{{ ancestor.name }}.html" data-namespace="{{ ancestor.namespace }}">{{ ancestor.type_cname }}</a> ({{ ancestor.n_signals }})</h5>
          {% endif -%}

          <div class="docblock">
          {% for signal in ancestor.signals %}
            {%- if ancestor.namespace == namespace.name %}
            <h6><a href="signal.{{ ancestor.name }}.{{ signal.name }}.html">{{ ancestor.type_cname }}::{{ signal.name }}</a></h6>
            {%- else -%}
            <h6><a class="external" href="javascript:void(0)" data-namespace="{{ ancestor.namespace }}" data-link="signal.{{ ancestor.name }}.{{ signal.name }}.html">{{ ancestor.type_cname }}::{{ signal.name }}</a></h6>
            {% endif -%}
            <div class="docblock">
              {{ signal.summary }}
            </div>
            <div class="docblock">
              <p>
              {%- if CONFIG.is_unstable(signal.available_since) -%}
              <span class="emblem available-next" title="This signal will be available in the next stable release">unstable</span>&nbsp;
              {%- endif %}
              {%- if signal.deprecated_since -%}
              <span class="emblem deprecated">deprecated: {{ signal.deprecated_since }}</span>&nbsp;
              {%- endif -%}
              {%- if signal.available_since -%}
              <span class="emblem available">since: {{ signal.available_since }}</span>
              {%- endif -%}
              </p>
            </div>
          {% endfor %}
          </div>
        </div>
        {% endif %}
      {% endfor %}

      {% for iface in class.interfaces %}
        {% if iface.n_signals %}
        <div class="{% if iface.signals %}toggle-wrapper default-hide{% endif %} ancestor-signals">
          {%- if iface.namespace == namespace.name %}
          <h5 style="display:block;">Signals inherited from <a href="iface.{{ iface.name }}.html">{{ iface.type_cname }}</a> ({{ iface.n_signals }})</h5>
          {%- else -%}
          <h5 style="display:block;">Signals inherited from <a class="external" href="javascript:void(0)" data-link="iface.{{ iface.name }}.html" data-namespace="{{ iface.namespace }}">{{ iface.type_cname }}</a> ({{ iface.n_signals }})</h5>
          {% endif -%}

          <div class="docblock">
          {% for signal in iface.signals %}
            {%- if iface.namespace == namespace.name %}
            <h6><a href="signal.{{ iface.name }}.{{ signal.name }}.html">{{ iface.type_cname }}::{{ signal.name }}</a></h6>
            {%- else -%}
            <h6><a class="external" href="javascript:void(0)" data-namespace="{{ iface.namespace }}" data-link="signal.{{ iface.name }}.{{ signal.name }}.html">{{ iface.type_cname }}::{{ signal.name }}</a></h6>
            {% endif -%}
            <div class="docblock">
              {{ signal.summary }}
            </div>
            <div class="docblock">
              <p>
              {%- if CONFIG.is_unstable(signal.available_since) -%}
              <span class="emblem available-next" title="This signal will be available in the next stable release">unstable</span>&nbsp;
              {%- endif %}
              {%- if signal.deprecated_since -%}
              <span class="emblem deprecated">deprecated: {{ signal.deprecated_since }}</span>&nbsp;
              {%- endif -%}
              {%- if signal.available_since -%}
              <span class="emblem available">since: {{ signal.available_since }}</span>
              {%- endif -%}
              </p>
            </div>
          {% endfor %}
          </div>
        </div>
        {% endif %}
      {% endfor %}

    </div>
    {% endif %}

    {% if class.class_name %}
    <div class="class toggle-wrapper default-hide">
      <h4 id="class-struct">
        Class structure
        <a href="#class-struct" class="anchor"></a>
      </h4>

      <div class="docblock">
        <pre><code>struct {{ namespace.name}}{{ class.class_name }} {
  {% for field in class.class_fields %}
  {%- if field.is_callback -%}
  {{ field.type_cname }};
  {%- else -%}
  {{ field.type_cname }} {{ field.name }};
  {%- endif %}
  {% else %}/* no available fields */{% endfor %}
}</code></pre>
      </div>

      <div class="docblock">
        {{ class.class_description }}
      </div>

      {% if class.class_fields %}
      <div class="docblock">
        <h6>Class members</h6>

        <dl class="members">
        {% for field in class.class_fields %}
          <dt><code>{{ field.name }}: {{ field.type_cname }}</code></dt>
          <dd>{{ field.description }}</dd>
        {% endfor %}
        </dd>
      </div>
      {% endif %}
    </div>
    {% endif %}

    {% if class.virtual_methods %}
    <div class="toggle-wrapper methods">
      <h4 id="virtual-methods">
        Virtual methods
        <a href="#virtual-methods" class="anchor"></a>
      </h4>

      <div class="docblock">
      {% for method in class.virtual_methods %}
      <div class="{% if method.deprecated_since %}deprecated{% endif %}">
        <h6 id="vfunc-{{ method.name }}"><a href="vfunc.{{ class.name }}.{{ method.name }}.html">{{ namespace.name }}.{{ class.class_name }}.{{ method.name }}</a></h6>
        <div class="docblock">
          {{ method.summary }}
        </div>
        <div class="docblock">
          <p>
          {%- if CONFIG.is_unstable(method.available_since) -%}
          <span class="emblem available-next" title="This virtual method will be available in the next stable release">unstable</span>&nbsp;
          {%- endif %}
          {%- if method.deprecated_since -%}
          <span class="emblem deprecated">deprecated: {{ method.deprecated_since }}</span>&nbsp;
          {%- endif -%}
          {%- if method.available_since -%}
          <span class="emblem available">since: {{ method.available_since }}</span>
          {%- endif -%}
          </p>
        </div>
      </div>
      {% endfor %}
      </div>
    </div>
    {% endif %}

    {% if class.class_methods %}
    <div class="toggle-wrapper methods">
      <h4 id="class-methods">
        Class methods
        <a href="#class-methods" class="anchor"></a>
      </h4>

      <div class="docblock">
      {% for method in class.class_methods %}
      <div class="{% if method.deprecated_since %}deprecated{% endif %}">
        <h6><a href="class_method.{{ class.name }}.{{ method.name }}.html">{{ method.identifier }}</a></h6>
        <div class="docblock">
          {{ method.summary }}
        </div>
        <div class="docblock">
          <p>
          {%- if CONFIG.is_unstable(method.available_since) -%}
          <span class="emblem available-next" title="This class method will be available in the next stable release">unstable</span>&nbsp;
          {%- endif %}
          {%- if method.deprecated_since -%}
          <span class="emblem deprecated">deprecated: {{ method.deprecated_since }}</span>&nbsp;
          {%- endif -%}
          {%- if method.available_since -%}
          <span class="emblem available">since: {{ method.available_since }}</span>
          {%- endif -%}
          </p>
        </div>
      </div>
      {% endfor %}
      </div>
    </div>
    {% endif %}

  </section>
</section>
{% endblock %}
