mirror of https://github.com/ArduPilot/ardupilot
112 lines
3.2 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|