Mesen-SX/UI/Debugger/frmDbgPreferences.cs

169 lines
8.2 KiB
C#
Raw Normal View History

2019-02-15 21:33:13 -05:00
using Mesen.GUI.Config;
using Mesen.GUI.Forms;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Mesen.GUI.Debugger
{
public partial class frmDbgPreferences : BaseConfigForm
{
public frmDbgPreferences()
{
InitializeComponent();
ctrlDbgShortcutsShared.Shortcuts = new FieldInfo[] {
GetMember(nameof(DebuggerShortcutsConfig.IncreaseFontSize)),
GetMember(nameof(DebuggerShortcutsConfig.DecreaseFontSize)),
GetMember(nameof(DebuggerShortcutsConfig.ResetFontSize)),
GetMember(nameof(DebuggerShortcutsConfig.ZoomIn)),
GetMember(nameof(DebuggerShortcutsConfig.ZoomOut)),
GetMember(nameof(DebuggerShortcutsConfig.SaveAsPng)),
2019-02-15 21:33:13 -05:00
GetMember(nameof(DebuggerShortcutsConfig.GoTo)),
GetMember(nameof(DebuggerShortcutsConfig.Find)),
GetMember(nameof(DebuggerShortcutsConfig.FindNext)),
GetMember(nameof(DebuggerShortcutsConfig.FindPrev)),
GetMember(nameof(DebuggerShortcutsConfig.Undo)),
GetMember(nameof(DebuggerShortcutsConfig.Cut)),
GetMember(nameof(DebuggerShortcutsConfig.Copy)),
GetMember(nameof(DebuggerShortcutsConfig.Paste)),
GetMember(nameof(DebuggerShortcutsConfig.SelectAll)),
GetMember(nameof(DebuggerShortcutsConfig.Refresh)),
GetMember(nameof(DebuggerShortcutsConfig.MarkAsCode)),
GetMember(nameof(DebuggerShortcutsConfig.MarkAsData)),
GetMember(nameof(DebuggerShortcutsConfig.MarkAsUnidentified)),
2020-02-09 15:39:14 -05:00
GetMember(nameof(DebuggerShortcutsConfig.GoToAll)),
2019-02-15 21:33:13 -05:00
GetMember(nameof(DebuggerShortcutsConfig.CodeWindow_EditInMemoryViewer)),
GetMember(nameof(DebuggerShortcutsConfig.MemoryViewer_ViewInDisassembly)),
2020-02-11 22:01:06 -05:00
GetMember(nameof(DebuggerShortcutsConfig.OpenAssembler)),
2019-02-15 21:33:13 -05:00
GetMember(nameof(DebuggerShortcutsConfig.OpenDebugger)),
GetMember(nameof(DebuggerShortcutsConfig.OpenEventViewer)),
GetMember(nameof(DebuggerShortcutsConfig.OpenMemoryTools)),
2019-10-10 23:54:38 -04:00
GetMember(nameof(DebuggerShortcutsConfig.OpenRegisterViewer)),
GetMember(nameof(DebuggerShortcutsConfig.OpenProfiler)),
2019-05-12 21:18:05 -04:00
GetMember(nameof(DebuggerShortcutsConfig.OpenScriptWindow)),
2019-02-15 21:33:13 -05:00
GetMember(nameof(DebuggerShortcutsConfig.OpenTraceLogger)),
//GetMember(nameof(DebuggerShortcutsConfig.OpenWatchWindow)),
2019-02-15 21:33:13 -05:00
2019-03-16 16:38:28 -04:00
GetMember(nameof(DebuggerShortcutsConfig.OpenTilemapViewer)),
GetMember(nameof(DebuggerShortcutsConfig.OpenTileViewer)),
GetMember(nameof(DebuggerShortcutsConfig.OpenSpriteViewer)),
2019-02-15 21:33:13 -05:00
GetMember(nameof(DebuggerShortcutsConfig.OpenPaletteViewer)),
GetMember(nameof(DebuggerShortcutsConfig.OpenSpcDebugger)),
GetMember(nameof(DebuggerShortcutsConfig.OpenSa1Debugger)),
GetMember(nameof(DebuggerShortcutsConfig.OpenGameboyDebugger)),
2019-07-30 22:34:52 -04:00
GetMember(nameof(DebuggerShortcutsConfig.OpenGsuDebugger)),
2020-02-23 21:50:55 -05:00
GetMember(nameof(DebuggerShortcutsConfig.OpenNecDspDebugger)),
2020-02-24 22:00:52 -05:00
GetMember(nameof(DebuggerShortcutsConfig.OpenCx4Debugger)),
2019-02-15 21:33:13 -05:00
};
ctrlDbgShortcutsMemoryViewer.Shortcuts = new FieldInfo[] {
//GetMember(nameof(DebuggerShortcutsConfig.MemoryViewer_Freeze)),
//GetMember(nameof(DebuggerShortcutsConfig.MemoryViewer_Unfreeze)),
2019-02-15 21:33:13 -05:00
GetMember(nameof(DebuggerShortcutsConfig.MemoryViewer_AddToWatch)),
GetMember(nameof(DebuggerShortcutsConfig.MemoryViewer_EditBreakpoint)),
GetMember(nameof(DebuggerShortcutsConfig.MemoryViewer_EditLabel)),
GetMember(nameof(DebuggerShortcutsConfig.MemoryViewer_Import)),
GetMember(nameof(DebuggerShortcutsConfig.MemoryViewer_Export)),
//GetMember(nameof(DebuggerShortcutsConfig.MemoryViewer_ViewInCpuMemory)),
//GetMember(nameof(DebuggerShortcutsConfig.MemoryViewer_ViewInMemoryType))
2019-02-15 21:33:13 -05:00
};
ctrlDbgShortcutsScriptWindow.Shortcuts = new FieldInfo[] {
2019-02-15 21:33:13 -05:00
GetMember(nameof(DebuggerShortcutsConfig.ScriptWindow_OpenScript)),
GetMember(nameof(DebuggerShortcutsConfig.ScriptWindow_SaveScript)),
GetMember(nameof(DebuggerShortcutsConfig.ScriptWindow_RunScript)),
GetMember(nameof(DebuggerShortcutsConfig.ScriptWindow_StopScript))
};
2019-02-15 21:33:13 -05:00
ctrlDbgShortcutsDebugger.Shortcuts = new FieldInfo[] {
GetMember(nameof(DebuggerShortcutsConfig.ReloadRom)),
2019-02-15 21:33:13 -05:00
GetMember(nameof(DebuggerShortcutsConfig.Reset)),
GetMember(nameof(DebuggerShortcutsConfig.PowerCycle)),
GetMember(nameof(DebuggerShortcutsConfig.Continue)),
GetMember(nameof(DebuggerShortcutsConfig.Break)),
GetMember(nameof(DebuggerShortcutsConfig.ToggleBreakContinue)),
GetMember(nameof(DebuggerShortcutsConfig.StepInto)),
GetMember(nameof(DebuggerShortcutsConfig.StepOver)),
GetMember(nameof(DebuggerShortcutsConfig.StepOut)),
//GetMember(nameof(DebuggerShortcutsConfig.StepBack)),
2019-02-15 21:33:13 -05:00
GetMember(nameof(DebuggerShortcutsConfig.RunPpuCycle)),
GetMember(nameof(DebuggerShortcutsConfig.RunPpuScanline)),
GetMember(nameof(DebuggerShortcutsConfig.RunPpuFrame)),
2019-03-30 22:58:57 -04:00
GetMember(nameof(DebuggerShortcutsConfig.BreakIn)),
GetMember(nameof(DebuggerShortcutsConfig.BreakOn)),
//GetMember(nameof(DebuggerShortcutsConfig.FindOccurrences)),
2019-02-15 21:33:13 -05:00
GetMember(nameof(DebuggerShortcutsConfig.GoToProgramCounter)),
//GetMember(nameof(DebuggerShortcutsConfig.CodeWindow_SetNextStatement)),
//GetMember(nameof(DebuggerShortcutsConfig.CodeWindow_EditSubroutine)),
2020-02-11 22:01:06 -05:00
GetMember(nameof(DebuggerShortcutsConfig.CodeWindow_EditSelectedCode)),
//GetMember(nameof(DebuggerShortcutsConfig.CodeWindow_EditSourceFile)),
2020-02-11 22:01:06 -05:00
GetMember(nameof(DebuggerShortcutsConfig.CodeWindow_EditLabel)),
//GetMember(nameof(DebuggerShortcutsConfig.CodeWindow_NavigateBack)),
//GetMember(nameof(DebuggerShortcutsConfig.CodeWindow_NavigateForward)),
2019-02-15 21:33:13 -05:00
GetMember(nameof(DebuggerShortcutsConfig.CodeWindow_ToggleBreakpoint)),
GetMember(nameof(DebuggerShortcutsConfig.CodeWindow_DisableEnableBreakpoint)),
2019-05-04 09:33:28 -04:00
GetMember(nameof(DebuggerShortcutsConfig.CodeWindow_SwitchView)),
//GetMember(nameof(DebuggerShortcutsConfig.FunctionList_EditLabel)),
//GetMember(nameof(DebuggerShortcutsConfig.FunctionList_AddBreakpoint)),
//GetMember(nameof(DebuggerShortcutsConfig.FunctionList_FindOccurrences)),
GetMember(nameof(DebuggerShortcutsConfig.LabelList_Add)),
GetMember(nameof(DebuggerShortcutsConfig.LabelList_Edit)),
GetMember(nameof(DebuggerShortcutsConfig.LabelList_Delete)),
GetMember(nameof(DebuggerShortcutsConfig.LabelList_AddBreakpoint)),
GetMember(nameof(DebuggerShortcutsConfig.LabelList_AddToWatch)),
//GetMember(nameof(DebuggerShortcutsConfig.LabelList_FindOccurrences)),
GetMember(nameof(DebuggerShortcutsConfig.LabelList_ViewInCpuMemory)),
GetMember(nameof(DebuggerShortcutsConfig.LabelList_ViewInMemoryType)),
2019-02-15 21:33:13 -05:00
GetMember(nameof(DebuggerShortcutsConfig.BreakpointList_Add)),
GetMember(nameof(DebuggerShortcutsConfig.BreakpointList_Edit)),
GetMember(nameof(DebuggerShortcutsConfig.BreakpointList_GoToLocation)),
GetMember(nameof(DebuggerShortcutsConfig.BreakpointList_Delete)),
GetMember(nameof(DebuggerShortcutsConfig.WatchList_Delete)),
GetMember(nameof(DebuggerShortcutsConfig.WatchList_MoveUp)),
GetMember(nameof(DebuggerShortcutsConfig.WatchList_MoveDown)),
//GetMember(nameof(DebuggerShortcutsConfig.SaveRom)),
GetMember(nameof(DebuggerShortcutsConfig.SaveRomAs)),
GetMember(nameof(DebuggerShortcutsConfig.SaveEditAsIps)),
//GetMember(nameof(DebuggerShortcutsConfig.RevertPrgChrChanges)),
//GetMember(nameof(DebuggerShortcutsConfig.ToggleVerifiedData)),
//GetMember(nameof(DebuggerShortcutsConfig.ToggleUnidentifiedCodeData))
2019-02-15 21:33:13 -05:00
};
}
private FieldInfo GetMember(string name)
{
return typeof(DebuggerShortcutsConfig).GetField(name);
}
protected override void OnFormClosed(FormClosedEventArgs e)
{
base.OnFormClosed(e);
if(DialogResult == DialogResult.OK) {
DebuggerShortcutsConfig.UpdateMenus();
}
}
private void btnReset_Click(object sender, EventArgs e)
{
DebuggerShortcutsConfig defaults = new DebuggerShortcutsConfig();
foreach(FieldInfo field in typeof(DebuggerShortcutsConfig).GetFields()) {
field.SetValue(ConfigManager.Config.Debug.Shortcuts, field.GetValue(defaults));
}
ctrlDbgShortcutsDebugger.InitializeGrid();
ctrlDbgShortcutsMemoryViewer.InitializeGrid();
ctrlDbgShortcutsScriptWindow.InitializeGrid();
ctrlDbgShortcutsShared.InitializeGrid();
}
}
}