ardupilot/Tools/ArdupilotMegaPlanner/Controls/QuickView.cs
Michael Oborne 919d0ac8fd Mission Planner 1.2.23
ammend serial dispose on usb devices detach
add item currentstate item description and units
ammend battery screen for 3dr power module
add trackbar zoom to flight data
add unit desccription
ammend PREFLIGHT_REBOOT_SHUTDOWN timeout
2012-11-27 22:19:59 +08:00

112 lines
3.2 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace ArdupilotMega.Controls
{
public partial class QuickView : UserControl
{
[System.ComponentModel.Browsable(true)]
public string desc
{
get
{
return labelWithPseudoOpacity1.Text;
}
set
{
if (labelWithPseudoOpacity1.Text == value)
return;
labelWithPseudoOpacity1.Text = value;
}
}
[System.ComponentModel.Browsable(true)]
public double number { get { return double.Parse(labelWithPseudoOpacity2.Text); }
set {
string ans = (value).ToString("0.00");
if (labelWithPseudoOpacity2.Text == ans)
return;
labelWithPseudoOpacity2.Text = ans;
GetFontSize();
}
}
[System.ComponentModel.Browsable(true)]
public Color numberColor { get { return labelWithPseudoOpacity2.ForeColor; } set { if (labelWithPseudoOpacity2.ForeColor == value) return; labelWithPseudoOpacity2.ForeColor = value; } }
public QuickView()
{
InitializeComponent();
labelWithPseudoOpacity1.DoubleClick += new EventHandler(labelWithPseudoOpacity1_DoubleClick);
labelWithPseudoOpacity2.DoubleClick += new EventHandler(labelWithPseudoOpacity2_DoubleClick);
labelWithPseudoOpacity2.DoubleBuffered = true;
}
void labelWithPseudoOpacity2_DoubleClick(object sender, EventArgs e)
{
this.OnDoubleClick(e);
}
void labelWithPseudoOpacity1_DoubleClick(object sender, EventArgs e)
{
this.OnDoubleClick(e);
}
public override void Refresh()
{
if (this.Visible)
base.Refresh();
}
protected override void OnInvalidated(InvalidateEventArgs e)
{
if (this.Visible)
base.OnInvalidated(e);
}
protected override void OnPaint(PaintEventArgs e)
{
if (this.Visible)
base.OnPaint(e);
}
void GetFontSize()
{
Size extent = TextRenderer.MeasureText(labelWithPseudoOpacity2.Text, this.Font);
float hRatio = (labelWithPseudoOpacity2.Height) / (float)(extent.Height);
float wRatio = this.Width / (float)extent.Width;
float ratio = (hRatio < wRatio) ? hRatio : wRatio;
float newSize = this.Font.Size * ratio;
if (newSize < 8)
newSize = 8;
//return newSize;
labelWithPseudoOpacity2.Font = new Font(labelWithPseudoOpacity2.Font.FontFamily, newSize - 2, labelWithPseudoOpacity2.Font.Style);
extent = TextRenderer.MeasureText(labelWithPseudoOpacity2.Text, labelWithPseudoOpacity2.Font);
}
protected override void OnResize(EventArgs e)
{
this.ResizeRedraw = true;
GetFontSize();
base.OnResize(e);
}
}
}