private void uiAnalyseButton_Click(object sender, RoutedEventArgs e) { Demo demo = uiDemoListView.GetSelectedDemo(); Debug.Assert(demo != null); AnalysisWindow window = AnalysisWindowFactory.CreateAnalysisWindow(demo); window.Owner = this; canOpenDemo = false; try { window.ShowDialog(); } catch (Exception ex) { window.Close(); Common.Message(this, "Analysis window error.", ex, MessageWindow.Flags.Error); } finally { canOpenDemo = true; } }
public static AnalysisWindow CreateAnalysisWindow(Demo demo) { AnalysisWindow window = null; switch (demo.Engine) { case Demo.Engines.HalfLife: case Demo.Engines.HalfLifeSteam: window = new HalfLifeAnalysisWindow(demo); break; case Demo.Engines.Source: window = new SourceAnalysisWindow(demo); break; } if (window == null) { return(null); } //window.SetDemo(demo); return(window); }