private void MainForm_Load(object sender, EventArgs e) { //Hide until the timeline has loaded this.Visible = false; //Init settings Settings.Load(); //Create model view modelView = new ModelViewControl(); modelView.Dock = DockStyle.Fill; this.splitContainerTimeline.Panel1.Controls.Add(modelView); //Create timeline timelineDockPanel.Content.Controls.Add(timeline = new TimelineControl() { Dock = DockStyle.Fill, Model = modelView.Scene.Model }); timeline.BeginPlayback += timeline_BeginPlayback; timeline.KeyCommand += timeline_KeyCommand; timeline.ModelUpdated += timeline_ModelUpdated; timeline.PausePlayback += timeline_PausePlayback; timeline.Ready += timeline_Ready; timeline.StopPlayback += timeline_StopPlayback; //Set settings modelView.Scene.RenderGrid = Settings.GetSetting("display/renderGrid", true); modelView.Scene.RenderAxies = Settings.GetSetting("display/renderAxies", true); modelView.FrameRate = Settings.GetSetting("playback/frameRate", 32); timeline.DebugMode = Settings.GetSetting("timeline/debugMode", false); }
public void Reset() { if (mNodeTreeView.TopNode != null) { SetSubscription(mNodeTreeView.TopDataNode, true); mNodeTreeView.TopNode.Dispose(); mNodeTreeView.TopDataNode.Exported -= OnNodeExported; mNodeTreeView.TopDataNode.DisposeData(); mNodeTreeView.TopDataNode.Dispose(); } mNodeTreeView.Nodes.Clear(); mPropertyGrid.SelectedObject = null; mMainSplitContainer.Panel1.Controls.Clear(); mSaveToolStripMenuItem.Enabled = false; mSaveAsToolStripMenuItem.Enabled = false; mCloseToolStripMenuItem.Enabled = false; mCurrentlyOpenFilePath = null; MementoStack.Clear(); ModelViewControl.ResetInstance(); TextureViewControl.ResetInstance(); SetTitle(); GC.Collect(); GC.WaitForPendingFinalizers(); }
/// <summary> /// Clean up any resources being used. /// </summary> /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> protected override void Dispose(bool disposing) { if (disposing) { mComponents?.Dispose(); ModelViewControl.DisposeInstance(); TextureViewControl.DisposeInstance(); } base.Dispose(disposing); }