private string GetOutlineString(Header header)
{
try
{
int outline1 = 0;
int outline2 = 0;
int outline3 = 0;
int outline4 = 0;
int outline5 = 0;
int outline6 = 0;
if (header.Document != null)
{
if (header.Document is TextDocuments.TextDocument && header.Document.Content != null)
{
foreach(IContent content in header.Document.Content)
if (content is Header)
if (((Header)content).OutLineLevel != null)
{
int no = Convert.ToInt32(((Header)content).OutLineLevel);
if (no == 1)
{
outline1++;
outline2 = 0;
outline3 = 0;
outline4 = 0;
outline5 = 0;
outline6 = 0;
}
else if (no == 2)
outline2++;
else if (no == 3)
outline3++;
else if (no == 4)
outline4++;
else if (no == 5)
outline5++;
else if (no == 6)
outline6++;
if (content == header)
{
string sNumber = outline1.ToString()+".";
string sNumber1 = "";
if (outline6 != 0)
sNumber1 = "."+outline6.ToString()+".";
if (outline5 != 0)
sNumber1 = sNumber1+"."+outline5.ToString()+".";
if (outline4 != 0)
sNumber1 = sNumber1+"."+outline4.ToString()+".";
if (outline3 != 0)
sNumber1 = sNumber1+"."+outline3.ToString()+".";
if (outline2 != 0)
sNumber1 = sNumber1+"."+outline2.ToString()+".";
sNumber += sNumber1;
return sNumber.Replace("..",".");
}
}
}
}
}
catch(Exception ex)
{
if (OnWarning != null)
{
AODLWarning warning = new AODLWarning("Exception while trying to get a outline string for a heading.", ex);
//warning.InMethod = AODLException.GetExceptionSourceInfo(new StackFrame(1, true));
//warning.OriginalException = ex;
warning.Node = header.Node;
OnWarning(warning);
}
}
return null;
}