202 lines
7.1 KiB
C#
Raw Normal View History

2012-08-27 19:09:10 +00:00
using System;
using System.Reflection;
2012-08-27 19:09:10 +00:00
using System.Windows.Forms;
using ANX.ContentCompiler.GUI.Dialogues;
using ANX.Framework.NonXNA.Development;
2012-08-27 19:09:10 +00:00
namespace ANX.ContentCompiler.GUI.States
{
[Developer("SilentWarrior/Eagle Eye Studios")]
[PercentageComplete(90)] //TODO: Actually implement Import dialogue, for now just using the usual one
[TestState(TestStateAttribute.TestState.Tested)]
2012-08-27 19:09:10 +00:00
public partial class MenuState : UserControl
{
public MenuState()
{
InitializeComponent();
}
#region HelperMethods
2012-08-27 19:09:10 +00:00
private void SetUpColors()
{
labelVersion.Text = "ANX Content Compiler v" + Assembly.GetExecutingAssembly().GetName().Version;
2012-08-27 19:09:10 +00:00
BackColor = Settings.MainColor;
ForeColor = Settings.ForeColor;
panel1.BackColor = Settings.AccentColor3;
buttonClose.BackColor = Settings.AccentColor3;
buttonExit.BackColor = Settings.AccentColor3;
buttonNew.BackColor = Settings.AccentColor3;
buttonOpen.BackColor = Settings.AccentColor3;
buttonSave.BackColor = Settings.AccentColor3;
buttonSaveAs.BackColor = Settings.AccentColor3;
buttonSettings.BackColor = Settings.AccentColor3;
buttonClose.FlatAppearance.BorderColor = Settings.AccentColor2;
buttonExit.FlatAppearance.BorderColor = Settings.AccentColor2;
buttonNew.FlatAppearance.BorderColor = Settings.AccentColor2;
buttonOpen.FlatAppearance.BorderColor = Settings.AccentColor2;
buttonSave.FlatAppearance.BorderColor = Settings.AccentColor2;
buttonSaveAs.FlatAppearance.BorderColor = Settings.AccentColor2;
buttonSettings.FlatAppearance.BorderColor = Settings.AccentColor2;
buttonClose.FlatAppearance.MouseOverBackColor = Settings.AccentColor2;
buttonExit.FlatAppearance.MouseOverBackColor = Settings.AccentColor2;
buttonNew.FlatAppearance.MouseOverBackColor = Settings.AccentColor2;
buttonOpen.FlatAppearance.MouseOverBackColor = Settings.AccentColor2;
buttonSave.FlatAppearance.MouseOverBackColor = Settings.AccentColor2;
buttonSaveAs.FlatAppearance.MouseOverBackColor = Settings.AccentColor2;
buttonSettings.FlatAppearance.MouseDownBackColor = Settings.AccentColor2;
checkBoxShowWelcomeScreen.Checked = Settings.ShowFirstStartScreen;
2012-08-27 19:09:10 +00:00
}
private void ResetMenuState()
{
buttonNew.BackColor = Settings.AccentColor3;
buttonOpen.BackColor = Settings.AccentColor3;
buttonSave.BackColor = Settings.AccentColor3;
buttonSaveAs.BackColor = Settings.AccentColor3;
buttonClose.BackColor = Settings.AccentColor3;
buttonSettings.BackColor = Settings.AccentColor3;
buttonExit.BackColor = Settings.AccentColor3;
panelNew.Visible = false;
panelOpen.Visible = false;
panelSaveAs.Visible = false;
panelSettings.Visible = false;
}
2012-08-27 19:09:10 +00:00
#endregion
#region MenuButtons
2012-08-27 19:09:10 +00:00
private void ButtonNewClick(object sender, EventArgs e)
{
ResetMenuState();
buttonNew.BackColor = Settings.AccentColor;
panelNew.Visible = true;
}
2012-08-27 19:09:10 +00:00
private void ButtonOpenClick(object sender, EventArgs e)
{
ResetMenuState();
buttonOpen.BackColor = Settings.AccentColor;
panelOpen.Visible = true;
}
private void ButtonSaveClick(object sender, EventArgs e)
{
MainWindow.Instance.SaveProject(sender, e);
2012-08-27 19:09:10 +00:00
}
private void ButtonSaveAsClick(object sender, EventArgs e)
{
ResetMenuState();
buttonSaveAs.BackColor = Settings.AccentColor;
panelSaveAs.Visible = true;
}
private void ButtonCloseClick(object sender, EventArgs e)
{
ResetMenuState();
Visible = false;
MainWindow.Instance.ToggleMenuMode();
MainWindow.Instance.ChangeEnvironmentStartState();
}
private void ButtonSettingsClick(object sender, EventArgs e)
{
ResetMenuState();
buttonSettings.BackColor = Settings.AccentColor;
panelSettings.Visible = true;
}
private void ButtonExitClick(object sender, EventArgs e)
{
ResetMenuState();
Application.Exit();
}
2012-08-27 19:09:10 +00:00
#endregion
#region MenuNew
2012-08-27 19:09:10 +00:00
private void ArrowButtonFileClick(object sender, EventArgs e)
{
using (var dlg = new OpenFileDialog())
{
dlg.Multiselect = true;
dlg.Title = "Add files";
if (dlg.ShowDialog() == DialogResult.OK)
MainWindow.Instance.AddFiles(dlg.FileNames);
}
MainWindow.Instance.ToggleMenuMode();
2012-08-27 19:09:10 +00:00
}
private void ArrowButtonFolderClick(object sender, EventArgs e)
{
using (var dlg = new NewFolderScreen())
{
if (dlg.ShowDialog() == DialogResult.OK)
{
MainWindow.Instance.AddFolder(dlg.textBoxName.Text);
}
}
MainWindow.Instance.ToggleMenuMode();
2012-08-27 19:09:10 +00:00
}
private void ArrowButtonNewProjectClick(object sender, EventArgs e)
{
MainWindow.Instance.NewProject(sender, e);
2012-08-27 19:09:10 +00:00
}
2012-08-27 19:09:10 +00:00
#endregion
#region MenuOpen
2012-08-27 19:09:10 +00:00
private void ArrowButtonOpenClick(object sender, EventArgs e)
{
MainWindow.Instance.OpenProjectDialog(sender, e);
MainWindow.Instance.ToggleMenuMode();
2012-08-27 19:09:10 +00:00
}
private void ArrowButtonImportClick(object sender, EventArgs e)
{
MainWindow.Instance.OpenProjectDialog(sender, e);
MainWindow.Instance.ToggleMenuMode();
2012-08-27 19:09:10 +00:00
}
2012-08-27 19:09:10 +00:00
#endregion
#region MenuSave
2012-08-27 19:09:10 +00:00
private void ArrowButtonSaveAsCprojClick(object sender, EventArgs e)
{
MainWindow.Instance.SaveProjectAs(sender, e);
MainWindow.Instance.ToggleMenuMode();
2012-08-27 19:09:10 +00:00
}
private void ArrowButtonSaveAsCcProjClick(object sender, EventArgs e)
{
MainWindow.Instance.SaveProjectAs(sender, e);
MainWindow.Instance.ToggleMenuMode();
2012-08-27 19:09:10 +00:00
}
2012-08-27 19:09:10 +00:00
#endregion
#region Load
2012-08-27 19:09:10 +00:00
private void MenuState_Load(object sender, EventArgs e)
{
SetUpColors();
ResetMenuState();
buttonNew.BackColor = Settings.AccentColor;
panelNew.Visible = true;
}
#endregion
#region Options Stuff
private void CheckBoxShowWelcomeScreenCheckedChanged(object sender, EventArgs e)
{
Settings.ShowFirstStartScreen = ((CheckBox)sender).Checked;
}
#endregion
2012-08-27 19:09:10 +00:00
}
}