subroutineinterface_bodyprivate
subroutine interface_body(site, id, b)
Write what is specific to a generic interface: the procedures in it.
Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
| site | type(site_t) | in | the site | |
| id | integer | in | the interface | |
| b | type(buffer_t) | inout | the HTML |
Calls
Source
Show the code
subroutine interface_body(site, id, b)
type(site_t), intent(in) :: site !! the site
integer, intent(in) :: id !! the interface
type(buffer_t), intent(inout) :: b !! the HTML
integer, allocatable :: specifics(:)
logical :: forms
integer :: k
associate (e => site%p%list%box(id)%e)
allocate (specifics(0))
do k = 1, size(e%more%modproc_ids)
if (e%more%modproc_ids(k) > 0) call push_int(specifics, e%more%modproc_ids(k))
end do
do k = 1, size(e%children)
if (site%p%list%box(e%children(k))%e%kind == E_NONE) cycle
if (allocated(site%p%list%box(e%children(k))%e%more%args)) call push_int(specifics, e%children(k))
end do
call write_call_forms(site%p%list, e%name, specifics, b, forms)
call add(b, '<h2 id="procedures">Procedures</h2>'//achar(10))
if (forms) then
call add(b, '<details class="specifics"><summary>All '//trim(int_text(size(specifics)))// &
' procedures</summary>'//achar(10))
end if
do k = 1, size(e%more%modproc_ids)
if (e%more%modproc_ids(k) == 0) then
call add(b, '<div class="item"><h3>')
call html_escape(e%more%modprocs(k)%s, b, .false.)
call add(b, '</h3></div>'//achar(10))
else
call summary_item(site, e%more%modproc_ids(k), b)
end if
end do
do k = 1, size(e%children)
if (site%p%list%box(e%children(k))%e%kind == E_NONE) cycle
if (allocated(site%p%list%box(e%children(k))%e%more%args)) call summary_item(site, e%children(k), b)
end do
if (forms) call add(b, '</details>'//achar(10))
end associate
end subroutine interface_body