ZoneBuilder/Source/Plugins/VisplaneExplorer/InterfaceForm.cs

125 lines
2.9 KiB
C#

#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
{
public partial class InterfaceForm : DelayedForm
{
#region ================== Constants
#endregion
#region ================== Variables
private ViewStats viewstats;
private static bool opendoors; //mxd
private static bool showheatmap; //mxd
private Point oldttposition;
#endregion
#region ================== Properties
internal ViewStats ViewStats { get { return viewstats; } }
internal bool OpenDoors { get { return opendoors; } } //mxd
internal bool ShowHeatmap { get { return showheatmap; } } //mxd
#endregion
#region ================== Constructor / Destructor
// Constructor
public InterfaceForm()
{
InitializeComponent();
cbopendoors.Checked = opendoors; //mxd
cbheatmap.Checked = showheatmap; //mxd
}
#endregion
#region ================== Methods
// This adds the buttons to the toolbar
public void AddToInterface()
{
General.Interface.AddButton(statsbutton);
General.Interface.AddButton(separator); //mxd
General.Interface.AddButton(cbopendoors); //mxd
General.Interface.AddButton(cbheatmap); //mxd
}
// This removes the buttons from the toolbar
public void RemoveFromInterface()
{
General.Interface.RemoveButton(cbheatmap); //mxd
General.Interface.RemoveButton(cbopendoors); //mxd
General.Interface.RemoveButton(separator); //mxd
General.Interface.RemoveButton(statsbutton);
}
// 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);
if(oldttposition != tp)
{
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();
}
//mxd
private void cbheatmap_Click(object sender, EventArgs e)
{
showheatmap = cbheatmap.Checked;
General.Interface.RedrawDisplay();
}
//mxd
private void cbopendoors_Click(object sender, EventArgs e)
{
opendoors = cbopendoors.Checked;
// Restart processing
BuilderPlug.VPO.Restart();
General.Interface.RedrawDisplay();
}
#endregion
}
}