public void ParseSome(int RowCount)
{
if (ParseQueue.Count > 0)
{
isParsed = false;
int i = 0;
while (i < RowCount && ParseQueue.Count > 0)
{
Row row = ParseQueue[0];
i += ParseRows(row);
}
if (NeedResetRows)
ResetVisibleRows();
if (Parsing != null)
Parsing(this, new EventArgs());
}
else
{
if (!isParsed && !Modified)
{
isParsed = true;
foreach (Row r in this)
{
if (r.expansion_StartSpan != null && r.Expansion_EndRow != null)
{
if (r.expansion_StartSpan.Scope.DefaultExpanded == false)
r.Expanded = false;
}
}
ResetVisibleRows();
if (ParsingCompleted != null)
ParsingCompleted(this, new EventArgs());
}
}
if (ParseQueue.Count == 0 && KeywordQueue.Count > 0)
{
// Console.WriteLine (this.KeywordQueue.Count.ToString ());
int i = 0;
while (i < RowCount/20 && KeywordQueue.Count > 0)
{
Row row = KeywordQueue[0];
i += ParseRows(row, true);
}
}
}