private void CreateToolStripMenuItems() { ToolStripMenuItem newToolStripItem = new ToolStripMenuItem("New AnimationChain List", null, HandleNewClick); ToolStripMenuItem loadToolStripItem = new ToolStripMenuItem("Load...", null, HandleLoadClick); ToolStripMenuItem saveToolStripItem = new ToolStripMenuItem("Save", null, HandleSaveClick); ToolStripMenuItem saveAsToolStripItem = new ToolStripMenuItem("Save As...", null, HandleSaveAsClick); // Going backwards so I can just insert at index 0 every time mMainControl.AddToolStripMenuItem(newToolStripItem, "File"); mMainControl.AddToolStripMenuItem(loadToolStripItem, "File"); mMainControl.AddToolStripMenuItem(saveToolStripItem, "File"); mMainControl.AddToolStripMenuItem(saveAsToolStripItem, "File"); var about = new ToolStripMenuItem("About", null, HandleAboutClicked); mMainControl.AddToolStripMenuItem(about, "Help"); }
private void HandleIfAchx(TreeNode selectedTreeNode) { ReferencedFileSave rfs = selectedTreeNode?.Tag as ReferencedFileSave; bool shouldShowAnimationChainUi = rfs != null && rfs.Name != null && FileManager.GetExtension(rfs.Name) == "achx"; if (shouldShowAnimationChainUi) { if (!mContainer.Controls.Contains(mTab)) { mContainer.Controls.Add(mTab); mContainer.SelectTab(mContainer.Controls.Count - 1); } if (mAchxControl == null) { mAchxControl = new MainControl(); ToolStripMenuItem saveToolStripItem = new ToolStripMenuItem("Force Save", null, HandleSaveClick); mAchxControl.AddToolStripMenuItem(saveToolStripItem, "File"); ToolStripMenuItem forceSaveAllItem = new ToolStripMenuItem("Re-Save all .achx files in this Glue project", null, HandleForceSaveAll); mAchxControl.AddToolStripMenuItem(forceSaveAllItem, "File"); mAchxControl.AnimationChainChange += new EventHandler(HandleAnimationChainChange); mAchxControl.Dock = DockStyle.Fill; } mTab.Text = " Animation"; // add spaces to make room for the X to close the plugin if(!mTab.Controls.Contains(mAchxControl)) { mTab.Controls.Add(mAchxControl); } if(mTab.Controls.Contains(mTextureCoordinateControl)) { mTab.Controls.Remove(mTextureCoordinateControl); } string fullFileName = FlatRedBall.Glue.ProjectManager.MakeAbsolute(rfs.Name); mLastFile = fullFileName; if (System.IO.File.Exists(fullFileName)) { mAchxControl.LoadAnimationChain(fullFileName); } } else if (mContainer.Controls.Contains(mTab)) { mContainer.Controls.Remove(mTab); } }