예제 #1
0
        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);
        }
예제 #2
0
        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();
        }
예제 #3
0
 /// <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);
 }