Files
CydandClaude Opus 4.8 548550b312 Initial commit: TeslaSuite monorepo (TeslaConsole + TeslaLauncher)
Co-locate the two cockpit-pod projects into a single repository:

- Console/  : TeslaConsole, the net48 WinForms operator console (decompiled
              reconstruction) plus its differential + catalog test suite.
- Launcher/ : TeslaLauncher, the net6 pod-side Service + Agent rewrite.

Adds a combined TeslaSuite.sln, root README documenting the shared wire
contract (and its current duplication, the main follow-up), and a root
.gitignore. Histories were not preserved per request; this is a fresh start
from the current working state of both projects.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 14:43:28 -05:00

677 lines
26 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Net;
using System.Net.NetworkInformation;
using System.Net.Sockets;
using System.Text;
using System.Windows.Forms;
namespace TeslaConsole;
internal class SetupPod : Form
{
private Pod mPod;
private Pod[] mKnownPods;
private IContainer components;
private Label lblMacAddress;
private TextBox txtMacAddress;
private TextBox txtIPAddress;
private Label lblIPAddress;
private GroupBox gbNetwork;
private TextBox txtSubnet;
private Label lblSubnet;
private TextBox txtDNS;
private Label lblDNS;
private Label lblGateway;
private TextBox txtGateway;
private TextBox txtPodId;
private Label lblPodId;
private TextBox txtPodName;
private Label lblPodName;
private Label lblPodType;
private ComboBox cmbPodType;
private Button cmdCancel;
private Button cmdOK;
private ErrorProvider errProvider;
private TextBox txtPassphrase;
private Label lblPassphrase;
private ComboBox cmbSquad;
private Label lblSquad;
private Label lblHostName;
private TextBox txtHostName;
private TableLayoutPanel tblMain;
private TableLayoutPanel tblButtons;
private TableLayoutPanel tblNetwork;
public Pod Pod
{
get
{
mPod.Name = txtPodName.Text;
mPod.HostType = ((HostTypeHelper)cmbPodType.SelectedItem).HostType;
mPod.IPAddress = IPAddress.Parse(txtIPAddress.Text);
mPod.Subnet = IPAddress.Parse(txtSubnet.Text);
if (string.IsNullOrEmpty(txtGateway.Text))
{
mPod.Gateway = IPAddress.Any;
}
else
{
mPod.Gateway = IPAddress.Parse(txtGateway.Text);
}
if (string.IsNullOrEmpty(txtDNS.Text))
{
mPod.DNS = IPAddress.Any;
}
else
{
mPod.DNS = IPAddress.Parse(txtDNS.Text);
}
mPod.HostName = txtHostName.Text;
return mPod;
}
private set
{
mPod = value;
txtPodName.Text = mPod.Name;
cmbPodType.SelectedItem = (HostTypeHelper)mPod.HostType;
txtPodId.Text = mPod.ID.ToString();
txtMacAddress.Text = MacAddressToString(mPod.MacAddress);
txtIPAddress.Text = (mPod.IPAddress.Equals(IPAddress.Any) ? "" : mPod.IPAddress.ToString());
txtSubnet.Text = (mPod.IPAddress.Equals(IPAddress.Any) ? "" : mPod.Subnet.ToString());
txtGateway.Text = ((mPod.Gateway == IPAddress.Any) ? "" : mPod.Gateway.ToString());
txtDNS.Text = ((mPod.DNS == IPAddress.Any) ? "" : mPod.DNS.ToString());
txtHostName.Text = mPod.HostName;
}
}
public Squad Squad => (Squad)cmbSquad.SelectedItem;
public string Passphrase => txtPassphrase.Text;
internal SetupPod(string requestId, Pod pod, List<Squad> squads)
{
InitializeComponent();
cmbPodType.Items.Add((HostTypeHelper)HostType.GameMachineHostType);
cmbPodType.Items.Add((HostTypeHelper)HostType.MissionReviewHostType);
Text = "Configure Pod - " + requestId;
Pod = pod;
cmbSquad.Items.Add(new Squad(Guid.Empty, "<new squad>"));
List<Pod> list = new List<Pod>();
foreach (Squad squad in squads)
{
cmbSquad.Items.Add(squad);
foreach (Pod pod2 in squad.Pods)
{
list.Add(pod2);
}
}
cmbSquad.SelectedIndex = ((cmbSquad.Items.Count > 1) ? 1 : 0);
mKnownPods = list.ToArray();
}
private string MacAddressToString(byte[] macAddress)
{
if (macAddress.Length < 1)
{
return string.Empty;
}
StringBuilder stringBuilder = new StringBuilder(macAddress.Length * 3 - 1);
stringBuilder.Append(macAddress[0].ToString("X2"));
for (int i = 1; i < macAddress.Length; i++)
{
stringBuilder.Append('-');
stringBuilder.Append(macAddress[i].ToString("X2"));
}
return stringBuilder.ToString();
}
private void txtPassphrase_TextChanged(object sender, EventArgs e)
{
int selectionStart = txtPassphrase.SelectionStart;
int selectionLength = txtPassphrase.SelectionLength;
txtPassphrase.Text = txtPassphrase.Text.ToUpper();
txtPassphrase.Select(selectionStart, selectionLength);
}
private void txtPassphrase_Validating(object sender, CancelEventArgs e)
{
errProvider.SetError(txtPassphrase, "");
if (txtPassphrase.Enabled && txtPassphrase.Text.Length != 5)
{
errProvider.SetError(txtPassphrase, "The passphrase is invalid.");
e.Cancel = true;
}
}
private void txtPodName_Validating(object sender, CancelEventArgs e)
{
errProvider.SetError(txtPodName, "");
if (string.IsNullOrEmpty(txtPodName.Text))
{
errProvider.SetError(txtPodName, "Pod must be given a name.");
e.Cancel = true;
}
}
private bool CheckIpTextBox(TextBox textbox, bool required, CancelEventArgs e, out IPAddress address)
{
if (string.IsNullOrEmpty(textbox.Text))
{
if (required)
{
errProvider.SetError(textbox, "You must enter a valid address.");
e.Cancel = true;
}
else
{
errProvider.SetError(textbox, "");
}
address = null;
return false;
}
if (!IPAddress.TryParse(textbox.Text, out address) || address.ToString() != textbox.Text || address.Equals(IPAddress.Any) || address.Equals(IPAddress.Broadcast))
{
errProvider.SetError(textbox, "You must enter a valid address.");
e.Cancel = true;
address = null;
return false;
}
errProvider.SetError(textbox, "");
return true;
}
private void ValidateRequiredIP(object sender, CancelEventArgs e)
{
CheckIpTextBox((TextBox)sender, required: true, e, out var _);
}
private void ValidateOptionalIP(object sender, CancelEventArgs e)
{
CheckIpTextBox((TextBox)sender, required: false, e, out var _);
}
private void txtIPAddress_Validating(object sender, CancelEventArgs e)
{
if (!CheckIpTextBox((TextBox)sender, required: true, e, out var address))
{
return;
}
Pod[] array = mKnownPods;
foreach (Pod pod in array)
{
if (pod.IPAddress.Equals(address))
{
errProvider.SetError((TextBox)sender, "The specified address is already in use.");
e.Cancel = true;
break;
}
}
}
private void txtHostName_Validating(object sender, CancelEventArgs e)
{
errProvider.SetError(txtHostName, "");
if (string.IsNullOrEmpty(txtHostName.Text))
{
errProvider.SetError(txtHostName, "Pod must be given a host name.");
e.Cancel = true;
return;
}
if (txtHostName.Text.Length > 63)
{
errProvider.SetError(txtHostName, "The host name may not be longer than 63 characters.");
e.Cancel = true;
return;
}
string text = txtHostName.Text;
foreach (char c in text)
{
if ((c < '0' || c > '9') && (c < 'a' || c > 'z') && (c < 'A' || c > 'Z') && c != '-' && c != '_')
{
errProvider.SetError(txtHostName, "The host name may only contain ASCII letters and number or the dash and underscore characters.");
e.Cancel = true;
return;
}
}
Pod[] array = mKnownPods;
foreach (Pod pod in array)
{
if (pod.HostName.Equals(txtHostName.Text, StringComparison.OrdinalIgnoreCase))
{
errProvider.SetError((TextBox)sender, "The specified host name is already in use.");
e.Cancel = true;
break;
}
}
}
private void cmdOK_Click(object sender, EventArgs e)
{
if (!ValidateChildren())
{
return;
}
IPAddress iPAddress = IPAddress.Parse(txtIPAddress.Text);
IPAddress obj = IPAddress.Parse(txtSubnet.Text);
if (iPAddress.AddressFamily == AddressFamily.InterNetwork)
{
uint num = BitConverter.ToUInt32(iPAddress.GetAddressBytes(), 0);
bool flag = false;
bool flag2 = false;
try
{
NetworkInterface[] allNetworkInterfaces = NetworkInterface.GetAllNetworkInterfaces();
foreach (NetworkInterface networkInterface in allNetworkInterfaces)
{
try
{
foreach (UnicastIPAddressInformation unicastAddress in networkInterface.GetIPProperties().UnicastAddresses)
{
try
{
if (unicastAddress.Address.AddressFamily != AddressFamily.InterNetwork || unicastAddress.IPv4Mask == null)
{
continue;
}
uint num2 = BitConverter.ToUInt32(unicastAddress.Address.GetAddressBytes(), 0);
uint num3 = BitConverter.ToUInt32(unicastAddress.IPv4Mask.GetAddressBytes(), 0);
if ((num2 & num3) == (num & num3))
{
flag = true;
if (unicastAddress.IPv4Mask.Equals(obj))
{
flag2 = true;
}
}
}
catch (Exception)
{
}
}
}
catch (Exception)
{
}
}
}
catch (Exception)
{
}
if ((!flag && MessageBox.Show("The specified IP Address does not appear to be on any network directly attached to this console. Are you sure it is correct?", "IP Address Not Local", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) || (!flag2 && MessageBox.Show("The specified Subnet Mask does not match the subnet mask specified for this console. Are you sure it is correct?", "Subnet Mask Mismatch", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No))
{
return;
}
}
base.DialogResult = DialogResult.OK;
}
protected override void Dispose(bool disposing)
{
if (disposing && components != null)
{
components.Dispose();
}
base.Dispose(disposing);
}
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.lblMacAddress = new System.Windows.Forms.Label();
this.txtMacAddress = new System.Windows.Forms.TextBox();
this.txtIPAddress = new System.Windows.Forms.TextBox();
this.lblIPAddress = new System.Windows.Forms.Label();
this.gbNetwork = new System.Windows.Forms.GroupBox();
this.lblHostName = new System.Windows.Forms.Label();
this.txtHostName = new System.Windows.Forms.TextBox();
this.txtGateway = new System.Windows.Forms.TextBox();
this.txtDNS = new System.Windows.Forms.TextBox();
this.lblDNS = new System.Windows.Forms.Label();
this.lblGateway = new System.Windows.Forms.Label();
this.txtSubnet = new System.Windows.Forms.TextBox();
this.lblSubnet = new System.Windows.Forms.Label();
this.txtPodId = new System.Windows.Forms.TextBox();
this.lblPodId = new System.Windows.Forms.Label();
this.txtPodName = new System.Windows.Forms.TextBox();
this.lblPodName = new System.Windows.Forms.Label();
this.lblPodType = new System.Windows.Forms.Label();
this.cmbPodType = new System.Windows.Forms.ComboBox();
this.cmdCancel = new System.Windows.Forms.Button();
this.cmdOK = new System.Windows.Forms.Button();
this.errProvider = new System.Windows.Forms.ErrorProvider(this.components);
this.txtPassphrase = new System.Windows.Forms.TextBox();
this.lblPassphrase = new System.Windows.Forms.Label();
this.cmbSquad = new System.Windows.Forms.ComboBox();
this.lblSquad = new System.Windows.Forms.Label();
this.tblMain = new System.Windows.Forms.TableLayoutPanel();
this.tblButtons = new System.Windows.Forms.TableLayoutPanel();
this.tblNetwork = new System.Windows.Forms.TableLayoutPanel();
this.gbNetwork.SuspendLayout();
((System.ComponentModel.ISupportInitialize)this.errProvider).BeginInit();
this.tblMain.SuspendLayout();
this.tblButtons.SuspendLayout();
this.tblNetwork.SuspendLayout();
base.SuspendLayout();
this.lblMacAddress.Anchor = System.Windows.Forms.AnchorStyles.Right;
this.lblMacAddress.AutoSize = true;
this.lblMacAddress.Location = new System.Drawing.Point(18, 6);
this.lblMacAddress.Name = "lblMacAddress";
this.lblMacAddress.Size = new System.Drawing.Size(74, 13);
this.lblMacAddress.TabIndex = 0;
this.lblMacAddress.Text = "MAC Address:";
this.txtMacAddress.Anchor = System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right;
this.txtMacAddress.Location = new System.Drawing.Point(98, 3);
this.txtMacAddress.Margin = new System.Windows.Forms.Padding(3, 3, 30, 3);
this.txtMacAddress.Name = "txtMacAddress";
this.txtMacAddress.ReadOnly = true;
this.txtMacAddress.Size = new System.Drawing.Size(154, 20);
this.txtMacAddress.TabIndex = 1;
this.txtMacAddress.TabStop = false;
this.txtIPAddress.Anchor = System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right;
this.txtIPAddress.Location = new System.Drawing.Point(98, 29);
this.txtIPAddress.Margin = new System.Windows.Forms.Padding(3, 3, 30, 3);
this.txtIPAddress.Name = "txtIPAddress";
this.txtIPAddress.Size = new System.Drawing.Size(154, 20);
this.txtIPAddress.TabIndex = 3;
this.txtIPAddress.Validating += new System.ComponentModel.CancelEventHandler(txtIPAddress_Validating);
this.lblIPAddress.Anchor = System.Windows.Forms.AnchorStyles.Right;
this.lblIPAddress.AutoSize = true;
this.lblIPAddress.Location = new System.Drawing.Point(31, 32);
this.lblIPAddress.Name = "lblIPAddress";
this.lblIPAddress.Size = new System.Drawing.Size(61, 13);
this.lblIPAddress.TabIndex = 2;
this.lblIPAddress.Text = "IP Address:";
this.gbNetwork.AutoSize = true;
this.tblMain.SetColumnSpan(this.gbNetwork, 2);
this.gbNetwork.Controls.Add(this.tblNetwork);
this.gbNetwork.Dock = System.Windows.Forms.DockStyle.Fill;
this.gbNetwork.Location = new System.Drawing.Point(3, 135);
this.gbNetwork.Name = "gbNetwork";
this.gbNetwork.Size = new System.Drawing.Size(288, 175);
this.gbNetwork.TabIndex = 11;
this.gbNetwork.TabStop = false;
this.gbNetwork.Text = "Network Setup";
this.lblHostName.Anchor = System.Windows.Forms.AnchorStyles.Right;
this.lblHostName.AutoSize = true;
this.lblHostName.Location = new System.Drawing.Point(29, 136);
this.lblHostName.Name = "lblHostName";
this.lblHostName.Size = new System.Drawing.Size(63, 13);
this.lblHostName.TabIndex = 11;
this.lblHostName.Text = "Host Name:";
this.txtHostName.Anchor = System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right;
this.txtHostName.Location = new System.Drawing.Point(98, 133);
this.txtHostName.Margin = new System.Windows.Forms.Padding(3, 3, 30, 3);
this.txtHostName.Name = "txtHostName";
this.txtHostName.Size = new System.Drawing.Size(154, 20);
this.txtHostName.TabIndex = 10;
this.txtHostName.Validating += new System.ComponentModel.CancelEventHandler(txtHostName_Validating);
this.txtGateway.Anchor = System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right;
this.txtGateway.Location = new System.Drawing.Point(98, 81);
this.txtGateway.Margin = new System.Windows.Forms.Padding(3, 3, 30, 3);
this.txtGateway.Name = "txtGateway";
this.txtGateway.Size = new System.Drawing.Size(154, 20);
this.txtGateway.TabIndex = 7;
this.txtGateway.Validating += new System.ComponentModel.CancelEventHandler(ValidateOptionalIP);
this.txtDNS.Anchor = System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right;
this.txtDNS.Location = new System.Drawing.Point(98, 107);
this.txtDNS.Margin = new System.Windows.Forms.Padding(3, 3, 30, 3);
this.txtDNS.Name = "txtDNS";
this.txtDNS.Size = new System.Drawing.Size(154, 20);
this.txtDNS.TabIndex = 9;
this.txtDNS.Validating += new System.ComponentModel.CancelEventHandler(ValidateOptionalIP);
this.lblDNS.Anchor = System.Windows.Forms.AnchorStyles.Right;
this.lblDNS.AutoSize = true;
this.lblDNS.Location = new System.Drawing.Point(25, 110);
this.lblDNS.Name = "lblDNS";
this.lblDNS.Size = new System.Drawing.Size(67, 13);
this.lblDNS.TabIndex = 8;
this.lblDNS.Text = "DNS Server:";
this.lblGateway.Anchor = System.Windows.Forms.AnchorStyles.Right;
this.lblGateway.AutoSize = true;
this.lblGateway.Location = new System.Drawing.Point(3, 84);
this.lblGateway.Name = "lblGateway";
this.lblGateway.Size = new System.Drawing.Size(89, 13);
this.lblGateway.TabIndex = 6;
this.lblGateway.Text = "Default Gateway:";
this.txtSubnet.Anchor = System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right;
this.txtSubnet.Location = new System.Drawing.Point(98, 55);
this.txtSubnet.Margin = new System.Windows.Forms.Padding(3, 3, 30, 3);
this.txtSubnet.Name = "txtSubnet";
this.txtSubnet.Size = new System.Drawing.Size(154, 20);
this.txtSubnet.TabIndex = 5;
this.txtSubnet.Validating += new System.ComponentModel.CancelEventHandler(ValidateRequiredIP);
this.lblSubnet.Anchor = System.Windows.Forms.AnchorStyles.Right;
this.lblSubnet.AutoSize = true;
this.lblSubnet.Location = new System.Drawing.Point(19, 58);
this.lblSubnet.Name = "lblSubnet";
this.lblSubnet.Size = new System.Drawing.Size(73, 13);
this.lblSubnet.TabIndex = 4;
this.lblSubnet.Text = "Subnet Mask:";
this.txtPodId.Anchor = System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right;
this.txtPodId.Location = new System.Drawing.Point(74, 3);
this.txtPodId.Margin = new System.Windows.Forms.Padding(3, 3, 30, 3);
this.txtPodId.Name = "txtPodId";
this.txtPodId.ReadOnly = true;
this.txtPodId.Size = new System.Drawing.Size(190, 20);
this.txtPodId.TabIndex = 1;
this.txtPodId.TabStop = false;
this.txtPodId.Text = "{1AD57794-BD4B-4593-B1FC-B7C0F5DF360D}";
this.lblPodId.Anchor = System.Windows.Forms.AnchorStyles.Right;
this.lblPodId.AutoSize = true;
this.lblPodId.Location = new System.Drawing.Point(25, 6);
this.lblPodId.Name = "lblPodId";
this.lblPodId.Size = new System.Drawing.Size(43, 13);
this.lblPodId.TabIndex = 0;
this.lblPodId.Text = "Pod ID:";
this.txtPodName.Anchor = System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right;
this.txtPodName.Location = new System.Drawing.Point(74, 29);
this.txtPodName.Margin = new System.Windows.Forms.Padding(3, 3, 30, 3);
this.txtPodName.Name = "txtPodName";
this.txtPodName.Size = new System.Drawing.Size(190, 20);
this.txtPodName.TabIndex = 3;
this.txtPodName.Validating += new System.ComponentModel.CancelEventHandler(txtPodName_Validating);
this.lblPodName.Anchor = System.Windows.Forms.AnchorStyles.Right;
this.lblPodName.AutoSize = true;
this.lblPodName.Location = new System.Drawing.Point(30, 32);
this.lblPodName.Name = "lblPodName";
this.lblPodName.Size = new System.Drawing.Size(38, 13);
this.lblPodName.TabIndex = 2;
this.lblPodName.Text = "Name:";
this.lblPodType.Anchor = System.Windows.Forms.AnchorStyles.Right;
this.lblPodType.AutoSize = true;
this.lblPodType.Location = new System.Drawing.Point(34, 59);
this.lblPodType.Name = "lblPodType";
this.lblPodType.Size = new System.Drawing.Size(34, 13);
this.lblPodType.TabIndex = 4;
this.lblPodType.Text = "Type:";
this.cmbPodType.Anchor = System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right;
this.cmbPodType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmbPodType.FormattingEnabled = true;
this.cmbPodType.Location = new System.Drawing.Point(74, 55);
this.cmbPodType.Margin = new System.Windows.Forms.Padding(3, 3, 30, 3);
this.cmbPodType.Name = "cmbPodType";
this.cmbPodType.Size = new System.Drawing.Size(190, 21);
this.cmbPodType.TabIndex = 5;
this.cmdCancel.Anchor = System.Windows.Forms.AnchorStyles.Right;
this.cmdCancel.CausesValidation = false;
this.cmdCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.cmdCancel.Location = new System.Drawing.Point(216, 3);
this.cmdCancel.Name = "cmdCancel";
this.cmdCancel.Size = new System.Drawing.Size(75, 23);
this.cmdCancel.TabIndex = 13;
this.cmdCancel.Text = "Cancel";
this.cmdCancel.UseVisualStyleBackColor = true;
this.cmdOK.Anchor = System.Windows.Forms.AnchorStyles.Right;
this.cmdOK.Location = new System.Drawing.Point(135, 3);
this.cmdOK.Name = "cmdOK";
this.cmdOK.Size = new System.Drawing.Size(75, 23);
this.cmdOK.TabIndex = 12;
this.cmdOK.Text = "OK";
this.cmdOK.UseVisualStyleBackColor = true;
this.cmdOK.Click += new System.EventHandler(cmdOK_Click);
this.errProvider.BlinkStyle = System.Windows.Forms.ErrorBlinkStyle.NeverBlink;
this.errProvider.ContainerControl = this;
this.txtPassphrase.Anchor = System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right;
this.txtPassphrase.Location = new System.Drawing.Point(74, 109);
this.txtPassphrase.Margin = new System.Windows.Forms.Padding(3, 3, 30, 3);
this.txtPassphrase.MaxLength = 5;
this.txtPassphrase.Name = "txtPassphrase";
this.txtPassphrase.Size = new System.Drawing.Size(190, 20);
this.txtPassphrase.TabIndex = 9;
this.txtPassphrase.TextChanged += new System.EventHandler(txtPassphrase_TextChanged);
this.txtPassphrase.Validating += new System.ComponentModel.CancelEventHandler(txtPassphrase_Validating);
this.lblPassphrase.Anchor = System.Windows.Forms.AnchorStyles.Right;
this.lblPassphrase.AutoSize = true;
this.lblPassphrase.Location = new System.Drawing.Point(3, 112);
this.lblPassphrase.Name = "lblPassphrase";
this.lblPassphrase.Size = new System.Drawing.Size(65, 13);
this.lblPassphrase.TabIndex = 8;
this.lblPassphrase.Text = "Passphrase:";
this.cmbSquad.Anchor = System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right;
this.cmbSquad.DisplayMember = "Name";
this.cmbSquad.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmbSquad.FormattingEnabled = true;
this.cmbSquad.Location = new System.Drawing.Point(74, 82);
this.cmbSquad.Margin = new System.Windows.Forms.Padding(3, 3, 30, 3);
this.cmbSquad.Name = "cmbSquad";
this.cmbSquad.Size = new System.Drawing.Size(190, 21);
this.cmbSquad.TabIndex = 7;
this.lblSquad.Anchor = System.Windows.Forms.AnchorStyles.Right;
this.lblSquad.AutoSize = true;
this.lblSquad.Location = new System.Drawing.Point(27, 86);
this.lblSquad.Name = "lblSquad";
this.lblSquad.Size = new System.Drawing.Size(41, 13);
this.lblSquad.TabIndex = 6;
this.lblSquad.Text = "Squad:";
this.tblMain.ColumnCount = 2;
this.tblMain.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
this.tblMain.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100f));
this.tblMain.Controls.Add(this.lblPodId, 0, 0);
this.tblMain.Controls.Add(this.txtPodId, 1, 0);
this.tblMain.Controls.Add(this.lblPodName, 0, 1);
this.tblMain.Controls.Add(this.txtPodName, 1, 1);
this.tblMain.Controls.Add(this.lblPodType, 0, 2);
this.tblMain.Controls.Add(this.cmbPodType, 1, 2);
this.tblMain.Controls.Add(this.lblSquad, 0, 3);
this.tblMain.Controls.Add(this.cmbSquad, 1, 3);
this.tblMain.Controls.Add(this.lblPassphrase, 0, 4);
this.tblMain.Controls.Add(this.txtPassphrase, 1, 4);
this.tblMain.Controls.Add(this.gbNetwork, 0, 5);
this.tblMain.Controls.Add(this.tblButtons, 0, 7);
this.tblMain.Dock = System.Windows.Forms.DockStyle.Fill;
this.tblMain.Location = new System.Drawing.Point(0, 0);
this.tblMain.Name = "tblMain";
this.tblMain.RowCount = 8;
this.tblMain.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tblMain.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tblMain.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tblMain.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tblMain.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tblMain.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tblMain.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100f));
this.tblMain.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tblMain.Size = new System.Drawing.Size(294, 347);
this.tblMain.TabIndex = 14;
this.tblButtons.AutoSize = true;
this.tblButtons.ColumnCount = 2;
this.tblMain.SetColumnSpan(this.tblButtons, 2);
this.tblButtons.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100f));
this.tblButtons.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
this.tblButtons.Controls.Add(this.cmdOK, 0, 0);
this.tblButtons.Controls.Add(this.cmdCancel, 1, 0);
this.tblButtons.Dock = System.Windows.Forms.DockStyle.Fill;
this.tblButtons.Location = new System.Drawing.Point(0, 318);
this.tblButtons.Margin = new System.Windows.Forms.Padding(0);
this.tblButtons.Name = "tblButtons";
this.tblButtons.RowCount = 1;
this.tblButtons.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100f));
this.tblButtons.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20f));
this.tblButtons.Size = new System.Drawing.Size(294, 29);
this.tblButtons.TabIndex = 12;
this.tblNetwork.AutoSize = true;
this.tblNetwork.ColumnCount = 2;
this.tblNetwork.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
this.tblNetwork.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100f));
this.tblNetwork.Controls.Add(this.lblMacAddress, 0, 0);
this.tblNetwork.Controls.Add(this.txtMacAddress, 1, 0);
this.tblNetwork.Controls.Add(this.lblIPAddress, 0, 1);
this.tblNetwork.Controls.Add(this.txtIPAddress, 1, 1);
this.tblNetwork.Controls.Add(this.lblSubnet, 0, 2);
this.tblNetwork.Controls.Add(this.txtSubnet, 1, 2);
this.tblNetwork.Controls.Add(this.lblGateway, 0, 3);
this.tblNetwork.Controls.Add(this.txtGateway, 1, 3);
this.tblNetwork.Controls.Add(this.lblDNS, 0, 4);
this.tblNetwork.Controls.Add(this.txtDNS, 1, 4);
this.tblNetwork.Controls.Add(this.lblHostName, 0, 5);
this.tblNetwork.Controls.Add(this.txtHostName, 1, 5);
this.tblNetwork.Dock = System.Windows.Forms.DockStyle.Fill;
this.tblNetwork.Location = new System.Drawing.Point(3, 16);
this.tblNetwork.Margin = new System.Windows.Forms.Padding(0);
this.tblNetwork.Name = "tblNetwork";
this.tblNetwork.RowCount = 6;
this.tblNetwork.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tblNetwork.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tblNetwork.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tblNetwork.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tblNetwork.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tblNetwork.RowStyles.Add(new System.Windows.Forms.RowStyle());
this.tblNetwork.Size = new System.Drawing.Size(282, 156);
this.tblNetwork.TabIndex = 12;
base.AcceptButton = this.cmdOK;
base.AutoScaleDimensions = new System.Drawing.SizeF(6f, 13f);
base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.AutoValidate = System.Windows.Forms.AutoValidate.EnableAllowFocusChange;
base.CancelButton = this.cmdCancel;
base.ClientSize = new System.Drawing.Size(294, 347);
base.Controls.Add(this.tblMain);
base.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
base.Name = "SetupPod";
base.ShowInTaskbar = false;
base.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Configure Pod";
this.gbNetwork.ResumeLayout(false);
this.gbNetwork.PerformLayout();
((System.ComponentModel.ISupportInitialize)this.errProvider).EndInit();
this.tblMain.ResumeLayout(false);
this.tblMain.PerformLayout();
this.tblButtons.ResumeLayout(false);
this.tblNetwork.ResumeLayout(false);
this.tblNetwork.PerformLayout();
base.ResumeLayout(false);
}
}