BizHawk/BizHawk.Client.EmuHawk/tools/TI83/TI83KeyPad.cs

395 lines
10 KiB
C#

using System;
using System.Drawing;
using System.Windows.Forms;
using BizHawk.Emulation.Cores.Calculators;
using BizHawk.Client.Common;
namespace BizHawk.Client.EmuHawk
{
public partial class TI83KeyPad : Form, IToolForm
{
//TODO: if wndx/wndy are negative, load window on the right edge of emulator window
public bool AskSave() { return true; }
public bool UpdateBefore { get { return false; } }
public TI83KeyPad()
{
InitializeComponent();
Closing += (o, e) => SaveConfigSettings();
}
private void TI83KeyPad_Load(object sender, EventArgs e)
{
if (Global.Config.TI83KeypadSaveWindowPosition && Global.Config.TI83KeyPadWndx >= 0 && Global.Config.TI83KeyPadWndy >= 0)
Location = new Point(Global.Config.TI83KeyPadWndx, Global.Config.TI83KeyPadWndy);
if (Global.Config.TI83ToolTips)
SetToolTips();
}
private void SetToolTips()
{
//Set button hotkey mapping into tooltips
var mappings = Global.Config.AllTrollers["TI83 Controller"];
toolTip1.SetToolTip(ZERO, mappings["0"]);
toolTip1.SetToolTip(ONE, mappings["1"]);
toolTip1.SetToolTip(TWO, mappings["2"]);
toolTip1.SetToolTip(THREE, mappings["3"]);
toolTip1.SetToolTip(FOUR, mappings["4"]);
toolTip1.SetToolTip(FIVE, mappings["5"]);
toolTip1.SetToolTip(SIX, mappings["6"]);
toolTip1.SetToolTip(SEVEN, mappings["7"]);
toolTip1.SetToolTip(EIGHT, mappings["8"]);
toolTip1.SetToolTip(NINE, mappings["9"]);
toolTip1.SetToolTip(PERIOD, mappings["DOT"]);
toolTip1.SetToolTip(ON, mappings["ON"]);
toolTip1.SetToolTip(ENTER, mappings["ENTER"]);
toolTip1.SetToolTip(UP, mappings["UP"]);
toolTip1.SetToolTip(DOWN, mappings["DOWN"]);
toolTip1.SetToolTip(LEFT, mappings["LEFT"]);
toolTip1.SetToolTip(RIGHT, mappings["RIGHT"]);
toolTip1.SetToolTip(PLUS, mappings["PLUS"]);
toolTip1.SetToolTip(MINUS, mappings["MINUS"]);
toolTip1.SetToolTip(MULTIPLY, mappings["MULTIPLY"]);
toolTip1.SetToolTip(DIVIDE, mappings["DIVIDE"]);
toolTip1.SetToolTip(CLEAR, mappings["CLEAR"]);
toolTip1.SetToolTip(EXP, mappings["EXP"]);
toolTip1.SetToolTip(DASH, mappings["DASH"]);
toolTip1.SetToolTip(PARACLOSE, mappings["PARACLOSE"]);
toolTip1.SetToolTip(PARAOPEN, mappings["PARAOPEN"]);
toolTip1.SetToolTip(TAN, mappings["TAN"]);
toolTip1.SetToolTip(VARS, mappings["VARS"]);
toolTip1.SetToolTip(COS, mappings["COS"]);
toolTip1.SetToolTip(PRGM, mappings["PRGM"]);
toolTip1.SetToolTip(STAT, mappings["STAT"]);
toolTip1.SetToolTip(MATRIX, mappings["MATRIX"]);
toolTip1.SetToolTip(XT, mappings["X"]);
toolTip1.SetToolTip(STO, mappings["STO"]);
toolTip1.SetToolTip(LN, mappings["LN"]);
toolTip1.SetToolTip(LOG, mappings["LOG"]);
toolTip1.SetToolTip(SQUARED, mappings["SQUARED"]);
toolTip1.SetToolTip(NEG1, mappings["NEG1"]);
toolTip1.SetToolTip(MATH, mappings["MATH"]);
toolTip1.SetToolTip(ALPHA, mappings["ALPHA"]);
toolTip1.SetToolTip(GRAPH, mappings["GRAPH"]);
toolTip1.SetToolTip(TRACE, mappings["TRACE"]);
toolTip1.SetToolTip(ZOOM, mappings["ZOOM"]);
toolTip1.SetToolTip(WINDOW, mappings["WINDOW"]);
toolTip1.SetToolTip(YEQUAL, mappings["Y"]);
toolTip1.SetToolTip(SECOND, mappings["SECOND"]);
toolTip1.SetToolTip(MODE, mappings["MODE"]);
toolTip1.SetToolTip(DEL, mappings["DEL"]);
toolTip1.SetToolTip(COMMA, mappings["COMMA"]);
toolTip1.SetToolTip(SIN, mappings["SIN"]);
}
public void StopToolTips()
{
toolTip1.RemoveAll();
}
public void UpdateValues()
{
if (!(Global.Emulator is TI83))
{
Close();
}
}
public void Restart()
{
if (!(Global.Emulator is TI83))
{
Close();
}
}
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
{
Close();
}
private void SaveConfigSettings()
{
Global.Config.TI83KeyPadWndx = Location.X;
Global.Config.TI83KeyPadWndy = Location.Y;
}
private void saveWindowPositionToolStripMenuItem_Click(object sender, EventArgs e)
{
Global.Config.TI83KeypadSaveWindowPosition ^= true;
}
private void optionsToolStripMenuItem_DropDownOpened(object sender, EventArgs e)
{
saveWindowPositionToolStripMenuItem.Checked = Global.Config.TI83KeypadSaveWindowPosition;
showHotkToolStripMenuItem.Checked = Global.Config.TI83ToolTips;
}
private void button42_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("ENTER");
}
private void button43_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("DASH");
}
private void button39_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("2");
}
private void ONE_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("1");
}
private void THREE_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("3");
}
private void FOUR_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("4");
}
private void FIVE_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("5");
}
private void SIX_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("6");
}
private void SEVEN_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("7");
}
private void EIGHT_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("8");
}
private void NINE_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("9");
}
private void ON_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("ON");
}
private void STO_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("STO");
}
private void PLUS_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("PLUS");
}
private void LN_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("LN");
}
private void MINUS_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("MINUS");
}
private void LOG_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("LOG");
}
private void MULTIPLY_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("MULTIPLY");
}
private void button26_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("SQUARED");
}
private void button25_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("COMMA");
}
private void button24_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("PARAOPEN");
}
private void button23_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("PARACLOSE");
}
private void button22_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("DIVIDE");
}
private void button17_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("NEG1");
}
private void button18_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("SIN");
}
private void button19_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("COS");
}
private void button20_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("TAN");
}
private void button21_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("EXP");
}
private void button12_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("MATH");
}
private void button13_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("MATRIX");
}
private void button14_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("PRGM");
}
private void button15_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("VARS");
}
private void button16_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("CLEAR");
}
private void button11_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("ALPHA");
}
private void button4_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("X");
}
private void button10_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("STAT");
}
private void button5_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("2ND");
}
private void button2_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("MODE");
}
private void button3_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("DEL");
}
private void button47_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("LEFT");
}
private void button49_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("DOWN");
}
private void button48_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("RIGHT");
}
private void button50_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("UP");
}
private void button1_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("Y");
}
private void button6_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("WINDOW");
}
private void button7_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("ZOOM");
}
private void button8_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("TRACE");
}
private void button9_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("GRAPH");
}
private void PERIOD_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("DOT");
}
private void showHotkToolStripMenuItem_Click(object sender, EventArgs e)
{
Global.Config.TI83ToolTips ^= true;
if (Global.Config.TI83ToolTips)
{
SetToolTips();
}
else
{
StopToolTips();
}
}
private void ZERO_Click(object sender, EventArgs e)
{
Global.ClickyVirtualPadController.Click("0");
}
}
}