mirror of https://github.com/ArduPilot/ardupilot
170 lines
7.2 KiB
C#
170 lines
7.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
using System.Xml;
|
|
|
|
namespace ArdupilotMega
|
|
{
|
|
public partial class Gentemp : Form
|
|
{
|
|
public Gentemp()
|
|
{
|
|
InitializeComponent();
|
|
|
|
string item = "";
|
|
string name = "";
|
|
int locx = 0;
|
|
int locy = 0;
|
|
int sizeh = 0;
|
|
int sizew = 0;
|
|
string text = "";
|
|
string tooltip = "";
|
|
string parent = "";
|
|
string type = "";
|
|
|
|
|
|
XmlTextReader scriptXmlReader = new XmlTextReader("APM_config_screen.xml");
|
|
scriptXmlReader.WhitespaceHandling = WhitespaceHandling.None;
|
|
|
|
while (scriptXmlReader.Read())
|
|
{
|
|
switch (scriptXmlReader.NodeType)
|
|
{
|
|
case XmlNodeType.Element:
|
|
item = scriptXmlReader.Name;
|
|
break;
|
|
|
|
case XmlNodeType.Text:
|
|
switch (item)
|
|
{
|
|
case "Name":
|
|
name = scriptXmlReader.Value;
|
|
break;
|
|
case "Location.X":
|
|
locx = int.Parse(scriptXmlReader.Value);
|
|
break;
|
|
case "Location.Y":
|
|
locy = int.Parse(scriptXmlReader.Value);
|
|
break;
|
|
case "Size.Width":
|
|
sizew = int.Parse(scriptXmlReader.Value);
|
|
break;
|
|
case "Size.Height":
|
|
sizeh = int.Parse(scriptXmlReader.Value);
|
|
break;
|
|
case "Text":
|
|
text = scriptXmlReader.Value;
|
|
break;
|
|
case "ToolTip":
|
|
tooltip = scriptXmlReader.Value;
|
|
break;
|
|
case "Parent":
|
|
parent = scriptXmlReader.Value;
|
|
break;
|
|
case "Type":
|
|
type = scriptXmlReader.Value;
|
|
break;
|
|
}
|
|
break;
|
|
|
|
case XmlNodeType.EndElement:
|
|
item = scriptXmlReader.Name;
|
|
if (item == "Object")
|
|
{
|
|
switch (type) {
|
|
case "System.Windows.Forms.Button":
|
|
Button but = new Button();
|
|
but.Parent = FindControlByName(parent);
|
|
but.Name = name;
|
|
but.Text = text;
|
|
but.Size = new Size(sizew,sizeh);
|
|
but.Location = new Point(locx,locy);
|
|
but.Parent.Controls.Add(but);
|
|
break;
|
|
case "System.Windows.Forms.Label":
|
|
Label lbl = new Label();
|
|
lbl.Parent = FindControlByName(parent);
|
|
lbl.Name = name;
|
|
lbl.Text = text;
|
|
lbl.Size = new Size(sizew, sizeh);
|
|
lbl.Location = new Point(locx, locy);
|
|
|
|
lbl.Parent.Controls.Add(lbl);
|
|
break;
|
|
case "System.Windows.Forms.GroupBox":
|
|
GroupBox Grp = new GroupBox();
|
|
Grp.Parent = FindControlByName(parent);
|
|
Grp.Name = name;
|
|
Grp.Text = text;
|
|
Grp.Size = new Size(sizew, sizeh);
|
|
Grp.Location = new Point(locx, locy);
|
|
|
|
Grp.Parent.Controls.Add(Grp);
|
|
break;
|
|
case "System.Windows.Forms.TextBox":
|
|
TextBox TXT = new TextBox();
|
|
TXT.Parent = FindControlByName(parent);
|
|
TXT.Name = name;
|
|
TXT.Text = text;
|
|
TXT.Size = new Size(sizew, sizeh);
|
|
TXT.Location = new Point(locx, locy);
|
|
|
|
TXT.Parent.Controls.Add(TXT);
|
|
break;
|
|
case "System.Windows.Forms.CheckBox":
|
|
CheckBox CHK = new CheckBox();
|
|
CHK.Parent = FindControlByName(parent);
|
|
CHK.Name = name;
|
|
CHK.Text = text;
|
|
CHK.Size = new Size(sizew, sizeh);
|
|
CHK.Location = new Point(locx, locy);
|
|
|
|
CHK.Parent.Controls.Add(CHK);
|
|
break;
|
|
case "System.Windows.Forms.DomainUpDown":
|
|
DomainUpDown DUD = new DomainUpDown();
|
|
DUD.Parent = FindControlByName(parent);
|
|
DUD.Name = name;
|
|
DUD.Text = text;
|
|
DUD.Size = new Size(sizew, sizeh);
|
|
DUD.Location = new Point(locx, locy);
|
|
|
|
DUD.Parent.Controls.Add(DUD);
|
|
break;
|
|
case "System.Windows.Forms.ComboBox":
|
|
ComboBox CMB = new ComboBox();
|
|
CMB.Parent = FindControlByName(parent);
|
|
CMB.Name = name;
|
|
CMB.Text = text;
|
|
CMB.Size = new Size(sizew, sizeh);
|
|
CMB.Location = new Point(locx, locy);
|
|
|
|
CMB.Parent.Controls.Add(CMB);
|
|
break;
|
|
}
|
|
}
|
|
break;
|
|
|
|
default:
|
|
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
private Control FindControlByName(string name)
|
|
{
|
|
foreach (Control c in this.Controls)
|
|
{
|
|
if (c.Name == name)
|
|
return c;
|
|
}
|
|
return this;
|
|
}
|
|
}
|
|
}
|