}
//System.out.println("Header: " + type);
//System.out.println(MPPUtility.hexdump(m_data, m_dataOffset, 36, false, 16, ""));
GraphicalIndicator indicator = new GraphicalIndicator();
indicator.setFieldType(type);
int flags = m_data[m_dataOffset];
indicator.setProjectSummaryInheritsFromSummaryRows((flags & 0x08) != 0);
indicator.setSummaryRowsInheritFromNonSummaryRows((flags & 0x04) != 0);
indicator.setDisplayGraphicalIndicators((flags & 0x02) != 0);
indicator.setShowDataValuesInToolTips((flags & 0x01) != 0);
m_dataOffset += 20;
int nonSummaryRowOffset = MPPUtility.getInt(m_data, m_dataOffset) - 36;
m_dataOffset += 4;
int summaryRowOffset = MPPUtility.getInt(m_data, m_dataOffset) - 36;
m_dataOffset += 4;
int projectSummaryOffset = MPPUtility.getInt(m_data, m_dataOffset) - 36;
m_dataOffset += 4;
int dataSize = MPPUtility.getInt(m_data, m_dataOffset) - 36;
m_dataOffset += 4;
//System.out.println("Data");
//System.out.println(MPPUtility.hexdump(m_data, m_dataOffset, dataSize, false, 16, ""));
int maxNonSummaryRowOffset = m_dataOffset + summaryRowOffset;
int maxSummaryRowOffset = m_dataOffset + projectSummaryOffset;
int maxProjectSummaryOffset = m_dataOffset + dataSize;
m_dataOffset += nonSummaryRowOffset;
while (m_dataOffset + 2 < maxNonSummaryRowOffset)
{
indicator.addNonSummaryRowCriteria(processCriteria(type));
}
while (m_dataOffset + 2 < maxSummaryRowOffset)
{
indicator.addSummaryRowCriteria(processCriteria(type));
}
while (m_dataOffset + 2 < maxProjectSummaryOffset)
{
indicator.addProjectSummaryCriteria(processCriteria(type));
}
m_file.addGraphicalIndicator(type, indicator);
}