public void UpdateDialog()
{
try
{
updatingDialog = true;
int responseSpectrumCases = 0;
Canguro.Model.Model model = services.Model;
analysisCasesCheckedListBox.Items.Clear();
foreach (AbstractCase aCase in model.AbstractCases)
{
if (!(aCase is AnalysisCase) || (!(((AnalysisCase)aCase).Properties is ModalCaseProps) &&
(!(((AnalysisCase)aCase).Properties is ResponseSpectrumCaseProps)) &&
(!(((AnalysisCase)aCase).Properties is PDeltaCaseProps))))
analysisCasesCheckedListBox.Items.Add(aCase);
if (aCase is AnalysisCase && ((AnalysisCase)aCase).Properties is ResponseSpectrumCaseProps)
{
if (aCase.IsActive)
responseSpectrumCases++;
switch (responseSpectrumCases)
{
case 0:
responseSpectrumCheckBox.CheckState = CheckState.Unchecked;
break;
case 1:
case 2:
responseSpectrumCheckBox.CheckState = CheckState.Indeterminate;
break;
default:
responseSpectrumCheckBox.CheckState = CheckState.Checked;
responseSpectrumFactorUpDown.Value = Convert.ToDecimal(((ResponseSpectrumCaseProps)((AnalysisCase)aCase).Properties).ScaleFactor);
dampingFactorUpDown.Value = Convert.ToDecimal(((ResponseSpectrumCaseProps)((AnalysisCase)aCase).Properties).ModalDamping);
break;
}
}
if (aCase is AnalysisCase && ((AnalysisCase)aCase).Properties is ModalCaseProps)
modalAnalysisCheckBox.Checked = aCase.IsActive;
if (aCase is AnalysisCase && ((AnalysisCase)aCase).Properties is PDeltaCaseProps)
pDeltaCheckBox.Checked = aCase.IsActive;
}
for (int i = 0; i < analysisCasesCheckedListBox.Items.Count; i++)
analysisCasesCheckedListBox.SetItemChecked(i,
((AbstractCase)analysisCasesCheckedListBox.Items[i]).IsActive);
if (modalCase != null)
modesNumericUpDown.Value = ((ModalCaseProps)modalCase.Properties).MaxModes;
if (responseCases.Count > 0 && responseCases[0].IsActive)
{
ResponseSpectrumCaseProps rsProps = (ResponseSpectrumCaseProps)responseCases[0].Properties;
//responseSpectrumFunctionsComboBox.SelectedText = rsProps.ResponseSpectrumFunction.ToString();
if (responseSpectrumFunctionsComboBox.SelectedValue == null ||
!responseSpectrumFunctionsComboBox.SelectedValue.ToString().Equals(rsProps.ResponseSpectrumFunction.ToString()))
{
foreach (object obj in responseSpectrumFunctionsComboBox.Items)
if (rsProps != null && obj.ToString().Equals(rsProps.ResponseSpectrumFunction.ToString()))
responseSpectrumFunctionsComboBox.SelectedItem = obj;
}
viewSpectrumLink.Enabled = true;
}
else
viewSpectrumLink.Enabled = false;
modesNumericUpDown.Enabled = modalAnalysisCheckBox.Checked;
//responseSpectrumCheckBox.Enabled = modalAnalysisCheckBox.Checked;
responseSpectrumFunctionsComboBox.Enabled = responseSpectrumCheckBox.Checked;
responseSpectrumFactorUpDown.Enabled = responseSpectrumCheckBox.Checked;
dampingFactorLabel.Enabled = responseSpectrumCheckBox.Checked;
dampingFactorUpDown.Enabled = responseSpectrumCheckBox.Checked;
editSteelDesignLinkLabel.Enabled = steelDesignComboBox.Enabled && model.SteelDesignOptions is SteelDesignOptions;
steelCombosLinkLabel.Enabled = editSteelDesignLinkLabel.Enabled;
editConcreteDesignLinkLabel.Enabled = concreteDesignComboBox.Enabled && model.ConcreteDesignOptions is ConcreteDesignOptions;
concreteCombosLinkLabel.Enabled = editConcreteDesignLinkLabel.Enabled;
if (model.SteelDesignOptions is SteelDesignOptions && model.SteelDesignOptions.DesignCombinations.Count == 0)
currentDesignOptions = model.SteelDesignOptions;
else if (model.ConcreteDesignOptions is ConcreteDesignOptions && model.ConcreteDesignOptions.DesignCombinations.Count == 0)
currentDesignOptions = model.ConcreteDesignOptions;
else
currentDesignOptions = null;
AnalyzeButton.Text = (currentDesignOptions == null) ? Culture.Get("analyze") : Culture.Get("next");
AcceptButton = AnalyzeButton;
}
finally
{
updatingDialog = false;
}
Update();
}