Files
TeslaSuite/Console/TeslaConsole/abtTeslaConsole.cs
T
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

215 lines
7.8 KiB
C#

using System.ComponentModel;
using System.Drawing;
using System.IO;
using System.Reflection;
using System.Windows.Forms;
using TeslaConsole.Properties;
namespace TeslaConsole;
internal class abtTeslaConsole : Form
{
private IContainer components;
private Label labelProductName;
private Label labelVersion;
private Label labelCopyright;
private Label labelCompanyName;
private Button okButton;
private PictureBox picLogo;
private TextBox textBoxDescription;
public string AssemblyTitle
{
get
{
object[] customAttributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), inherit: false);
if (customAttributes.Length > 0)
{
AssemblyTitleAttribute assemblyTitleAttribute = (AssemblyTitleAttribute)customAttributes[0];
if (assemblyTitleAttribute.Title != "")
{
return assemblyTitleAttribute.Title;
}
}
return Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().CodeBase);
}
}
public string AssemblyVersion => Assembly.GetExecutingAssembly().GetName().Version.ToString();
public string AssemblyDescription
{
get
{
object[] customAttributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyDescriptionAttribute), inherit: false);
if (customAttributes.Length == 0)
{
return "";
}
return ((AssemblyDescriptionAttribute)customAttributes[0]).Description;
}
}
public string AssemblyProduct
{
get
{
object[] customAttributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyProductAttribute), inherit: false);
if (customAttributes.Length == 0)
{
return "";
}
return ((AssemblyProductAttribute)customAttributes[0]).Product;
}
}
public string AssemblyCopyright
{
get
{
object[] customAttributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), inherit: false);
if (customAttributes.Length == 0)
{
return "";
}
return ((AssemblyCopyrightAttribute)customAttributes[0]).Copyright;
}
}
public string AssemblyCompany
{
get
{
object[] customAttributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCompanyAttribute), inherit: false);
if (customAttributes.Length == 0)
{
return "";
}
return ((AssemblyCompanyAttribute)customAttributes[0]).Company;
}
}
public abtTeslaConsole()
{
InitializeComponent();
Text = $"About {AssemblyTitle}";
labelProductName.Text = AssemblyProduct;
labelVersion.Text = $"Version {AssemblyVersion}";
labelCopyright.Text = AssemblyCopyright;
labelCompanyName.Text = AssemblyCompany;
textBoxDescription.Text = AssemblyDescription;
picLogo.Image = new Icon(Resources.swirl, 64, 64).ToBitmap();
}
protected override void Dispose(bool disposing)
{
if (disposing && components != null)
{
components.Dispose();
}
base.Dispose(disposing);
}
private void InitializeComponent()
{
this.labelProductName = new System.Windows.Forms.Label();
this.labelVersion = new System.Windows.Forms.Label();
this.labelCopyright = new System.Windows.Forms.Label();
this.labelCompanyName = new System.Windows.Forms.Label();
this.okButton = new System.Windows.Forms.Button();
this.picLogo = new System.Windows.Forms.PictureBox();
this.textBoxDescription = new System.Windows.Forms.TextBox();
((System.ComponentModel.ISupportInitialize)this.picLogo).BeginInit();
base.SuspendLayout();
this.labelProductName.AutoSize = true;
this.labelProductName.Location = new System.Drawing.Point(85, 12);
this.labelProductName.Margin = new System.Windows.Forms.Padding(6, 3, 3, 3);
this.labelProductName.MaximumSize = new System.Drawing.Size(0, 17);
this.labelProductName.Name = "labelProductName";
this.labelProductName.Size = new System.Drawing.Size(74, 13);
this.labelProductName.TabIndex = 19;
this.labelProductName.Text = "Tesla Console";
this.labelProductName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.labelVersion.AutoSize = true;
this.labelVersion.Location = new System.Drawing.Point(85, 31);
this.labelVersion.Margin = new System.Windows.Forms.Padding(6, 3, 3, 3);
this.labelVersion.MaximumSize = new System.Drawing.Size(0, 17);
this.labelVersion.Name = "labelVersion";
this.labelVersion.Size = new System.Drawing.Size(22, 13);
this.labelVersion.TabIndex = 0;
this.labelVersion.Text = "1.0";
this.labelVersion.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.labelCopyright.AutoSize = true;
this.labelCopyright.Location = new System.Drawing.Point(85, 50);
this.labelCopyright.Margin = new System.Windows.Forms.Padding(6, 3, 3, 3);
this.labelCopyright.MaximumSize = new System.Drawing.Size(0, 17);
this.labelCopyright.Name = "labelCopyright";
this.labelCopyright.Size = new System.Drawing.Size(90, 13);
this.labelCopyright.TabIndex = 21;
this.labelCopyright.Text = "Copyright © 2009";
this.labelCopyright.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.labelCompanyName.AutoSize = true;
this.labelCompanyName.Location = new System.Drawing.Point(85, 69);
this.labelCompanyName.Margin = new System.Windows.Forms.Padding(6, 3, 3, 3);
this.labelCompanyName.MaximumSize = new System.Drawing.Size(0, 17);
this.labelCompanyName.Name = "labelCompanyName";
this.labelCompanyName.Size = new System.Drawing.Size(135, 13);
this.labelCompanyName.TabIndex = 22;
this.labelCompanyName.Text = "Virtual World Entertainment";
this.labelCompanyName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.okButton.Anchor = System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right;
this.okButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.okButton.Location = new System.Drawing.Point(358, 234);
this.okButton.Name = "okButton";
this.okButton.Size = new System.Drawing.Size(75, 23);
this.okButton.TabIndex = 24;
this.okButton.Text = "&OK";
this.picLogo.Location = new System.Drawing.Point(12, 12);
this.picLogo.Name = "picLogo";
this.picLogo.Size = new System.Drawing.Size(64, 70);
this.picLogo.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.picLogo.TabIndex = 1;
this.picLogo.TabStop = false;
this.textBoxDescription.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right;
this.textBoxDescription.Location = new System.Drawing.Point(12, 88);
this.textBoxDescription.Margin = new System.Windows.Forms.Padding(6, 3, 3, 3);
this.textBoxDescription.Multiline = true;
this.textBoxDescription.Name = "textBoxDescription";
this.textBoxDescription.ReadOnly = true;
this.textBoxDescription.ScrollBars = System.Windows.Forms.ScrollBars.Both;
this.textBoxDescription.Size = new System.Drawing.Size(421, 140);
this.textBoxDescription.TabIndex = 23;
this.textBoxDescription.TabStop = false;
base.AcceptButton = this.okButton;
base.AutoScaleDimensions = new System.Drawing.SizeF(6f, 13f);
base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
base.ClientSize = new System.Drawing.Size(445, 269);
base.Controls.Add(this.textBoxDescription);
base.Controls.Add(this.labelCompanyName);
base.Controls.Add(this.okButton);
base.Controls.Add(this.labelCopyright);
base.Controls.Add(this.labelVersion);
base.Controls.Add(this.labelProductName);
base.Controls.Add(this.picLogo);
base.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
base.MaximizeBox = false;
base.MinimizeBox = false;
base.Name = "abtTeslaConsole";
base.Padding = new System.Windows.Forms.Padding(9);
base.ShowIcon = false;
base.ShowInTaskbar = false;
base.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "About";
((System.ComponentModel.ISupportInitialize)this.picLogo).EndInit();
base.ResumeLayout(false);
base.PerformLayout();
}
}