440 lines
12 KiB
C#
440 lines
12 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Windows.Forms;
|
|
using BizHawk.Client.Common;
|
|
using BizHawk.Emulation.Cores.Calculators;
|
|
using BizHawk.Emulation.Common;
|
|
|
|
namespace BizHawk.Client.EmuHawk
|
|
{
|
|
public partial class TI83KeyPad : Form, IToolForm
|
|
{
|
|
[RequiredService]
|
|
public TI83 Emu { get; private set; }
|
|
|
|
public TI83KeyPad()
|
|
{
|
|
InitializeComponent();
|
|
TopMost = Global.Config.TI83KeypadSettings.TopMost;
|
|
Closing += (o, e) =>
|
|
{
|
|
Global.Config.TI83KeypadSettings.Wndx = Location.X;
|
|
Global.Config.TI83KeypadSettings.Wndy = Location.Y;
|
|
};
|
|
}
|
|
|
|
private void TI83KeyPad_Load(object sender, EventArgs e)
|
|
{
|
|
if (Global.Config.TI83KeypadSettings.UseWindowPosition)
|
|
{
|
|
Location = Global.Config.TI83KeypadSettings.WindowPosition;
|
|
}
|
|
|
|
if (Global.Config.TI83ToolTips)
|
|
{
|
|
SetToolTips();
|
|
}
|
|
}
|
|
|
|
#region Public API
|
|
|
|
public bool AskSaveChanges() { return true; }
|
|
public bool UpdateBefore { get { return false; } }
|
|
|
|
public void UpdateValues()
|
|
{
|
|
// Do nothing
|
|
}
|
|
|
|
public void FastUpdate()
|
|
{
|
|
// Do nothing
|
|
}
|
|
|
|
public void Restart()
|
|
{
|
|
// Do nothing
|
|
}
|
|
|
|
#endregion
|
|
|
|
private void SetToolTips()
|
|
{
|
|
// Set button hotkey mapping into tooltips
|
|
var mappings = Global.Config.AllTrollers["TI83 Controller"];
|
|
KeyPadToolTips.SetToolTip(ZeroButton, mappings["0"]);
|
|
KeyPadToolTips.SetToolTip(OneButton, mappings["1"]);
|
|
KeyPadToolTips.SetToolTip(TwoButton, mappings["2"]);
|
|
KeyPadToolTips.SetToolTip(ThreeButton, mappings["3"]);
|
|
KeyPadToolTips.SetToolTip(FourButton, mappings["4"]);
|
|
KeyPadToolTips.SetToolTip(FiveButton, mappings["5"]);
|
|
KeyPadToolTips.SetToolTip(SixButton, mappings["6"]);
|
|
KeyPadToolTips.SetToolTip(SevenButton, mappings["7"]);
|
|
KeyPadToolTips.SetToolTip(EightButton, mappings["8"]);
|
|
KeyPadToolTips.SetToolTip(NineButton, mappings["9"]);
|
|
KeyPadToolTips.SetToolTip(PeriodButton, mappings["DOT"]);
|
|
KeyPadToolTips.SetToolTip(OnButton, mappings["ON"]);
|
|
KeyPadToolTips.SetToolTip(EnterButton, mappings["ENTER"]);
|
|
KeyPadToolTips.SetToolTip(UpButton, mappings["UP"]);
|
|
KeyPadToolTips.SetToolTip(DownButton, mappings["DOWN"]);
|
|
KeyPadToolTips.SetToolTip(LeftButton, mappings["LEFT"]);
|
|
KeyPadToolTips.SetToolTip(RightButton, mappings["RIGHT"]);
|
|
KeyPadToolTips.SetToolTip(PlusButton, mappings["PLUS"]);
|
|
KeyPadToolTips.SetToolTip(MinusButton, mappings["MINUS"]);
|
|
KeyPadToolTips.SetToolTip(MultiplyButton, mappings["MULTIPLY"]);
|
|
KeyPadToolTips.SetToolTip(DivideButton, mappings["DIVIDE"]);
|
|
KeyPadToolTips.SetToolTip(ClearButton, mappings["CLEAR"]);
|
|
KeyPadToolTips.SetToolTip(ExpButton, mappings["EXP"]);
|
|
KeyPadToolTips.SetToolTip(DashButton, mappings["DASH"]);
|
|
KeyPadToolTips.SetToolTip(ParaOpenButton, mappings["PARAOPEN"]);
|
|
KeyPadToolTips.SetToolTip(ParaCloseButton, mappings["PARACLOSE"]);
|
|
KeyPadToolTips.SetToolTip(TanButton, mappings["TAN"]);
|
|
KeyPadToolTips.SetToolTip(VarsButton, mappings["VARS"]);
|
|
KeyPadToolTips.SetToolTip(CosButton, mappings["COS"]);
|
|
KeyPadToolTips.SetToolTip(PrgmButton, mappings["PRGM"]);
|
|
KeyPadToolTips.SetToolTip(StatButton, mappings["STAT"]);
|
|
KeyPadToolTips.SetToolTip(MatrixButton, mappings["MATRIX"]);
|
|
KeyPadToolTips.SetToolTip(XButton, mappings["X"]);
|
|
KeyPadToolTips.SetToolTip(StoButton, mappings["STO"]);
|
|
KeyPadToolTips.SetToolTip(LnButton, mappings["LN"]);
|
|
KeyPadToolTips.SetToolTip(LogButton, mappings["LOG"]);
|
|
KeyPadToolTips.SetToolTip(SquaredButton, mappings["SQUARED"]);
|
|
KeyPadToolTips.SetToolTip(Neg1Button, mappings["NEG1"]);
|
|
KeyPadToolTips.SetToolTip(MathButton, mappings["MATH"]);
|
|
KeyPadToolTips.SetToolTip(AlphaButton, mappings["ALPHA"]);
|
|
KeyPadToolTips.SetToolTip(GraphButton, mappings["GRAPH"]);
|
|
KeyPadToolTips.SetToolTip(TraceButton, mappings["TRACE"]);
|
|
KeyPadToolTips.SetToolTip(ZoomButton, mappings["ZOOM"]);
|
|
KeyPadToolTips.SetToolTip(WindowButton, mappings["WINDOW"]);
|
|
KeyPadToolTips.SetToolTip(YButton, mappings["Y"]);
|
|
KeyPadToolTips.SetToolTip(SecondButton, mappings["SECOND"]);
|
|
KeyPadToolTips.SetToolTip(ModeButton, mappings["MODE"]);
|
|
KeyPadToolTips.SetToolTip(DelButton, mappings["DEL"]);
|
|
KeyPadToolTips.SetToolTip(CommaButton, mappings["COMMA"]);
|
|
KeyPadToolTips.SetToolTip(SinButton, mappings["SIN"]);
|
|
}
|
|
|
|
private void StopToolTips()
|
|
{
|
|
KeyPadToolTips.RemoveAll();
|
|
}
|
|
|
|
private void RefreshFloatingWindowControl()
|
|
{
|
|
Owner = Global.Config.TI83KeypadSettings.FloatingWindow ? null : GlobalWin.MainForm;
|
|
}
|
|
|
|
#region Events
|
|
|
|
#region Menu
|
|
|
|
private void ExitMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
Close();
|
|
}
|
|
|
|
private void OptionsSubMenu_DropDownOpened(object sender, EventArgs e)
|
|
{
|
|
ShowHotkeysMenuItem.Checked = Global.Config.TI83ToolTips;
|
|
SaveWindowPositionMenuItem.Checked = Global.Config.TI83KeypadSettings.SaveWindowPosition;
|
|
AlwaysOnTopMenuItem.Checked = Global.Config.TI83KeypadSettings.TopMost;
|
|
FloatingWindowMenuItem.Checked = Global.Config.TI83KeypadSettings.FloatingWindow;
|
|
}
|
|
|
|
private void ShowHotkeysMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
Global.Config.TI83ToolTips ^= true;
|
|
|
|
if (Global.Config.TI83ToolTips)
|
|
{
|
|
SetToolTips();
|
|
}
|
|
else
|
|
{
|
|
StopToolTips();
|
|
}
|
|
}
|
|
|
|
private void SaveWindowPositionMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
Global.Config.TI83KeypadSettings.SaveWindowPosition ^= true;
|
|
}
|
|
|
|
private void AlwaysOnTopMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
Global.Config.TI83KeypadSettings.TopMost ^= true;
|
|
TopMost = Global.Config.TI83KeypadSettings.TopMost;
|
|
}
|
|
|
|
private void FloatingWindowMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
Global.Config.TI83KeypadSettings.FloatingWindow ^= true;
|
|
RefreshFloatingWindowControl();
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Dialog and Controls
|
|
|
|
private void EnterButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("ENTER");
|
|
}
|
|
|
|
private void DashButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("DASH");
|
|
}
|
|
|
|
private void OneButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("1");
|
|
}
|
|
|
|
private void TwoButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("2");
|
|
}
|
|
|
|
private void ThreeButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("3");
|
|
}
|
|
|
|
private void FourButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("4");
|
|
}
|
|
|
|
private void FiveButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("5");
|
|
}
|
|
|
|
private void SixButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("6");
|
|
}
|
|
|
|
private void SevenButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("7");
|
|
}
|
|
|
|
private void EightButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("8");
|
|
}
|
|
|
|
private void NineButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("9");
|
|
}
|
|
|
|
private void OnButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("ON");
|
|
}
|
|
|
|
private void StoButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("STO");
|
|
}
|
|
|
|
private void PlusButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("PLUS");
|
|
}
|
|
|
|
private void LnButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("LN");
|
|
}
|
|
|
|
private void MinusButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("MINUS");
|
|
}
|
|
|
|
private void LogButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("LOG");
|
|
}
|
|
|
|
private void MultiplyButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("MULTIPLY");
|
|
}
|
|
|
|
private void SquaredButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("SQUARED");
|
|
}
|
|
|
|
private void CommaButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("COMMA");
|
|
}
|
|
|
|
private void ParaOpenButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("PARAOPEN");
|
|
}
|
|
|
|
private void ParaCloseButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("PARACLOSE");
|
|
}
|
|
|
|
private void DivideButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("DIVIDE");
|
|
}
|
|
|
|
private void Neg1Button_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("NEG1");
|
|
}
|
|
|
|
private void SinButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("SIN");
|
|
}
|
|
|
|
private void CosButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("COS");
|
|
}
|
|
|
|
private void TanButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("TAN");
|
|
}
|
|
|
|
private void ExpButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("EXP");
|
|
}
|
|
|
|
private void MathButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("MATH");
|
|
}
|
|
|
|
private void MaxtrixButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("MATRIX");
|
|
}
|
|
|
|
private void PrgmButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("PRGM");
|
|
}
|
|
|
|
private void VarsButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("VARS");
|
|
}
|
|
|
|
private void ClearButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("CLEAR");
|
|
}
|
|
|
|
private void AlphaButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("ALPHA");
|
|
}
|
|
|
|
private void XButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("X");
|
|
}
|
|
|
|
private void StatButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("STAT");
|
|
}
|
|
|
|
private void SecondButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("2ND");
|
|
}
|
|
|
|
private void ModeButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("MODE");
|
|
}
|
|
|
|
private void DelButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("DEL");
|
|
}
|
|
|
|
private void LeftButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("LEFT");
|
|
}
|
|
|
|
private void DownButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("DOWN");
|
|
}
|
|
|
|
private void RightButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("RIGHT");
|
|
}
|
|
|
|
private void UpButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("UP");
|
|
}
|
|
|
|
private void YButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("Y");
|
|
}
|
|
|
|
private void WindowButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("WINDOW");
|
|
}
|
|
|
|
private void ZoomButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("ZOOM");
|
|
}
|
|
|
|
private void TraceButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("TRACE");
|
|
}
|
|
|
|
private void GraphButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("GRAPH");
|
|
}
|
|
|
|
private void PeriodButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("DOT");
|
|
}
|
|
|
|
private void ZeroButton_Click(object sender, EventArgs e)
|
|
{
|
|
Global.ClickyVirtualPadController.Click("0");
|
|
}
|
|
|
|
protected override void OnShown(EventArgs e)
|
|
{
|
|
RefreshFloatingWindowControl();
|
|
base.OnShown(e);
|
|
}
|
|
|
|
#endregion
|
|
|
|
#endregion
|
|
}
|
|
}
|