/// <summary> /// Try and load all engines present /// </summary> private void LoadEngines(ControlWindow controlWindow) { var engineTypes = Engines.ListEngines(); // Load engines & populate tabs foreach (var engineType in engineTypes) { string name = Engines.GetEngineName(engineType); // Try to load the engine HexEngine engine = null; UserControl page = null; try { engine = Engines.LoadEngine(engineType); page = engine.GetControlPage(); } catch (NotImplementedException) { continue; } catch (Exception ex) { string assyName = Plugins.GetAssemblyName(engineType); if (assyName != null) { name += " (" + assyName + ")"; } ExceptionDialog.ShowException(String.Format("Could not load {0}", name), ex, ExceptionSeverity.Error); continue; // Ignore was pressed } // Add tab & page to the control window controlWindow.AddEngine(name, page, engine); } }