(ded4a3e0a) v0.9.0.7
This commit is contained in:
@@ -0,0 +1,389 @@
|
||||
// MonoGame - Copyright (C) The MonoGame Team
|
||||
// This file is subject to the terms and conditions defined in
|
||||
// file 'LICENSE.txt', which is part of this source code package.
|
||||
|
||||
using System;
|
||||
using Eto;
|
||||
using Eto.Forms;
|
||||
using Eto.Drawing;
|
||||
|
||||
namespace MonoGame.Tools.Pipeline
|
||||
{
|
||||
partial class MainWindow
|
||||
{
|
||||
/// <summary>
|
||||
/// Pipeline menu bar.
|
||||
/// Required to Stop Eto Forms adding System Menu Items on MacOS
|
||||
/// This is because `IncludeSystemItems` defaults to `All`
|
||||
/// and the menus are populated in the constructor.
|
||||
/// </summary>
|
||||
class PipelineMenuBar : MenuBar
|
||||
{
|
||||
public PipelineMenuBar()
|
||||
{
|
||||
Style = "MenuBar";
|
||||
IncludeSystemItems = MenuBarSystemItems.None;
|
||||
}
|
||||
}
|
||||
|
||||
public Command cmdNew, cmdOpen, cmdClose, cmdImport, cmdSave, cmdSaveAs, cmdExit;
|
||||
public Command cmdUndo, cmdRedo, cmdAdd, cmdExclude, cmdRename, cmdDelete;
|
||||
public Command cmdNewItem, cmdNewFolder, cmdExistingItem, cmdExistingFolder;
|
||||
public Command cmdBuild, cmdRebuild, cmdClean, cmdCancelBuild;
|
||||
public CheckCommand cmdDebugMode;
|
||||
public Command cmdHelp, cmdAbout;
|
||||
public Command cmdOpenItem, cmdOpenItemWith, cmdOpenItemLocation, cmdOpenOutputItemLocation, cmdCopyAssetName, cmdRebuildItem;
|
||||
|
||||
ToolBar toolbar;
|
||||
ButtonMenuItem menuFile, menuRecent, menuEdit, menuAdd, menuView, menuBuild, menuHelp;
|
||||
ToolItem toolBuild, toolRebuild, toolClean, toolCancelBuild;
|
||||
MenuItem cmOpenItem, cmOpenItemWith, cmOpenItemLocation, cmOpenOutputItemLocation, cmCopyAssetPath, cmRebuildItem, cmExclude, cmRename, cmDelete;
|
||||
ButtonMenuItem cmAdd;
|
||||
|
||||
ProjectControl projectControl;
|
||||
PropertyGridControl propertyGridControl;
|
||||
BuildOutput buildOutput;
|
||||
|
||||
Splitter splitterHorizontal, splitterVertical;
|
||||
|
||||
private void InitializeComponent()
|
||||
{
|
||||
Title = "MonoGame Pipeline Tool";
|
||||
Icon = Icon.FromResource("Icons.monogame.png");
|
||||
Size = new Size(750, 550);
|
||||
MinimumSize = new Size(400, 400);
|
||||
|
||||
InitalizeCommands();
|
||||
InitalizeMenu();
|
||||
InitalizeContextMenu();
|
||||
InitalizeToolbar();
|
||||
|
||||
splitterHorizontal = new Splitter();
|
||||
splitterHorizontal.Orientation = Orientation.Horizontal;
|
||||
splitterHorizontal.Position = 200;
|
||||
splitterHorizontal.Panel1MinimumSize = 100;
|
||||
splitterHorizontal.Panel2MinimumSize = 100;
|
||||
|
||||
splitterVertical = new Splitter();
|
||||
splitterVertical.Orientation = Orientation.Vertical;
|
||||
splitterVertical.Position = 230;
|
||||
splitterVertical.FixedPanel = SplitterFixedPanel.None;
|
||||
splitterVertical.Panel1MinimumSize = 100;
|
||||
splitterVertical.Panel2MinimumSize = 100;
|
||||
|
||||
projectControl = new ProjectControl();
|
||||
_pads.Add(projectControl);
|
||||
splitterVertical.Panel1 = projectControl;
|
||||
|
||||
propertyGridControl = new PropertyGridControl();
|
||||
_pads.Add(propertyGridControl);
|
||||
splitterVertical.Panel2 = propertyGridControl;
|
||||
|
||||
splitterHorizontal.Panel1 = splitterVertical;
|
||||
|
||||
buildOutput = new BuildOutput();
|
||||
_pads.Add(buildOutput);
|
||||
splitterHorizontal.Panel2 = buildOutput;
|
||||
|
||||
Content = splitterHorizontal;
|
||||
|
||||
cmdNew.Executed += CmdNew_Executed;
|
||||
cmdOpen.Executed += CmdOpen_Executed;
|
||||
cmdClose.Executed += CmdClose_Executed;
|
||||
cmdImport.Executed += CmdImport_Executed;
|
||||
cmdSave.Executed += CmdSave_Executed;
|
||||
cmdSaveAs.Executed += CmdSaveAs_Executed;
|
||||
cmdExit.Executed += CmdExit_Executed;
|
||||
|
||||
cmdUndo.Executed += CmdUndo_Executed;
|
||||
cmdRedo.Executed += CmdRedo_Executed;
|
||||
cmdExclude.Executed += CmdExclude_Executed;
|
||||
cmdRename.Executed += CmdRename_Executed;
|
||||
cmdDelete.Executed += CmdDelete_Executed;
|
||||
|
||||
cmdNewItem.Executed += CmdNewItem_Executed;
|
||||
cmdNewFolder.Executed += CmdNewFolder_Executed;
|
||||
cmdExistingItem.Executed += CmdExistingItem_Executed;
|
||||
cmdExistingFolder.Executed += CmdExistingFolder_Executed;
|
||||
|
||||
cmdBuild.Executed += CmdBuild_Executed;
|
||||
cmdRebuild.Executed += CmdRebuild_Executed;
|
||||
cmdClean.Executed += CmdClean_Executed;
|
||||
cmdCancelBuild.Executed += CmdCancelBuild_Executed;
|
||||
cmdDebugMode.Executed += CmdDebugMode_Executed;
|
||||
|
||||
cmdHelp.Executed += CmdHelp_Executed;
|
||||
cmdAbout.Executed += CmdAbout_Executed;
|
||||
|
||||
cmdOpenItem.Executed += CmdOpenItem_Executed;
|
||||
cmdOpenItemWith.Executed += CmdOpenItemWith_Executed;
|
||||
cmdOpenItemLocation.Executed += CmdOpenItemLocation_Executed;
|
||||
cmdOpenOutputItemLocation.Executed += CmdOpenOutputItemLocation_Executed;
|
||||
cmdCopyAssetName.Executed += CmdCopyAssetPath_Executed;
|
||||
cmdRebuildItem.Executed += CmdRebuildItem_Executed;
|
||||
}
|
||||
|
||||
private void InitalizeCommands()
|
||||
{
|
||||
// File Commands
|
||||
|
||||
cmdNew = new Command();
|
||||
cmdNew.MenuText = "New...";
|
||||
cmdNew.ToolTip = "New";
|
||||
cmdNew.Image = Global.GetEtoIcon("Commands.New.png");
|
||||
cmdNew.Shortcut = Application.Instance.CommonModifier | Keys.N;
|
||||
|
||||
cmdOpen = new Command();
|
||||
cmdOpen.MenuText = "Open...";
|
||||
cmdOpen.ToolTip = "Open";
|
||||
cmdOpen.Image = Global.GetEtoIcon("Commands.Open.png");
|
||||
cmdOpen.Shortcut = Application.Instance.CommonModifier | Keys.O;
|
||||
|
||||
cmdClose = new Command();
|
||||
cmdClose.MenuText = "Close";
|
||||
cmdClose.Image = Global.GetEtoIcon("Commands.Close.png");
|
||||
|
||||
cmdImport = new Command();
|
||||
cmdImport.MenuText = "Import";
|
||||
|
||||
cmdSave = new Command();
|
||||
cmdSave.MenuText = "Save...";
|
||||
cmdSave.ToolTip = "Save";
|
||||
cmdSave.Image = Global.GetEtoIcon("Commands.Save.png");
|
||||
cmdSave.Shortcut = Application.Instance.CommonModifier | Keys.S;
|
||||
|
||||
cmdSaveAs = new Command();
|
||||
cmdSaveAs.MenuText = "Save As";
|
||||
cmdSaveAs.Image = Global.GetEtoIcon("Commands.SaveAs.png");
|
||||
|
||||
cmdExit = new Command();
|
||||
cmdExit.MenuText = Global.Unix ? "Quit" : "Exit";
|
||||
cmdExit.Shortcut = Application.Instance.CommonModifier | Keys.Q;
|
||||
|
||||
// Edit Commands
|
||||
|
||||
cmdUndo = new Command();
|
||||
cmdUndo.MenuText = "Undo";
|
||||
cmdUndo.ToolTip = "Undo";
|
||||
cmdUndo.Image = Global.GetEtoIcon("Commands.Undo.png");
|
||||
cmdUndo.Shortcut = Application.Instance.CommonModifier | Keys.Z;
|
||||
|
||||
cmdRedo = new Command();
|
||||
cmdRedo.MenuText = "Redo";
|
||||
cmdRedo.ToolTip = "Redo";
|
||||
cmdRedo.Image = Global.GetEtoIcon("Commands.Redo.png");
|
||||
cmdRedo.Shortcut = Application.Instance.CommonModifier | Keys.Y;
|
||||
|
||||
cmdAdd = new Command();
|
||||
cmdAdd.MenuText = "Add";
|
||||
|
||||
cmdExclude = new Command();
|
||||
cmdExclude.MenuText = "Exclude From Project";
|
||||
|
||||
cmdRename = new Command();
|
||||
cmdRename.MenuText = "Rename";
|
||||
cmdRename.Image = Global.GetEtoIcon("Commands.Rename.png");
|
||||
|
||||
cmdDelete = new Command();
|
||||
cmdDelete.MenuText = "Delete";
|
||||
cmdDelete.Image = Global.GetEtoIcon("Commands.Delete.png");
|
||||
cmdDelete.Shortcut = Keys.Delete;
|
||||
|
||||
// Add Submenu
|
||||
|
||||
cmdNewItem = new Command();
|
||||
cmdNewItem.MenuText = "New Item...";
|
||||
cmdNewItem.ToolTip = "New Item";
|
||||
cmdNewItem.Image = Global.GetEtoIcon("Commands.NewItem.png");
|
||||
|
||||
cmdNewFolder = new Command();
|
||||
cmdNewFolder.MenuText = "New Folder...";
|
||||
cmdNewFolder.ToolTip = "New Folder";
|
||||
cmdNewFolder.Image = Global.GetEtoIcon("Commands.NewFolder.png");
|
||||
|
||||
cmdExistingItem = new Command();
|
||||
cmdExistingItem.MenuText = "Existing Item...";
|
||||
cmdExistingItem.ToolTip = "Add Existing Item";
|
||||
cmdExistingItem.Image = Global.GetEtoIcon("Commands.ExistingItem.png");
|
||||
|
||||
cmdExistingFolder = new Command();
|
||||
cmdExistingFolder.MenuText = "Existing Folder...";
|
||||
cmdExistingFolder.ToolTip = "Add Existing Folder";
|
||||
cmdExistingFolder.Image = Global.GetEtoIcon("Commands.ExistingFolder.png");
|
||||
|
||||
// Build Commands
|
||||
|
||||
cmdBuild = new Command();
|
||||
cmdBuild.MenuText = "Build";
|
||||
cmdBuild.ToolTip = "Build";
|
||||
cmdBuild.Image = Global.GetEtoIcon("Commands.Build.png");
|
||||
cmdBuild.Shortcut = Keys.F6;
|
||||
|
||||
cmdRebuild = new Command();
|
||||
cmdRebuild.MenuText = "Rebuild";
|
||||
cmdRebuild.ToolTip = "Rebuild";
|
||||
cmdRebuild.Image = Global.GetEtoIcon("Commands.Rebuild.png");
|
||||
|
||||
cmdClean = new Command();
|
||||
cmdClean.MenuText = "Clean";
|
||||
cmdClean.ToolTip = "Clean";
|
||||
cmdClean.Image = Global.GetEtoIcon("Commands.Clean.png");
|
||||
|
||||
cmdCancelBuild = new Command();
|
||||
cmdCancelBuild.MenuText = "Cancel Build";
|
||||
cmdCancelBuild.ToolTip = "Cancel Build";
|
||||
cmdCancelBuild.Image = Global.GetEtoIcon("Commands.CancelBuild.png");
|
||||
|
||||
cmdDebugMode = new CheckCommand();
|
||||
cmdDebugMode.MenuText = "Debug Mode";
|
||||
|
||||
// Help Commands
|
||||
|
||||
cmdHelp = new Command();
|
||||
cmdHelp.MenuText = "View Help";
|
||||
cmdHelp.Shortcut = Keys.F1;
|
||||
cmdHelp.Image = Global.GetEtoIcon("Commands.Help.png");
|
||||
|
||||
cmdAbout = new Command();
|
||||
cmdAbout.MenuText = "About";
|
||||
|
||||
// Context Menu
|
||||
|
||||
cmdOpenItem = new Command();
|
||||
cmdOpenItem.MenuText = "Open";
|
||||
cmdOpenItem.Image = Global.GetEtoIcon("Commands.OpenItem.png");
|
||||
|
||||
cmdOpenItemWith = new Command();
|
||||
cmdOpenItemWith.MenuText = "Open With";
|
||||
|
||||
cmdOpenItemLocation = new Command();
|
||||
cmdOpenItemLocation.MenuText = "Open Containing Directory";
|
||||
|
||||
cmdOpenOutputItemLocation = new Command();
|
||||
cmdOpenOutputItemLocation.MenuText = "Open Output Directory";
|
||||
|
||||
cmdCopyAssetName = new Command();
|
||||
cmdCopyAssetName.MenuText = "Copy Asset Name";
|
||||
|
||||
cmdRebuildItem = new Command();
|
||||
cmdRebuildItem.Image = Global.GetEtoIcon("Commands.Rebuild.png");
|
||||
cmdRebuildItem.MenuText = "Rebuild";
|
||||
}
|
||||
|
||||
private void InitalizeMenu()
|
||||
{
|
||||
Menu = new PipelineMenuBar();
|
||||
|
||||
menuFile = new ButtonMenuItem();
|
||||
menuFile.Text = "&File";
|
||||
menuFile.Items.Add(cmdNew);
|
||||
menuFile.Items.Add(cmdOpen);
|
||||
|
||||
menuRecent = new ButtonMenuItem();
|
||||
menuRecent.Text = "Open Recent";
|
||||
menuFile.Items.Add(menuRecent);
|
||||
|
||||
menuFile.Items.Add(cmdClose);
|
||||
menuFile.Items.Add(new SeparatorMenuItem());
|
||||
menuFile.Items.Add(cmdImport);
|
||||
menuFile.Items.Add(new SeparatorMenuItem());
|
||||
menuFile.Items.Add(cmdSave);
|
||||
menuFile.Items.Add(cmdSaveAs);
|
||||
Menu.Items.Add(menuFile);
|
||||
|
||||
menuEdit = new ButtonMenuItem();
|
||||
menuEdit.Text = "&Edit";
|
||||
menuEdit.Items.Add(cmdUndo);
|
||||
menuEdit.Items.Add(cmdRedo);
|
||||
menuEdit.Items.Add(new SeparatorMenuItem());
|
||||
|
||||
menuAdd = (ButtonMenuItem)cmdAdd.CreateMenuItem();
|
||||
menuAdd.Items.Add(cmdNewItem);
|
||||
menuAdd.Items.Add(cmdNewFolder);
|
||||
menuAdd.Items.Add(new SeparatorMenuItem());
|
||||
menuAdd.Items.Add(cmdExistingItem);
|
||||
menuAdd.Items.Add(cmdExistingFolder);
|
||||
menuEdit.Items.Add(menuAdd);
|
||||
|
||||
menuEdit.Items.Add(new SeparatorMenuItem());
|
||||
menuEdit.Items.Add(cmdExclude);
|
||||
menuEdit.Items.Add(new SeparatorMenuItem());
|
||||
menuEdit.Items.Add(cmdRename);
|
||||
//menuEdit.Items.Add(cmdDelete);
|
||||
Menu.Items.Add(menuEdit);
|
||||
|
||||
// View Commands
|
||||
|
||||
menuView = new ButtonMenuItem();
|
||||
menuView.Text = "&View";
|
||||
Menu.Items.Add(menuView);
|
||||
|
||||
menuBuild = new ButtonMenuItem();
|
||||
menuBuild.Text = "&Build";
|
||||
menuBuild.Items.Add(cmdBuild);
|
||||
menuBuild.Items.Add(cmdRebuild);
|
||||
menuBuild.Items.Add(cmdClean);
|
||||
menuBuild.Items.Add(cmdCancelBuild);
|
||||
menuBuild.Items.Add(new SeparatorMenuItem());
|
||||
menuBuild.Items.Add(cmdDebugMode);
|
||||
Menu.Items.Add(menuBuild);
|
||||
|
||||
menuHelp = new ButtonMenuItem();
|
||||
menuHelp.Text = "&Help";
|
||||
menuHelp.Items.Add(cmdHelp);
|
||||
Menu.Items.Add(menuHelp);
|
||||
|
||||
Menu.QuitItem = cmdExit;
|
||||
Menu.AboutItem = cmdAbout;
|
||||
}
|
||||
|
||||
private void InitalizeContextMenu()
|
||||
{
|
||||
cmOpenItem = cmdOpenItem.CreateMenuItem();
|
||||
cmOpenItemWith = cmdOpenItemWith.CreateMenuItem();
|
||||
|
||||
cmAdd = (ButtonMenuItem)cmdAdd.CreateMenuItem();
|
||||
cmAdd.Items.Add(cmdNewItem.CreateMenuItem());
|
||||
cmAdd.Items.Add(cmdNewFolder.CreateMenuItem());
|
||||
cmAdd.Items.Add(new SeparatorMenuItem());
|
||||
cmAdd.Items.Add(cmdExistingItem.CreateMenuItem());
|
||||
cmAdd.Items.Add(cmdExistingFolder.CreateMenuItem());
|
||||
|
||||
cmOpenItemLocation = cmdOpenItemLocation.CreateMenuItem();
|
||||
cmOpenOutputItemLocation = cmdOpenOutputItemLocation.CreateMenuItem();
|
||||
cmCopyAssetPath = cmdCopyAssetName.CreateMenuItem();
|
||||
cmRebuildItem = cmdRebuildItem.CreateMenuItem();
|
||||
cmExclude = cmdExclude.CreateMenuItem();
|
||||
cmRename = cmdRename.CreateMenuItem();
|
||||
cmDelete = cmdDelete.CreateMenuItem();
|
||||
}
|
||||
|
||||
private void InitalizeToolbar()
|
||||
{
|
||||
toolBuild = cmdBuild.CreateToolItem();
|
||||
toolRebuild = cmdRebuild.CreateToolItem();
|
||||
toolClean = cmdClean.CreateToolItem();
|
||||
toolCancelBuild = cmdCancelBuild.CreateToolItem();
|
||||
|
||||
ToolBar = toolbar = new ToolBar();
|
||||
ToolBar.Style = "ToolBar";
|
||||
ToolBar.Items.Add(cmdNew);
|
||||
ToolBar.Items.Add(cmdOpen);
|
||||
ToolBar.Items.Add(cmdSave);
|
||||
ToolBar.Items.Add(new SeparatorToolItem { Type = SeparatorToolItemType.Divider });
|
||||
ToolBar.Items.Add(cmdUndo);
|
||||
ToolBar.Items.Add(cmdRedo);
|
||||
ToolBar.Items.Add(new SeparatorToolItem { Type = SeparatorToolItemType.Divider });
|
||||
ToolBar.Items.Add(cmdNewItem);
|
||||
ToolBar.Items.Add(cmdExistingItem);
|
||||
ToolBar.Items.Add(cmdNewFolder);
|
||||
ToolBar.Items.Add(cmdExistingFolder);
|
||||
ToolBar.Items.Add(new SeparatorToolItem { Type = SeparatorToolItemType.Divider });
|
||||
ToolBar.Items.Add(toolBuild);
|
||||
ToolBar.Items.Add(toolRebuild);
|
||||
ToolBar.Items.Add(toolClean);
|
||||
toolbar.Items.Add(toolCancelBuild);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user