private void LoadExchangeRequirement(ToolStripButton button, DocExchangeApplicabilityEnum applicability, DocExchangeRequirementEnum requirement)
{
DocTemplateUsage docUsage = (DocTemplateUsage)this.m_target;
bool? common = null; // the common value
bool varies = false; // whether value varies among objects
foreach (ListViewItem lvi in this.listViewExchange.SelectedItems)
{
DocExchangeDefinition docDef = (DocExchangeDefinition)lvi.Tag;
// find exchange on usage
foreach (DocExchangeItem docItem in docUsage.Exchanges)
{
if (docItem.Exchange == docDef && docItem.Applicability == applicability)
{
bool eachval = (docItem.Requirement == requirement);
if (common == null)
{
common = eachval;
}
else if (common != eachval)
{
varies = true;
}
}
}
}
this.m_loadreq = true;
button.Checked = (common == true && !varies);
this.m_loadreq = false;
}