IfcDoc.CtlProperties.LoadExchangeRequirement C# (CSharp) Method

LoadExchangeRequirement() private method

private LoadExchangeRequirement ( ToolStripButton button, DocExchangeApplicabilityEnum applicability, DocExchangeRequirementEnum requirement ) : void
button ToolStripButton
applicability DocExchangeApplicabilityEnum
requirement DocExchangeRequirementEnum
return void
        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;
        }
CtlProperties