2012-06-01 19:53:14 +00:00
|
|
|
|
#region === Copyright (c) 2010 Pascal van der Heiden ===
|
|
|
|
|
|
|
|
|
|
using System;
|
|
|
|
|
using System.Drawing;
|
|
|
|
|
using System.Globalization;
|
|
|
|
|
using System.Windows.Forms;
|
|
|
|
|
using CodeImp.DoomBuilder.Windows;
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
namespace CodeImp.DoomBuilder.Plugins.VisplaneExplorer
|
|
|
|
|
{
|
2014-10-22 13:07:17 +00:00
|
|
|
|
public partial class InterfaceForm : DelayedForm
|
2012-06-01 19:53:14 +00:00
|
|
|
|
{
|
|
|
|
|
#region ================== Constants
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
2016-09-22 20:24:32 +00:00
|
|
|
|
#region ================== mxd. Event handlers
|
|
|
|
|
|
|
|
|
|
public event EventHandler OnOpenDoorsChanged;
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
2012-06-01 19:53:14 +00:00
|
|
|
|
#region ================== Variables
|
|
|
|
|
|
|
|
|
|
private ViewStats viewstats;
|
2014-09-11 11:51:02 +00:00
|
|
|
|
private Point oldttposition;
|
2012-06-01 19:53:14 +00:00
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region ================== Properties
|
|
|
|
|
|
|
|
|
|
internal ViewStats ViewStats { get { return viewstats; } }
|
2016-09-22 20:24:32 +00:00
|
|
|
|
internal bool OpenDoors { get { return cbopendoors.Checked; } } //mxd
|
|
|
|
|
internal bool ShowHeatmap { get { return cbheatmap.Checked; } } //mxd
|
2012-06-01 19:53:14 +00:00
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region ================== Constructor / Destructor
|
|
|
|
|
|
|
|
|
|
// Constructor
|
|
|
|
|
public InterfaceForm()
|
|
|
|
|
{
|
|
|
|
|
InitializeComponent();
|
2016-09-22 20:24:32 +00:00
|
|
|
|
cbopendoors.Checked = General.Settings.ReadPluginSetting("opendoors", false); //mxd
|
|
|
|
|
cbheatmap.Checked = General.Settings.ReadPluginSetting("showheatmap", false); //mxd
|
2012-06-01 19:53:14 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region ================== Methods
|
|
|
|
|
|
|
|
|
|
// This adds the buttons to the toolbar
|
|
|
|
|
public void AddToInterface()
|
|
|
|
|
{
|
2016-11-26 00:02:56 +00:00
|
|
|
|
General.Interface.BeginToolbarUpdate(); //mxd
|
2014-09-11 11:51:02 +00:00
|
|
|
|
General.Interface.AddButton(statsbutton);
|
|
|
|
|
General.Interface.AddButton(separator); //mxd
|
|
|
|
|
General.Interface.AddButton(cbopendoors); //mxd
|
|
|
|
|
General.Interface.AddButton(cbheatmap); //mxd
|
2016-11-26 00:02:56 +00:00
|
|
|
|
General.Interface.EndToolbarUpdate(); //mxd
|
2012-06-01 19:53:14 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// This removes the buttons from the toolbar
|
|
|
|
|
public void RemoveFromInterface()
|
|
|
|
|
{
|
2016-11-26 00:02:56 +00:00
|
|
|
|
General.Interface.BeginToolbarUpdate(); //mxd
|
2014-09-11 11:51:02 +00:00
|
|
|
|
General.Interface.RemoveButton(cbheatmap); //mxd
|
|
|
|
|
General.Interface.RemoveButton(cbopendoors); //mxd
|
|
|
|
|
General.Interface.RemoveButton(separator); //mxd
|
2012-06-01 19:53:14 +00:00
|
|
|
|
General.Interface.RemoveButton(statsbutton);
|
2016-11-26 00:02:56 +00:00
|
|
|
|
General.Interface.EndToolbarUpdate(); //mxd
|
2016-09-22 20:24:32 +00:00
|
|
|
|
|
|
|
|
|
//mxd. Save settings
|
|
|
|
|
General.Settings.WritePluginSetting("opendoors", cbopendoors.Checked);
|
|
|
|
|
General.Settings.WritePluginSetting("showheatmap", cbheatmap.Checked);
|
2012-06-01 19:53:14 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// This shows a tooltip
|
|
|
|
|
public void ShowTooltip(string text, Point p)
|
|
|
|
|
{
|
|
|
|
|
Point sp = General.Interface.Display.PointToScreen(p);
|
|
|
|
|
Point fp = (General.Interface as Form).Location;
|
|
|
|
|
Point tp = new Point(sp.X - fp.X, sp.Y - fp.Y);
|
|
|
|
|
|
2015-12-28 15:01:53 +00:00
|
|
|
|
if(oldttposition != tp)
|
2012-06-01 19:53:14 +00:00
|
|
|
|
{
|
|
|
|
|
tooltip.Show(text, General.Interface, tp);
|
|
|
|
|
oldttposition = tp;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// This hides the tooltip
|
|
|
|
|
public void HideTooltip()
|
|
|
|
|
{
|
|
|
|
|
tooltip.Hide(General.Interface);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region ================== Events
|
|
|
|
|
|
|
|
|
|
// Selecting a type of stats to view
|
|
|
|
|
private void stats_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
foreach(ToolStripMenuItem i in statsbutton.DropDownItems)
|
|
|
|
|
i.Checked = false;
|
|
|
|
|
|
|
|
|
|
ToolStripMenuItem item = (ToolStripMenuItem)sender;
|
|
|
|
|
viewstats = (ViewStats)int.Parse(item.Tag.ToString(), CultureInfo.InvariantCulture);
|
|
|
|
|
item.Checked = true;
|
|
|
|
|
statsbutton.Image = item.Image;
|
|
|
|
|
|
|
|
|
|
General.Interface.RedrawDisplay();
|
|
|
|
|
}
|
|
|
|
|
|
2014-09-11 11:51:02 +00:00
|
|
|
|
//mxd
|
|
|
|
|
private void cbheatmap_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
General.Interface.RedrawDisplay();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//mxd
|
|
|
|
|
private void cbopendoors_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
2016-09-22 20:24:32 +00:00
|
|
|
|
if(OnOpenDoorsChanged != null) OnOpenDoorsChanged(this, EventArgs.Empty);
|
2014-09-11 11:51:02 +00:00
|
|
|
|
}
|
|
|
|
|
|
2012-06-01 19:53:14 +00:00
|
|
|
|
#endregion
|
|
|
|
|
}
|
|
|
|
|
}
|