tool setting stuff. WIP
This commit is contained in:
parent
4441052310
commit
360ca02b93
|
@ -411,6 +411,8 @@ namespace BizHawk.Client.Common
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
public Dictionary<string, ToolDialogSettings> CommonToolSettings = new Dictionary<string, ToolDialogSettings>();
|
||||||
|
|
||||||
// SMS VDP Viewer Settings
|
// SMS VDP Viewer Settings
|
||||||
public ToolDialogSettings SmsVdpSettings = new ToolDialogSettings();
|
public ToolDialogSettings SmsVdpSettings = new ToolDialogSettings();
|
||||||
public bool SmsVdpAutoLoad = false;
|
public bool SmsVdpAutoLoad = false;
|
||||||
|
@ -419,10 +421,6 @@ namespace BizHawk.Client.Common
|
||||||
public ToolDialogSettings PceVdpSettings = new ToolDialogSettings();
|
public ToolDialogSettings PceVdpSettings = new ToolDialogSettings();
|
||||||
public bool PceVdpAutoLoad = false;
|
public bool PceVdpAutoLoad = false;
|
||||||
|
|
||||||
// Genesis VDP Viewer Settings
|
|
||||||
public ToolDialogSettings GenVdpSettings = new ToolDialogSettings();
|
|
||||||
public bool GenVdpAutoLoad = false;
|
|
||||||
|
|
||||||
// NESPPU Settings
|
// NESPPU Settings
|
||||||
public ToolDialogSettings NesPPUSettings = new ToolDialogSettings();
|
public ToolDialogSettings NesPPUSettings = new ToolDialogSettings();
|
||||||
public bool AutoLoadNESPPU = false;
|
public bool AutoLoadNESPPU = false;
|
||||||
|
|
|
@ -48,6 +48,7 @@ namespace BizHawk.Client.Common
|
||||||
public bool SaveWindowPosition { get; set; }
|
public bool SaveWindowPosition { get; set; }
|
||||||
public bool TopMost { get; set; }
|
public bool TopMost { get; set; }
|
||||||
public bool FloatingWindow { get; set; }
|
public bool FloatingWindow { get; set; }
|
||||||
|
public bool AutoLoad { get; set; }
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public bool UseWindowPosition
|
public bool UseWindowPosition
|
||||||
|
|
|
@ -355,6 +355,8 @@ namespace BizHawk.Client.EmuHawk
|
||||||
LoadQuickSave("QuickSave" + Global.Config.SaveSlot);
|
LoadQuickSave("QuickSave" + Global.Config.SaveSlot);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GlobalWin.Tools.AutoLoad();
|
||||||
|
|
||||||
if (Global.Config.RecentWatches.AutoLoad)
|
if (Global.Config.RecentWatches.AutoLoad)
|
||||||
{
|
{
|
||||||
GlobalWin.Tools.LoadRamWatch(!Global.Config.DisplayRamWatch);
|
GlobalWin.Tools.LoadRamWatch(!Global.Config.DisplayRamWatch);
|
||||||
|
@ -435,11 +437,6 @@ namespace BizHawk.Client.EmuHawk
|
||||||
GlobalWin.Tools.Load<PCESoundDebugger>();
|
GlobalWin.Tools.Load<PCESoundDebugger>();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Global.Config.GenVdpAutoLoad)
|
|
||||||
{
|
|
||||||
GlobalWin.Tools.Load<GenVDPViewer>();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (Global.Config.AutoLoadSNESGraphicsDebugger)
|
if (Global.Config.AutoLoadSNESGraphicsDebugger)
|
||||||
{
|
{
|
||||||
GlobalWin.Tools.Load<SNESGraphicsDebugger>();
|
GlobalWin.Tools.Load<SNESGraphicsDebugger>();
|
||||||
|
|
|
@ -48,11 +48,6 @@
|
||||||
this.savePaletteScreenshotToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.savePaletteScreenshotToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
this.closeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.closeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.OptionsSubMenu = new System.Windows.Forms.ToolStripMenuItem();
|
|
||||||
this.AutoloadMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
|
||||||
this.SaveWindowPositionMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
|
||||||
this.AlwaysOnTopMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
|
||||||
this.FloatingWindowMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
|
||||||
this.groupBox1.SuspendLayout();
|
this.groupBox1.SuspendLayout();
|
||||||
this.groupBox2.SuspendLayout();
|
this.groupBox2.SuspendLayout();
|
||||||
this.groupBox3.SuspendLayout();
|
this.groupBox3.SuspendLayout();
|
||||||
|
@ -165,8 +160,7 @@
|
||||||
//
|
//
|
||||||
this.menuStrip1.ClickThrough = true;
|
this.menuStrip1.ClickThrough = true;
|
||||||
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
this.fileToolStripMenuItem,
|
this.fileToolStripMenuItem});
|
||||||
this.OptionsSubMenu});
|
|
||||||
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
|
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
|
||||||
this.menuStrip1.Name = "menuStrip1";
|
this.menuStrip1.Name = "menuStrip1";
|
||||||
this.menuStrip1.Size = new System.Drawing.Size(1078, 24);
|
this.menuStrip1.Size = new System.Drawing.Size(1078, 24);
|
||||||
|
@ -184,97 +178,57 @@
|
||||||
this.toolStripSeparator1,
|
this.toolStripSeparator1,
|
||||||
this.closeToolStripMenuItem});
|
this.closeToolStripMenuItem});
|
||||||
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
|
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
|
||||||
this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20);
|
this.fileToolStripMenuItem.Size = new System.Drawing.Size(35, 20);
|
||||||
this.fileToolStripMenuItem.Text = "&File";
|
this.fileToolStripMenuItem.Text = "&File";
|
||||||
//
|
//
|
||||||
// saveBGAScreenshotToolStripMenuItem
|
// saveBGAScreenshotToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.saveBGAScreenshotToolStripMenuItem.Name = "saveBGAScreenshotToolStripMenuItem";
|
this.saveBGAScreenshotToolStripMenuItem.Name = "saveBGAScreenshotToolStripMenuItem";
|
||||||
this.saveBGAScreenshotToolStripMenuItem.Size = new System.Drawing.Size(215, 22);
|
this.saveBGAScreenshotToolStripMenuItem.Size = new System.Drawing.Size(208, 22);
|
||||||
this.saveBGAScreenshotToolStripMenuItem.Text = "Save BG A Screenshot...";
|
this.saveBGAScreenshotToolStripMenuItem.Text = "Save BG A Screenshot...";
|
||||||
this.saveBGAScreenshotToolStripMenuItem.Click += new System.EventHandler(this.saveBGAScreenshotToolStripMenuItem_Click);
|
this.saveBGAScreenshotToolStripMenuItem.Click += new System.EventHandler(this.saveBGAScreenshotToolStripMenuItem_Click);
|
||||||
//
|
//
|
||||||
// saveBGBScreenshotToolStripMenuItem
|
// saveBGBScreenshotToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.saveBGBScreenshotToolStripMenuItem.Name = "saveBGBScreenshotToolStripMenuItem";
|
this.saveBGBScreenshotToolStripMenuItem.Name = "saveBGBScreenshotToolStripMenuItem";
|
||||||
this.saveBGBScreenshotToolStripMenuItem.Size = new System.Drawing.Size(215, 22);
|
this.saveBGBScreenshotToolStripMenuItem.Size = new System.Drawing.Size(208, 22);
|
||||||
this.saveBGBScreenshotToolStripMenuItem.Text = "Save BG B Screenshot...";
|
this.saveBGBScreenshotToolStripMenuItem.Text = "Save BG B Screenshot...";
|
||||||
this.saveBGBScreenshotToolStripMenuItem.Click += new System.EventHandler(this.saveBGBScreenshotToolStripMenuItem_Click);
|
this.saveBGBScreenshotToolStripMenuItem.Click += new System.EventHandler(this.saveBGBScreenshotToolStripMenuItem_Click);
|
||||||
//
|
//
|
||||||
// saveTilesScreenshotToolStripMenuItem
|
// saveTilesScreenshotToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.saveTilesScreenshotToolStripMenuItem.Name = "saveTilesScreenshotToolStripMenuItem";
|
this.saveTilesScreenshotToolStripMenuItem.Name = "saveTilesScreenshotToolStripMenuItem";
|
||||||
this.saveTilesScreenshotToolStripMenuItem.Size = new System.Drawing.Size(215, 22);
|
this.saveTilesScreenshotToolStripMenuItem.Size = new System.Drawing.Size(208, 22);
|
||||||
this.saveTilesScreenshotToolStripMenuItem.Text = "Save Tiles Screenshot...";
|
this.saveTilesScreenshotToolStripMenuItem.Text = "Save Tiles Screenshot...";
|
||||||
this.saveTilesScreenshotToolStripMenuItem.Click += new System.EventHandler(this.saveTilesScreenshotToolStripMenuItem_Click);
|
this.saveTilesScreenshotToolStripMenuItem.Click += new System.EventHandler(this.saveTilesScreenshotToolStripMenuItem_Click);
|
||||||
//
|
//
|
||||||
// saveWindowScreenshotToolStripMenuItem
|
// saveWindowScreenshotToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.saveWindowScreenshotToolStripMenuItem.Name = "saveWindowScreenshotToolStripMenuItem";
|
this.saveWindowScreenshotToolStripMenuItem.Name = "saveWindowScreenshotToolStripMenuItem";
|
||||||
this.saveWindowScreenshotToolStripMenuItem.Size = new System.Drawing.Size(215, 22);
|
this.saveWindowScreenshotToolStripMenuItem.Size = new System.Drawing.Size(208, 22);
|
||||||
this.saveWindowScreenshotToolStripMenuItem.Text = "Save Window Screenshot...";
|
this.saveWindowScreenshotToolStripMenuItem.Text = "Save Window Screenshot...";
|
||||||
this.saveWindowScreenshotToolStripMenuItem.Click += new System.EventHandler(this.saveWindowScreenshotToolStripMenuItem_Click);
|
this.saveWindowScreenshotToolStripMenuItem.Click += new System.EventHandler(this.saveWindowScreenshotToolStripMenuItem_Click);
|
||||||
//
|
//
|
||||||
// savePaletteScreenshotToolStripMenuItem
|
// savePaletteScreenshotToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.savePaletteScreenshotToolStripMenuItem.Name = "savePaletteScreenshotToolStripMenuItem";
|
this.savePaletteScreenshotToolStripMenuItem.Name = "savePaletteScreenshotToolStripMenuItem";
|
||||||
this.savePaletteScreenshotToolStripMenuItem.Size = new System.Drawing.Size(215, 22);
|
this.savePaletteScreenshotToolStripMenuItem.Size = new System.Drawing.Size(208, 22);
|
||||||
this.savePaletteScreenshotToolStripMenuItem.Text = "Save Palette Screenshot...";
|
this.savePaletteScreenshotToolStripMenuItem.Text = "Save Palette Screenshot...";
|
||||||
this.savePaletteScreenshotToolStripMenuItem.Click += new System.EventHandler(this.savePaletteScreenshotToolStripMenuItem_Click);
|
this.savePaletteScreenshotToolStripMenuItem.Click += new System.EventHandler(this.savePaletteScreenshotToolStripMenuItem_Click);
|
||||||
//
|
//
|
||||||
// toolStripSeparator1
|
// toolStripSeparator1
|
||||||
//
|
//
|
||||||
this.toolStripSeparator1.Name = "toolStripSeparator1";
|
this.toolStripSeparator1.Name = "toolStripSeparator1";
|
||||||
this.toolStripSeparator1.Size = new System.Drawing.Size(212, 6);
|
this.toolStripSeparator1.Size = new System.Drawing.Size(205, 6);
|
||||||
//
|
//
|
||||||
// closeToolStripMenuItem
|
// closeToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.closeToolStripMenuItem.Name = "closeToolStripMenuItem";
|
this.closeToolStripMenuItem.Name = "closeToolStripMenuItem";
|
||||||
this.closeToolStripMenuItem.ShortcutKeyDisplayString = "Alt+F4";
|
this.closeToolStripMenuItem.ShortcutKeyDisplayString = "Alt+F4";
|
||||||
this.closeToolStripMenuItem.Size = new System.Drawing.Size(215, 22);
|
this.closeToolStripMenuItem.Size = new System.Drawing.Size(208, 22);
|
||||||
this.closeToolStripMenuItem.Text = "&Close";
|
this.closeToolStripMenuItem.Text = "&Close";
|
||||||
this.closeToolStripMenuItem.Click += new System.EventHandler(this.closeToolStripMenuItem_Click);
|
this.closeToolStripMenuItem.Click += new System.EventHandler(this.closeToolStripMenuItem_Click);
|
||||||
//
|
//
|
||||||
// OptionsSubMenu
|
|
||||||
//
|
|
||||||
this.OptionsSubMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
|
||||||
this.AutoloadMenuItem,
|
|
||||||
this.SaveWindowPositionMenuItem,
|
|
||||||
this.AlwaysOnTopMenuItem,
|
|
||||||
this.FloatingWindowMenuItem});
|
|
||||||
this.OptionsSubMenu.Name = "OptionsSubMenu";
|
|
||||||
this.OptionsSubMenu.Size = new System.Drawing.Size(61, 20);
|
|
||||||
this.OptionsSubMenu.Text = "&Options";
|
|
||||||
this.OptionsSubMenu.DropDownOpened += new System.EventHandler(this.OptionsSubMenu_DropDownOpened);
|
|
||||||
//
|
|
||||||
// AutoloadMenuItem
|
|
||||||
//
|
|
||||||
this.AutoloadMenuItem.Name = "AutoloadMenuItem";
|
|
||||||
this.AutoloadMenuItem.Size = new System.Drawing.Size(191, 22);
|
|
||||||
this.AutoloadMenuItem.Text = "&Autoload";
|
|
||||||
this.AutoloadMenuItem.Click += new System.EventHandler(this.AutoloadMenuItem_Click);
|
|
||||||
//
|
|
||||||
// SaveWindowPositionMenuItem
|
|
||||||
//
|
|
||||||
this.SaveWindowPositionMenuItem.Name = "SaveWindowPositionMenuItem";
|
|
||||||
this.SaveWindowPositionMenuItem.Size = new System.Drawing.Size(191, 22);
|
|
||||||
this.SaveWindowPositionMenuItem.Text = "Save Window Position";
|
|
||||||
this.SaveWindowPositionMenuItem.Click += new System.EventHandler(this.SaveWindowPositionMenuItem_Click);
|
|
||||||
//
|
|
||||||
// AlwaysOnTopMenuItem
|
|
||||||
//
|
|
||||||
this.AlwaysOnTopMenuItem.Name = "AlwaysOnTopMenuItem";
|
|
||||||
this.AlwaysOnTopMenuItem.Size = new System.Drawing.Size(191, 22);
|
|
||||||
this.AlwaysOnTopMenuItem.Text = "Always On Top";
|
|
||||||
this.AlwaysOnTopMenuItem.Click += new System.EventHandler(this.AlwaysOnTopMenuItem_Click);
|
|
||||||
//
|
|
||||||
// FloatingWindowMenuItem
|
|
||||||
//
|
|
||||||
this.FloatingWindowMenuItem.Name = "FloatingWindowMenuItem";
|
|
||||||
this.FloatingWindowMenuItem.Size = new System.Drawing.Size(191, 22);
|
|
||||||
this.FloatingWindowMenuItem.Text = "Floating Window";
|
|
||||||
this.FloatingWindowMenuItem.Click += new System.EventHandler(this.FloatingWindowMenuItem_Click);
|
|
||||||
//
|
|
||||||
// GenVDPViewer
|
// GenVDPViewer
|
||||||
//
|
//
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
|
@ -328,10 +282,5 @@
|
||||||
private System.Windows.Forms.ToolStripMenuItem savePaletteScreenshotToolStripMenuItem;
|
private System.Windows.Forms.ToolStripMenuItem savePaletteScreenshotToolStripMenuItem;
|
||||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
|
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
|
||||||
private System.Windows.Forms.ToolStripMenuItem closeToolStripMenuItem;
|
private System.Windows.Forms.ToolStripMenuItem closeToolStripMenuItem;
|
||||||
private System.Windows.Forms.ToolStripMenuItem OptionsSubMenu;
|
|
||||||
private System.Windows.Forms.ToolStripMenuItem AutoloadMenuItem;
|
|
||||||
private System.Windows.Forms.ToolStripMenuItem SaveWindowPositionMenuItem;
|
|
||||||
private System.Windows.Forms.ToolStripMenuItem AlwaysOnTopMenuItem;
|
|
||||||
private System.Windows.Forms.ToolStripMenuItem FloatingWindowMenuItem;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -26,8 +26,6 @@ namespace BizHawk.Client.EmuHawk
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
bmpViewTiles.ChangeBitmapSize(512, 256);
|
bmpViewTiles.ChangeBitmapSize(512, 256);
|
||||||
bmpViewPal.ChangeBitmapSize(16, 4);
|
bmpViewPal.ChangeBitmapSize(16, 4);
|
||||||
|
|
||||||
TopMost = Global.Config.GenVdpSettings.TopMost;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
unsafe static void DrawTile(int* dest, int pitch, byte* src, int* pal)
|
unsafe static void DrawTile(int* dest, int pitch, byte* src, int* pal)
|
||||||
|
@ -216,52 +214,8 @@ namespace BizHawk.Client.EmuHawk
|
||||||
Close();
|
Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OptionsSubMenu_DropDownOpened(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
AutoloadMenuItem.Checked = Global.Config.GenVdpAutoLoad;
|
|
||||||
SaveWindowPositionMenuItem.Checked = Global.Config.GenVdpSettings.SaveWindowPosition;
|
|
||||||
AlwaysOnTopMenuItem.Checked = Global.Config.GenVdpSettings.TopMost;
|
|
||||||
FloatingWindowMenuItem.Checked = Global.Config.GenVdpSettings.FloatingWindow;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void AutoloadMenuItem_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
Global.Config.GenVdpAutoLoad ^= true;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void SaveWindowPositionMenuItem_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
Global.Config.GenVdpSettings.SaveWindowPosition ^= true;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void AlwaysOnTopMenuItem_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
TopMost = Global.Config.GenVdpSettings.TopMost ^= true;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void FloatingWindowMenuItem_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
Global.Config.GenVdpSettings.FloatingWindow ^= true;
|
|
||||||
RefreshFloatingWindowControl();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void RefreshFloatingWindowControl()
|
|
||||||
{
|
|
||||||
Owner = Global.Config.GenVdpSettings.FloatingWindow ? null : GlobalWin.MainForm;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void OnShown(EventArgs e)
|
|
||||||
{
|
|
||||||
RefreshFloatingWindowControl();
|
|
||||||
base.OnShown(e);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void GenVDPViewer_Load(object sender, EventArgs e)
|
private void GenVDPViewer_Load(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (Global.Config.GenVdpSettings.UseWindowPosition)
|
|
||||||
{
|
|
||||||
Location = Global.Config.GenVdpSettings.WindowPosition;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,6 +8,7 @@ using BizHawk.Emulation.Common.IEmulatorExtensions;
|
||||||
using BizHawk.Client.Common;
|
using BizHawk.Client.Common;
|
||||||
using BizHawk.Emulation.Common;
|
using BizHawk.Emulation.Common;
|
||||||
|
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
namespace BizHawk.Client.EmuHawk
|
namespace BizHawk.Client.EmuHawk
|
||||||
{
|
{
|
||||||
|
@ -60,12 +61,120 @@ namespace BizHawk.Client.EmuHawk
|
||||||
var newTool = CreateInstance(toolType);
|
var newTool = CreateInstance(toolType);
|
||||||
|
|
||||||
ServiceInjector.UpdateServices(Global.Emulator.ServiceProvider, newTool);
|
ServiceInjector.UpdateServices(Global.Emulator.ServiceProvider, newTool);
|
||||||
newTool.Restart();
|
|
||||||
|
|
||||||
|
ToolDialogSettings settings;
|
||||||
|
if (!Global.Config.CommonToolSettings.TryGetValue(toolType.ToString(), out settings))
|
||||||
|
{
|
||||||
|
settings = new ToolDialogSettings();
|
||||||
|
Global.Config.CommonToolSettings[toolType.ToString()] = settings;
|
||||||
|
}
|
||||||
|
|
||||||
|
AttachSettingHooks(newTool, settings);
|
||||||
|
|
||||||
|
newTool.Restart();
|
||||||
newTool.Show();
|
newTool.Show();
|
||||||
return newTool;
|
return newTool;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void AutoLoad()
|
||||||
|
{
|
||||||
|
foreach (var typename in Global.Config.CommonToolSettings.Where(kvp => kvp.Value.AutoLoad).Select(kvp => kvp.Key))
|
||||||
|
{
|
||||||
|
// this type resolution might not be sufficient. more investigation is needed
|
||||||
|
Type t = Type.GetType(typename);
|
||||||
|
if (t == null)
|
||||||
|
{
|
||||||
|
Console.WriteLine("BENIGN: Couldn't find type {0}", typename);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Load(t, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void AttachSettingHooks(IToolForm tool, ToolDialogSettings settings)
|
||||||
|
{
|
||||||
|
if (!(tool is GenVDPViewer))
|
||||||
|
return;
|
||||||
|
var form = (Form)tool;
|
||||||
|
|
||||||
|
var menu = new ToolStripMenuItem("Tool Settings (FIX ME)");
|
||||||
|
|
||||||
|
menu.DropDownItems.Add("Save Window Position");
|
||||||
|
menu.DropDownItems.Add("Stay on Top");
|
||||||
|
menu.DropDownItems.Add("Float from Parent");
|
||||||
|
menu.DropDownItems.Add("Auto Load");
|
||||||
|
|
||||||
|
(menu.DropDownItems[0] as ToolStripMenuItem).Checked = settings.SaveWindowPosition;
|
||||||
|
(menu.DropDownItems[1] as ToolStripMenuItem).Checked = settings.TopMost;
|
||||||
|
(menu.DropDownItems[2] as ToolStripMenuItem).Checked = settings.FloatingWindow;
|
||||||
|
(menu.DropDownItems[3] as ToolStripMenuItem).Checked = settings.AutoLoad;
|
||||||
|
|
||||||
|
form.TopMost = settings.TopMost;
|
||||||
|
|
||||||
|
// do we need to do this OnShown() as well?
|
||||||
|
form.Owner = settings.FloatingWindow ? null : GlobalWin.MainForm;
|
||||||
|
|
||||||
|
if (settings.UseWindowPosition)
|
||||||
|
{
|
||||||
|
form.Location = settings.WindowPosition;
|
||||||
|
}
|
||||||
|
if (settings.UseWindowSize)
|
||||||
|
{
|
||||||
|
form.Size = settings.WindowSize;
|
||||||
|
}
|
||||||
|
|
||||||
|
form.FormClosing += (o, e) =>
|
||||||
|
{
|
||||||
|
settings.Wndx = form.Location.X;
|
||||||
|
settings.Wndy = form.Location.Y;
|
||||||
|
settings.Width = form.Right - form.Left; // why not form.Size.Width?
|
||||||
|
settings.Height = form.Bottom - form.Top;
|
||||||
|
};
|
||||||
|
|
||||||
|
menu.DropDownItems[0].Click += (o, e) =>
|
||||||
|
{
|
||||||
|
bool val = !(o as ToolStripMenuItem).Checked;
|
||||||
|
settings.SaveWindowPosition = val;
|
||||||
|
(o as ToolStripMenuItem).Checked = val;
|
||||||
|
};
|
||||||
|
menu.DropDownItems[1].Click += (o, e) =>
|
||||||
|
{
|
||||||
|
bool val = !(o as ToolStripMenuItem).Checked;
|
||||||
|
settings.TopMost = val;
|
||||||
|
(o as ToolStripMenuItem).Checked = val;
|
||||||
|
form.TopMost = val;
|
||||||
|
};
|
||||||
|
menu.DropDownItems[2].Click += (o, e) =>
|
||||||
|
{
|
||||||
|
bool val = !(o as ToolStripMenuItem).Checked;
|
||||||
|
settings.FloatingWindow = val;
|
||||||
|
(o as ToolStripMenuItem).Checked = val;
|
||||||
|
form.Owner = val ? null : GlobalWin.MainForm;
|
||||||
|
};
|
||||||
|
menu.DropDownItems[3].Click += (o, e) =>
|
||||||
|
{
|
||||||
|
bool val = !(o as ToolStripMenuItem).Checked;
|
||||||
|
settings.AutoLoad = val;
|
||||||
|
(o as ToolStripMenuItem).Checked = val;
|
||||||
|
};
|
||||||
|
|
||||||
|
foreach (Control c in form.Controls)
|
||||||
|
{
|
||||||
|
if (c is MenuStrip)
|
||||||
|
{
|
||||||
|
var ms = c as MenuStrip;
|
||||||
|
ms.Items.Add(menu);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// got here without finding a menustrip, means there is no menustrip.
|
||||||
|
// what to do? could put in a context menu or something?
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Determines whether a given IToolForm is already loaded
|
/// Determines whether a given IToolForm is already loaded
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
Loading…
Reference in New Issue