BizHawk/BizHawk.Client.EmuHawk/tools/ToolBox.cs

219 lines
5.1 KiB
C#
Raw Normal View History

2011-04-07 00:46:10 +00:00
using System;
using System.Collections.Generic;
2011-04-07 00:46:10 +00:00
using System.Drawing;
using System.Linq;
2011-04-07 00:46:10 +00:00
using System.Windows.Forms;
using BizHawk.Client.Common;
using BizHawk.Emulation.Cores.Calculators;
2014-01-08 03:53:53 +00:00
using BizHawk.Emulation.Cores.Nintendo.GBA;
2013-11-14 13:15:41 +00:00
using BizHawk.Emulation.Cores.Nintendo.NES;
using BizHawk.Emulation.Cores.Nintendo.SNES;
2013-12-22 02:27:25 +00:00
using BizHawk.Emulation.Cores.PCEngine;
2011-04-07 00:46:10 +00:00
namespace BizHawk.Client.EmuHawk
2011-04-07 00:46:10 +00:00
{
public partial class ToolBox : Form, IToolForm
{
public ToolBox()
{
InitializeComponent();
}
private void ToolBox_Load(object sender, EventArgs e)
{
2013-12-21 21:37:00 +00:00
Location = new Point(
GlobalWin.MainForm.Location.X + GlobalWin.MainForm.Size.Width,
GlobalWin.MainForm.Location.Y
);
SetTools();
SetSize();
2013-12-22 15:26:09 +00:00
ToolBoxStrip.Select();
ToolBoxItems.First().Select();
}
public bool AskSave() { return true; }
public bool UpdateBefore { get { return false; } }
public void UpdateValues() { }
2013-12-21 21:37:00 +00:00
public void Restart()
{
SetTools();
}
private void SetTools()
{
2013-12-21 21:37:00 +00:00
NesPPUToolbarItem.Visible =
NesDebuggerToolbarItem.Visible =
NesNameTableToolbarItem.Visible =
Global.Emulator is NES;
NesGameGenieToolbarItem.Visible = Global.Emulator.SystemId == "NES";
2013-12-21 21:37:00 +00:00
TI83KeypadToolbarItem.Visible = Global.Emulator is TI83;
2013-12-21 21:37:00 +00:00
SNESGraphicsDebuggerToolbarItem.Visible =
SNESGameGenieToolbarItem.Visible =
Global.Emulator is LibsnesCore;
GGGameGenieToolbarItem.Visible =
Global.Game.System == "GG";
2013-12-22 02:27:25 +00:00
PceBgViewerToolbarItem.Visible = Global.Emulator is PCEngine;
GBGameGenieToolbarItem.Visible =
GbGpuViewerToolBarItem.Visible =
Global.Game.System == "GB";
2013-12-21 21:37:00 +00:00
GbaGpuViewerToolBarItem.Visible = Global.Emulator is GBA;
GenesisGameGenieToolBarItem.Visible = Global.Emulator.SystemId == "GEN" && VersionInfo.INTERIM;
foreach (var button in ToolBoxItems)
{
if (button.Visible)
{
var toolBtn = button as ToolStripButton;
toolBtn.Click += (o, e) => Close();
}
}
2013-12-22 15:26:09 +00:00
NesDebuggerToolbarItem.Visible = !VersionInfo.INTERIM;
}
private void SetSize()
{
2014-01-08 03:53:53 +00:00
var rows = (int)Math.Ceiling(ToolBoxItems.Count() / 4.0);
Height = 30 + (rows * 30);
}
2014-01-08 03:53:53 +00:00
// Provide LINQ capabilities to an outdated form collection
private IEnumerable<ToolStripItem> ToolBoxItems
{
get
{
return ToolBoxStrip.Items.Cast<ToolStripItem>().Where(x => x.Visible);
}
}
2013-12-22 03:41:10 +00:00
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
2013-12-22 03:41:10 +00:00
if (keyData == Keys.Escape)
{
Close();
return true;
}
else
{
return base.ProcessCmdKey(ref msg, keyData);
}
}
#region Icon Clicks
2013-12-21 21:37:00 +00:00
private void CheatsToolBarItem_Click(object sender, EventArgs e)
{
GlobalWin.Tools.Load<Cheats>();
}
2013-12-21 21:37:00 +00:00
private void RamWatchToolbarItem_Click(object sender, EventArgs e)
{
GlobalWin.Tools.LoadRamWatch(true);
}
2013-12-21 21:37:00 +00:00
private void RamSearchToolbarItem_Click(object sender, EventArgs e)
{
GlobalWin.Tools.Load<RamSearch>();
}
2013-12-21 21:37:00 +00:00
private void HexEditorToolbarItem_Click(object sender, EventArgs e)
{
GlobalWin.Tools.Load<HexEditor>();
}
2013-12-21 21:37:00 +00:00
private void LuaConsoleToolbarItem_Click(object sender, EventArgs e)
{
GlobalWin.MainForm.OpenLuaConsole();
}
2011-04-30 20:18:42 +00:00
2013-12-21 21:37:00 +00:00
private void NesPPUToolbarItem_Click(object sender, EventArgs e)
{
GlobalWin.Tools.Load<NesPPU>();
}
2011-04-30 20:18:42 +00:00
2013-12-21 21:37:00 +00:00
private void NesDebuggerToolbarItem_Click(object sender, EventArgs e)
{
GlobalWin.Tools.Load<NESDebugger>();
}
2013-12-21 21:37:00 +00:00
private void NesGameGenieToolbarItem_Click(object sender, EventArgs e)
{
GlobalWin.Tools.LoadGameGenieEc();
}
2013-12-21 21:37:00 +00:00
private void NesNameTableToolbarItem_Click(object sender, EventArgs e)
{
GlobalWin.Tools.Load<NESNameTableViewer>();
}
2013-12-21 21:37:00 +00:00
private void TI83KeypadToolbarItem_Click(object sender, EventArgs e)
{
GlobalWin.Tools.Load<TI83KeyPad>();
}
2013-12-21 21:37:00 +00:00
private void TAStudioToolbarItem_Click(object sender, EventArgs e)
{
2013-12-29 23:35:42 +00:00
GlobalWin.Tools.Load<TAStudio>();
}
2013-12-21 21:37:00 +00:00
private void SNESGraphicsDebuggerToolbarItem_Click(object sender, EventArgs e)
{
GlobalWin.Tools.Load<SNESGraphicsDebugger>();
}
2013-12-21 21:37:00 +00:00
private void VirtualpadToolbarItem_Click(object sender, EventArgs e)
{
GlobalWin.Tools.Load<VirtualPadForm>();
}
2013-12-21 21:37:00 +00:00
private void SNESGameGenieToolbarItem_Click(object sender, EventArgs e)
{
GlobalWin.Tools.LoadGameGenieEc();
}
2013-12-21 21:37:00 +00:00
private void GGGameGenieToolbarItem_Click(object sender, EventArgs e)
{
GlobalWin.Tools.LoadGameGenieEc();
}
2013-12-21 21:37:00 +00:00
private void GBGameGenieToolbarItem_Click(object sender, EventArgs e)
{
GlobalWin.Tools.LoadGameGenieEc();
}
private void GbGpuViewerToolBarItem_Click(object sender, EventArgs e)
2013-12-22 02:27:25 +00:00
{
GlobalWin.Tools.Load<GBGPUView>();
2013-12-22 02:27:25 +00:00
}
private void PceBgViewerToolbarItem_Click(object sender, EventArgs e)
2013-12-22 02:27:25 +00:00
{
GlobalWin.Tools.Load<PceBgViewer>();
2013-12-22 02:27:25 +00:00
}
private void GbaGpuViewerToolBarItem_Click(object sender, EventArgs e)
{
GlobalWin.Tools.Load<GBAGPUView>();
}
private void GenesisGameGenieToolBarItem_Click(object sender, EventArgs e)
{
GlobalWin.Tools.Load<GenGameGenie>();
}
#endregion
}
2011-04-07 00:46:10 +00:00
}