protected override void OnAttach() { base.OnAttach(); EngineApp.Instance.Config.RegisterClassParameters( GetType() ); instance = this; window = ControlDeclarationManager.Instance.CreateControl( "Gui\\EngineProfiler\\EngineProfilerWindow.gui" ); Controls.Add( window ); backgroundCheckBox = (CheckBox)window.Controls[ "Background" ]; backgroundCheckBox.Checked = background; backgroundCheckBox.CheckedChange += Background_CheckedChange; Button closeButton = (Button)window.Controls[ "Close" ]; closeButton.Click += delegate( Button sender ) { SetShouldDetach(); }; if( PlatformInfo.Platform == PlatformInfo.Platforms.MacOSX ) closeButton.Text = closeButton.Text.Replace( "F11", "Fn+F5" ); pageSelectionComboBox = (ComboBox)window.Controls[ "PageSelection" ]; pageSelectionComboBox.SelectedIndexChange += pageSelectionComboBox_SelectedIndexChange; pageAreaControl = window.Controls[ "PageArea" ]; //add pages pages.Add( new GeneralInformationPage( "General Information", "GeneralInformationPage.gui" ) ); pages.Add( new GeneralOptionsPage( "General Options", "GeneralOptionsPage.gui" ) ); pages.Add( new RenderingSystemPage( "Rendering System", "RenderingSystemPage.gui" ) ); pages.Add( new PhysicsSystemPage( "Physics System", "PhysicsSystemPage.gui" ) ); pages.Add( new SoundSystemPage( "Sound System", "SoundSystemPage.gui" ) ); pages.Add( new EntitySystemPage( "Entity System", "EntitySystemPage.gui" ) ); pages.Add( new MemoryManagementPage( "Memory Management", "MemoryManagementPage.gui" ) ); pages.Add( new DLLPage( "Assemblies and DLLs", "DLLPage.gui" ) ); pages.Add( new NetworkingPage( "Networking", "NetworkingPage.gui" ) ); pages.Add( new JoysticksPage( "Joysticks", "JoysticksPage.gui" ) ); pages.Add( new TimePage( "Time", "TimePage.gui" ) ); pages.Add( new PostEffectsPage( "Post Effects", "PostEffectsPage.gui" ) ); pages.Add( new ProjectSpecificPage( "Project Specific", "ProjectSpecificPage.gui" ) ); //update pageSelectionComboBox foreach( Page page in pages ) pageSelectionComboBox.Items.Add( page.Caption ); if( lastPageSelectionIndex >= 0 && lastPageSelectionIndex < pages.Count ) pageSelectionComboBox.SelectedIndex = lastPageSelectionIndex; else pageSelectionComboBox.SelectedIndex = 0; UpdateColorMultiplier(); }
protected override void OnDetach() { foreach( Page page in pages ) page.OnDestroy(); pages.Clear(); instance = null; base.OnDetach(); }
public static void ShowEngineProfiler( bool show ) { if( show ) { if( EngineProfilerWindow.Instance == null ) { EngineProfilerWindow window = new EngineProfilerWindow(); Instance.ControlManager.Controls.Add( window ); } } else { if( EngineProfilerWindow.Instance != null ) EngineProfilerWindow.Instance.SetShouldDetach(); } }