Content Compiler 3:

- Implemented Website Button event
- Implemented Support button event
- Implemented deletion of files & folders from the project
- Added Events for adding files via context menu
This commit is contained in:
SND\eagleeyestudios_cp 2012-09-11 19:58:00 +00:00
parent 7350ca3d3a
commit a35bd9d6bd
3 changed files with 221 additions and 105 deletions

View File

@ -33,6 +33,13 @@ namespace ANX.ContentCompiler.GUI
{ {
this.components = new System.ComponentModel.Container(); this.components = new System.ComponentModel.Container();
this.splitContainerMenuLayout = new System.Windows.Forms.SplitContainer(); this.splitContainerMenuLayout = new System.Windows.Forms.SplitContainer();
this.ribbonTextBox = new ANX.ContentCompiler.GUI.Controls.RibbonTextBox();
this.ribbonButtonHelp = new ANX.ContentCompiler.GUI.Controls.RibbonButton();
this.ribbonButtonWeb = new ANX.ContentCompiler.GUI.Controls.RibbonButton();
this.ribbonButtonClean = new ANX.ContentCompiler.GUI.Controls.RibbonButton();
this.ribbonButtonSave = new ANX.ContentCompiler.GUI.Controls.RibbonButton();
this.ribbonButtonLoad = new ANX.ContentCompiler.GUI.Controls.RibbonButton();
this.ribbonButtonNew = new ANX.ContentCompiler.GUI.Controls.RibbonButton();
this.buttonQuit = new System.Windows.Forms.Button(); this.buttonQuit = new System.Windows.Forms.Button();
this.buttonMenu = new System.Windows.Forms.Button(); this.buttonMenu = new System.Windows.Forms.Button();
this.labelTitle = new System.Windows.Forms.Label(); this.labelTitle = new System.Windows.Forms.Label();
@ -41,21 +48,16 @@ namespace ANX.ContentCompiler.GUI
this.treeView = new System.Windows.Forms.TreeView(); this.treeView = new System.Windows.Forms.TreeView();
this.treeViewContextMenu = new System.Windows.Forms.ContextMenuStrip(this.components); this.treeViewContextMenu = new System.Windows.Forms.ContextMenuStrip(this.components);
this.treeViewItemAddFolder = new System.Windows.Forms.ToolStripMenuItem(); this.treeViewItemAddFolder = new System.Windows.Forms.ToolStripMenuItem();
this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.folderToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.treeViewItemRename = new System.Windows.Forms.ToolStripMenuItem(); this.treeViewItemRename = new System.Windows.Forms.ToolStripMenuItem();
this.treeViewItemDelete = new System.Windows.Forms.ToolStripMenuItem(); this.treeViewItemDelete = new System.Windows.Forms.ToolStripMenuItem();
this.splitContainerProperties = new System.Windows.Forms.SplitContainer(); this.splitContainerProperties = new System.Windows.Forms.SplitContainer();
this.editingState = new ANX.ContentCompiler.GUI.States.EditingState();
this.startState = new ANX.ContentCompiler.GUI.States.StartState();
this.labelProperties = new System.Windows.Forms.Label(); this.labelProperties = new System.Windows.Forms.Label();
this.propertyGrid = new System.Windows.Forms.PropertyGrid(); this.propertyGrid = new System.Windows.Forms.PropertyGrid();
this.menuState = new ANX.ContentCompiler.GUI.States.MenuState(); this.menuState = new ANX.ContentCompiler.GUI.States.MenuState();
this.ribbonTextBox = new ANX.ContentCompiler.GUI.Controls.RibbonTextBox();
this.ribbonButtonHelp = new ANX.ContentCompiler.GUI.Controls.RibbonButton();
this.ribbonButtonWeb = new ANX.ContentCompiler.GUI.Controls.RibbonButton();
this.ribbonButtonClean = new ANX.ContentCompiler.GUI.Controls.RibbonButton();
this.ribbonButtonSave = new ANX.ContentCompiler.GUI.Controls.RibbonButton();
this.ribbonButtonLoad = new ANX.ContentCompiler.GUI.Controls.RibbonButton();
this.ribbonButtonNew = new ANX.ContentCompiler.GUI.Controls.RibbonButton();
this.editingState = new ANX.ContentCompiler.GUI.States.EditingState();
this.startState = new ANX.ContentCompiler.GUI.States.StartState();
((System.ComponentModel.ISupportInitialize)(this.splitContainerMenuLayout)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.splitContainerMenuLayout)).BeginInit();
this.splitContainerMenuLayout.Panel1.SuspendLayout(); this.splitContainerMenuLayout.Panel1.SuspendLayout();
this.splitContainerMenuLayout.Panel2.SuspendLayout(); this.splitContainerMenuLayout.Panel2.SuspendLayout();
@ -101,6 +103,82 @@ namespace ANX.ContentCompiler.GUI
this.splitContainerMenuLayout.SplitterDistance = 99; this.splitContainerMenuLayout.SplitterDistance = 99;
this.splitContainerMenuLayout.TabIndex = 0; this.splitContainerMenuLayout.TabIndex = 0;
// //
// ribbonTextBox
//
this.ribbonTextBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.ribbonTextBox.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.ribbonTextBox.Location = new System.Drawing.Point(532, 26);
this.ribbonTextBox.Name = "ribbonTextBox";
this.ribbonTextBox.Size = new System.Drawing.Size(320, 70);
this.ribbonTextBox.TabIndex = 9;
//
// ribbonButtonHelp
//
this.ribbonButtonHelp.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.ribbonButtonHelp.Content = "Help";
this.ribbonButtonHelp.Image = global::ANX.ContentCompiler.GUI.Properties.Resources.appbar_question;
this.ribbonButtonHelp.Location = new System.Drawing.Point(299, 26);
this.ribbonButtonHelp.Name = "ribbonButtonHelp";
this.ribbonButtonHelp.Size = new System.Drawing.Size(52, 68);
this.ribbonButtonHelp.TabIndex = 8;
this.ribbonButtonHelp.Click += new System.EventHandler(this.RibbonButtonHelpClick);
//
// ribbonButtonWeb
//
this.ribbonButtonWeb.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.ribbonButtonWeb.Content = "Website";
this.ribbonButtonWeb.Image = global::ANX.ContentCompiler.GUI.Properties.Resources.appbar_globe;
this.ribbonButtonWeb.Location = new System.Drawing.Point(237, 26);
this.ribbonButtonWeb.Name = "ribbonButtonWeb";
this.ribbonButtonWeb.Size = new System.Drawing.Size(63, 68);
this.ribbonButtonWeb.TabIndex = 7;
this.ribbonButtonWeb.Click += new System.EventHandler(this.RibbonButtonWebClick);
//
// ribbonButtonClean
//
this.ribbonButtonClean.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
this.ribbonButtonClean.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.ribbonButtonClean.Content = "Clean";
this.ribbonButtonClean.Image = global::ANX.ContentCompiler.GUI.Properties.Resources.appbar_clean;
this.ribbonButtonClean.Location = new System.Drawing.Point(186, 26);
this.ribbonButtonClean.Name = "ribbonButtonClean";
this.ribbonButtonClean.Size = new System.Drawing.Size(52, 68);
this.ribbonButtonClean.TabIndex = 6;
this.ribbonButtonClean.Click += new System.EventHandler(this.RibbonButtonCleanClick);
//
// ribbonButtonSave
//
this.ribbonButtonSave.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.ribbonButtonSave.Content = "Save";
this.ribbonButtonSave.Image = global::ANX.ContentCompiler.GUI.Properties.Resources.appbar_save;
this.ribbonButtonSave.Location = new System.Drawing.Point(105, 26);
this.ribbonButtonSave.Name = "ribbonButtonSave";
this.ribbonButtonSave.Size = new System.Drawing.Size(52, 68);
this.ribbonButtonSave.TabIndex = 5;
this.ribbonButtonSave.Click += new System.EventHandler(this.SaveProject);
//
// ribbonButtonLoad
//
this.ribbonButtonLoad.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.ribbonButtonLoad.Content = "Open";
this.ribbonButtonLoad.Image = global::ANX.ContentCompiler.GUI.Properties.Resources.appbar_folder_open;
this.ribbonButtonLoad.Location = new System.Drawing.Point(54, 26);
this.ribbonButtonLoad.Name = "ribbonButtonLoad";
this.ribbonButtonLoad.Size = new System.Drawing.Size(52, 68);
this.ribbonButtonLoad.TabIndex = 4;
this.ribbonButtonLoad.Click += new System.EventHandler(this.OpenProjectDialog);
//
// ribbonButtonNew
//
this.ribbonButtonNew.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.ribbonButtonNew.Content = "New";
this.ribbonButtonNew.Image = global::ANX.ContentCompiler.GUI.Properties.Resources.appbar_page_multiple;
this.ribbonButtonNew.Location = new System.Drawing.Point(3, 26);
this.ribbonButtonNew.Name = "ribbonButtonNew";
this.ribbonButtonNew.Size = new System.Drawing.Size(52, 68);
this.ribbonButtonNew.TabIndex = 3;
this.ribbonButtonNew.Click += new System.EventHandler(this.NewProject);
//
// buttonQuit // buttonQuit
// //
this.buttonQuit.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.buttonQuit.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
@ -215,6 +293,9 @@ namespace ANX.ContentCompiler.GUI
// //
// treeViewItemAddFolder // treeViewItemAddFolder
// //
this.treeViewItemAddFolder.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.fileToolStripMenuItem,
this.folderToolStripMenuItem});
this.treeViewItemAddFolder.ForeColor = System.Drawing.Color.White; this.treeViewItemAddFolder.ForeColor = System.Drawing.Color.White;
this.treeViewItemAddFolder.Name = "treeViewItemAddFolder"; this.treeViewItemAddFolder.Name = "treeViewItemAddFolder";
this.treeViewItemAddFolder.Size = new System.Drawing.Size(92, 22); this.treeViewItemAddFolder.Size = new System.Drawing.Size(92, 22);
@ -222,6 +303,24 @@ namespace ANX.ContentCompiler.GUI
this.treeViewItemAddFolder.MouseEnter += new System.EventHandler(this.TreeViewItemMouseEnter); this.treeViewItemAddFolder.MouseEnter += new System.EventHandler(this.TreeViewItemMouseEnter);
this.treeViewItemAddFolder.MouseLeave += new System.EventHandler(this.TreeViewItemeLeave); this.treeViewItemAddFolder.MouseLeave += new System.EventHandler(this.TreeViewItemeLeave);
// //
// fileToolStripMenuItem
//
this.fileToolStripMenuItem.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.fileToolStripMenuItem.ForeColor = System.Drawing.SystemColors.Control;
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
this.fileToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
this.fileToolStripMenuItem.Text = "File";
this.fileToolStripMenuItem.Click += new System.EventHandler(this.FileToolStripMenuItemClick);
//
// folderToolStripMenuItem
//
this.folderToolStripMenuItem.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.folderToolStripMenuItem.ForeColor = System.Drawing.Color.White;
this.folderToolStripMenuItem.Name = "folderToolStripMenuItem";
this.folderToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
this.folderToolStripMenuItem.Text = "Folder";
this.folderToolStripMenuItem.Click += new System.EventHandler(this.FolderToolStripMenuItemClick);
//
// treeViewItemRename // treeViewItemRename
// //
this.treeViewItemRename.ForeColor = System.Drawing.Color.White; this.treeViewItemRename.ForeColor = System.Drawing.Color.White;
@ -237,6 +336,7 @@ namespace ANX.ContentCompiler.GUI
this.treeViewItemDelete.Name = "treeViewItemDelete"; this.treeViewItemDelete.Name = "treeViewItemDelete";
this.treeViewItemDelete.Size = new System.Drawing.Size(92, 22); this.treeViewItemDelete.Size = new System.Drawing.Size(92, 22);
this.treeViewItemDelete.Text = "Delete"; this.treeViewItemDelete.Text = "Delete";
this.treeViewItemDelete.Click += new System.EventHandler(this.TreeViewItemDeleteClick);
this.treeViewItemDelete.MouseEnter += new System.EventHandler(this.TreeViewItemMouseEnter); this.treeViewItemDelete.MouseEnter += new System.EventHandler(this.TreeViewItemMouseEnter);
this.treeViewItemDelete.MouseLeave += new System.EventHandler(this.TreeViewItemeLeave); this.treeViewItemDelete.MouseLeave += new System.EventHandler(this.TreeViewItemeLeave);
// //
@ -262,6 +362,26 @@ namespace ANX.ContentCompiler.GUI
this.splitContainerProperties.SplitterDistance = 366; this.splitContainerProperties.SplitterDistance = 366;
this.splitContainerProperties.TabIndex = 0; this.splitContainerProperties.TabIndex = 0;
// //
// editingState
//
this.editingState.Dock = System.Windows.Forms.DockStyle.Fill;
this.editingState.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.editingState.Location = new System.Drawing.Point(0, 0);
this.editingState.Name = "editingState";
this.editingState.Size = new System.Drawing.Size(364, 547);
this.editingState.TabIndex = 1;
this.editingState.Visible = false;
//
// startState
//
this.startState.Dock = System.Windows.Forms.DockStyle.Fill;
this.startState.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.startState.Location = new System.Drawing.Point(0, 0);
this.startState.Name = "startState";
this.startState.Size = new System.Drawing.Size(364, 547);
this.startState.TabIndex = 0;
this.startState.Visible = false;
//
// labelProperties // labelProperties
// //
this.labelProperties.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) this.labelProperties.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
@ -310,108 +430,14 @@ namespace ANX.ContentCompiler.GUI
this.menuState.TabIndex = 1; this.menuState.TabIndex = 1;
this.menuState.Visible = false; this.menuState.Visible = false;
// //
// ribbonTextBox
//
this.ribbonTextBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.ribbonTextBox.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.ribbonTextBox.Location = new System.Drawing.Point(532, 26);
this.ribbonTextBox.Name = "ribbonTextBox";
this.ribbonTextBox.Size = new System.Drawing.Size(320, 70);
this.ribbonTextBox.TabIndex = 9;
//
// ribbonButtonHelp
//
this.ribbonButtonHelp.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.ribbonButtonHelp.Content = "Help";
this.ribbonButtonHelp.Image = global::ANX.ContentCompiler.GUI.Properties.Resources.appbar_question;
this.ribbonButtonHelp.Location = new System.Drawing.Point(299, 26);
this.ribbonButtonHelp.Name = "ribbonButtonHelp";
this.ribbonButtonHelp.Size = new System.Drawing.Size(52, 68);
this.ribbonButtonHelp.TabIndex = 8;
//
// ribbonButtonWeb
//
this.ribbonButtonWeb.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.ribbonButtonWeb.Content = "Website";
this.ribbonButtonWeb.Image = global::ANX.ContentCompiler.GUI.Properties.Resources.appbar_globe;
this.ribbonButtonWeb.Location = new System.Drawing.Point(237, 26);
this.ribbonButtonWeb.Name = "ribbonButtonWeb";
this.ribbonButtonWeb.Size = new System.Drawing.Size(63, 68);
this.ribbonButtonWeb.TabIndex = 7;
//
// ribbonButtonClean
//
this.ribbonButtonClean.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
this.ribbonButtonClean.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.ribbonButtonClean.Content = "Clean";
this.ribbonButtonClean.Image = global::ANX.ContentCompiler.GUI.Properties.Resources.appbar_clean;
this.ribbonButtonClean.Location = new System.Drawing.Point(186, 26);
this.ribbonButtonClean.Name = "ribbonButtonClean";
this.ribbonButtonClean.Size = new System.Drawing.Size(52, 68);
this.ribbonButtonClean.TabIndex = 6;
this.ribbonButtonClean.Click += new System.EventHandler(this.RibbonButtonCleanClick);
//
// ribbonButtonSave
//
this.ribbonButtonSave.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.ribbonButtonSave.Content = "Save";
this.ribbonButtonSave.Image = global::ANX.ContentCompiler.GUI.Properties.Resources.appbar_save;
this.ribbonButtonSave.Location = new System.Drawing.Point(105, 26);
this.ribbonButtonSave.Name = "ribbonButtonSave";
this.ribbonButtonSave.Size = new System.Drawing.Size(52, 68);
this.ribbonButtonSave.TabIndex = 5;
this.ribbonButtonSave.Click += new System.EventHandler(this.SaveProject);
//
// ribbonButtonLoad
//
this.ribbonButtonLoad.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.ribbonButtonLoad.Content = "Open";
this.ribbonButtonLoad.Image = global::ANX.ContentCompiler.GUI.Properties.Resources.appbar_folder_open;
this.ribbonButtonLoad.Location = new System.Drawing.Point(54, 26);
this.ribbonButtonLoad.Name = "ribbonButtonLoad";
this.ribbonButtonLoad.Size = new System.Drawing.Size(52, 68);
this.ribbonButtonLoad.TabIndex = 4;
this.ribbonButtonLoad.Click += new System.EventHandler(this.OpenProjectDialog);
//
// ribbonButtonNew
//
this.ribbonButtonNew.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.ribbonButtonNew.Content = "New";
this.ribbonButtonNew.Image = global::ANX.ContentCompiler.GUI.Properties.Resources.appbar_page_multiple;
this.ribbonButtonNew.Location = new System.Drawing.Point(3, 26);
this.ribbonButtonNew.Name = "ribbonButtonNew";
this.ribbonButtonNew.Size = new System.Drawing.Size(52, 68);
this.ribbonButtonNew.TabIndex = 3;
this.ribbonButtonNew.Click += new System.EventHandler(this.NewProject);
//
// editingState
//
this.editingState.Dock = System.Windows.Forms.DockStyle.Fill;
this.editingState.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.editingState.Location = new System.Drawing.Point(0, 0);
this.editingState.Name = "editingState";
this.editingState.Size = new System.Drawing.Size(364, 547);
this.editingState.TabIndex = 1;
this.editingState.Visible = false;
//
// startState
//
this.startState.Dock = System.Windows.Forms.DockStyle.Fill;
this.startState.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.startState.Location = new System.Drawing.Point(0, 0);
this.startState.Name = "startState";
this.startState.Size = new System.Drawing.Size(364, 547);
this.startState.TabIndex = 0;
this.startState.Visible = false;
//
// MainWindow // MainWindow
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.ClientSize = new System.Drawing.Size(865, 652); this.ClientSize = new System.Drawing.Size(865, 652);
this.Controls.Add(this.menuState);
this.Controls.Add(this.splitContainerMenuLayout); this.Controls.Add(this.splitContainerMenuLayout);
this.Controls.Add(this.menuState);
this.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.ForeColor = System.Drawing.Color.White; this.ForeColor = System.Drawing.Color.White;
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
@ -464,6 +490,8 @@ namespace ANX.ContentCompiler.GUI
private MenuState menuState; private MenuState menuState;
private System.Windows.Forms.Button buttonMenu; private System.Windows.Forms.Button buttonMenu;
public Controls.RibbonTextBox ribbonTextBox; public Controls.RibbonTextBox ribbonTextBox;
private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem folderToolStripMenuItem;
} }
} }

View File

@ -1,4 +1,5 @@
using System; using System;
using System.Diagnostics;
using System.Drawing; using System.Drawing;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
@ -11,7 +12,7 @@ using ANX.Framework.NonXNA.Development;
namespace ANX.ContentCompiler.GUI namespace ANX.ContentCompiler.GUI
{ {
[Developer("SilentWarrior/Eagle Eye Studios")] [Developer("SilentWarrior/Eagle Eye Studios")]
[PercentageComplete(71)] //TODO: Implement parameter handling, Tour, HelpButton, WebsiteButton, Preview! [PercentageComplete(80)] //TODO: Implement Tour, Preview, Renaming of Folders!
[TestState(TestStateAttribute.TestState.InProgress)] [TestState(TestStateAttribute.TestState.InProgress)]
public partial class MainWindow : Form public partial class MainWindow : Form
{ {
@ -29,6 +30,7 @@ namespace ANX.ContentCompiler.GUI
private Point _lastPos; private Point _lastPos;
private bool _menuMode; private bool _menuMode;
private bool _mouseDown; private bool _mouseDown;
private readonly string[] _args;
#endregion #endregion
@ -51,6 +53,7 @@ namespace ANX.ContentCompiler.GUI
{ {
InitializeComponent(); InitializeComponent();
Instance = this; Instance = this;
_args = args;
_firstStart = !File.Exists(SettingsFile); _firstStart = !File.Exists(SettingsFile);
if (_firstStart) if (_firstStart)
{ {
@ -76,6 +79,11 @@ namespace ANX.ContentCompiler.GUI
if (_firstStart) if (_firstStart)
ShowFirstStartStuff(); ShowFirstStartStuff();
ChangeEnvironmentStartState(); ChangeEnvironmentStartState();
if (_args.Length > 0)
{
if (File.Exists(_args[0]))
OpenProject(_args[0]);
}
} }
#endregion #endregion
@ -341,14 +349,32 @@ namespace ANX.ContentCompiler.GUI
public void RemoveFile(string name) public void RemoveFile(string name)
{ {
for (var i = _contentProject.BuildItems.Count - 1; i >= 0; i--)
{
if (_contentProject.BuildItems[i].AssetName == name)
_contentProject.BuildItems.RemoveAt(i);
}
ChangeEnvironmentOpenProject();
} }
public void RemoveFiles(string[] files) public void RemoveFiles(string[] files)
{ {
foreach (var file in files)
{
RemoveFile(file);
}
} }
public void RemoveFolder(string name) public void RemoveFolder(string name)
{ {
if (treeView.RecursiveSearch(name).Nodes.Count > 0)
{
foreach (var buildItem in _contentProject.BuildItems.Where(buildItem => buildItem.AssetName.Contains(name)))
{
RemoveFile(buildItem.AssetName);
}
}
treeView.Nodes.Remove(treeView.RecursiveSearch(name));
} }
#endregion #endregion
@ -484,6 +510,15 @@ namespace ANX.ContentCompiler.GUI
} }
} }
private void RibbonButtonWebClick(object sender, EventArgs e)
{
Process.Start("http://anxframework.codeplex.com/");
}
private void RibbonButtonHelpClick(object sender, EventArgs e)
{
Process.Start("http://anxframework.codeplex.com/wikipage?title=Content%20Compiler");
}
#endregion #endregion
#region WindowMoveMethods #region WindowMoveMethods
@ -643,5 +678,40 @@ namespace ANX.ContentCompiler.GUI
#endregion #endregion
#region ContextMenuStuff
private void FileToolStripMenuItemClick(object sender, EventArgs e)
{
using (var dlg = new OpenFileDialog())
{
dlg.Multiselect = true;
dlg.Title = "Add files";
if (dlg.ShowDialog() == DialogResult.OK)
AddFiles(dlg.FileNames);
}
}
private void FolderToolStripMenuItemClick(object sender, EventArgs e)
{
using (var dlg = new NewFolderScreen())
{
if (dlg.ShowDialog() == DialogResult.OK)
{
AddFolder(dlg.textBoxName.Text);
}
}
}
private void TreeViewItemDeleteClick(object sender, EventArgs e)
{
if (treeView.SelectedNode == null) return;
if (treeView.SelectedNode == treeView.Nodes[0]) return;
foreach (var buildItem in _contentProject.BuildItems.Where(buildItem => buildItem.AssetName == treeView.SelectedNode.Name))
{
RemoveFile(buildItem.AssetName);
return;
}
RemoveFolder(treeView.SelectedNode.Name);
}
#endregion
} }
} }

View File

@ -33,6 +33,24 @@
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Core" /> <Reference Include="System.Core" />