case Heading.HEADING_LARGE:
m_buf.append("<li class=\"toclevel-1\">");
m_level1Index++;
break;
default:
throw new InternalWikiException("Unknown depth in toc! (Please submit a bug report.)");
}
if (m_level1Index < m_starting)
{
// in case we never had a large heading ...
m_level1Index++;
}
if ((m_lastLevel == Heading.HEADING_SMALL) && (hd.m_level != Heading.HEADING_SMALL))
{
m_level3Index = 0;
}
if ( ((m_lastLevel == Heading.HEADING_SMALL) || (m_lastLevel == Heading.HEADING_MEDIUM)) &&
(hd.m_level == Heading.HEADING_LARGE) )
{
m_level3Index = 0;
m_level2Index = 0;
}
String titleSection = hd.m_titleSection.replace( '%', '_' );
String pageName = context.getEngine().encodeName(context.getPage().getName()).replace( '%', '_' );
String sectref = "#section-"+pageName+"-"+titleSection;
m_buf.append( "<a class=\"wikipage\" href=\"" + sectref + "\">" );
if (m_usingNumberedList)
{
switch( hd.m_level )
{
case Heading.HEADING_SMALL:
m_buf.append(m_prefix + m_level1Index + "." + m_level2Index + "."+ m_level3Index +" ");
break;
case Heading.HEADING_MEDIUM:
m_buf.append(m_prefix + m_level1Index + "." + m_level2Index + " ");
break;
case Heading.HEADING_LARGE:
m_buf.append(m_prefix + m_level1Index +" ");
break;
default:
throw new InternalWikiException("Unknown depth in toc! (Please submit a bug report.)");
}
}
m_buf.append( TextUtil.replaceEntities(hd.m_titleText)+"</a></li>\n" );
m_lastLevel = hd.m_level;