ShowReadabilityMetrics()
{
AssertValid();
if (oNodeXLControl.IsLayingOutGraph)
{
return;
}
if (m_oReadabilityMetricsDialog != null)
{
m_oReadabilityMetricsDialog.Activate();
return;
}
if (!this.NonEmptyWorkbookRead)
{
FormUtil.ShowWarning(
"Readability metrics can be calculated only after the graph"
+ " has been shown. "
+ HowToShowGraphMessage
);
return;
}
// The dialog is created on demand.
m_oReadabilityMetricsDialog =
new ReadabilityMetricsDialog(oNodeXLControl, m_oWorkbook);
Int32 iHwnd = m_oWorkbook.Application.Hwnd;
m_oReadabilityMetricsDialog.Closed += delegate
{
// See the code in ThisWorkbook that opens the
// AutoFillWorkbookDialog for an explanation of why the
// SetForegroundWindow() call is necessary.
Win32Functions.SetForegroundWindow( new IntPtr(iHwnd) );
m_oReadabilityMetricsDialog = null;
};
m_oReadabilityMetricsDialog.Show( new Win32Window(iHwnd) );
}