Slice 4 - Launcher-Live-Ueberblick (LauncherWidgetsPanel, isoliertes UserControl, rechts angedockt, 30s-Refresh; minimaler Eingriff ins von Richard bearbeitete Launcher-Designer): - Modul-PnL/Winrate-Kacheln (je Modul + Gesamt: Heute/7T/30T, gruen/rot) via TradeAnalytics. - Supervisor-KI-Kurzfassung (letzter sup_report). - Warnungen & Fehler (heutige JSONL-Logs, Error/Warning). - Auffaellige Trades (24h, nach |PnL| sortiert). Regressionen aus VS-Re-Serialisierung behoben (VS liess hand-erstellte DataGridView-Spalten fallen -> col* null -> NRE beim Oeffnen): - DashboardView (dgvTrades): Spalten-Instanziierung + AutoGenerateColumns=false + Columns.AddRange + Spalten-Konfig wiederhergestellt. - JobsView (dgvJobs): dito (nur Button-Spalte hatte ueberlebt). - Smoke-UI dauerhaft um JobsView/TerminalView/SettingsView erweitert -> faengt diese Regressionsklasse kuenftig ab. Enthaelt ausserdem Richards zwischenzeitliche UI-Arbeit (Launcher-Icons cross_reference/emotion_batman/ file_start_workflow, Designer-Re-Serialisierungen, .ico-Sammlung, Modul-Form-.resx). Persoenliche Notizdatei bewusst NICHT committet. Build 0 Fehler, 396 Tests gruen, --smoke-ui alle 9 Views/Forms gruen. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
379 lines
16 KiB
C#
379 lines
16 KiB
C#
namespace PolyTraderSharp.Ui.Views
|
|
{
|
|
partial class TerminalView
|
|
{
|
|
/// <summary>Erforderliche Designer-Variable.</summary>
|
|
private System.ComponentModel.IContainer components = null;
|
|
|
|
protected override void Dispose(bool disposing)
|
|
{
|
|
if (disposing && (components != null))
|
|
{
|
|
components.Dispose();
|
|
}
|
|
base.Dispose(disposing);
|
|
}
|
|
|
|
#region Vom Komponenten-Designer generierter Code
|
|
|
|
private void InitializeComponent()
|
|
{
|
|
components = new System.ComponentModel.Container();
|
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(TerminalView));
|
|
tabControlTerminal = new TabControl();
|
|
tabLive = new TabPage();
|
|
rtbTerminal = new RichTextBox();
|
|
contextMenuTerminal = new ContextMenuStrip(components);
|
|
miCopy = new ToolStripMenuItem();
|
|
miSelectAll = new ToolStripMenuItem();
|
|
miCopyAll = new ToolStripMenuItem();
|
|
miSep1 = new ToolStripSeparator();
|
|
miClear = new ToolStripMenuItem();
|
|
pnlTop = new Panel();
|
|
btnAutoscroll = new Button();
|
|
cbLogLevel = new ComboBox();
|
|
lblFilter = new Label();
|
|
tabViewer = new TabPage();
|
|
dgvLogs = new DataGridView();
|
|
pnlViewerTop = new Panel();
|
|
lblViewerStatus = new Label();
|
|
btnViewerLoad = new Button();
|
|
tbViewerText = new TextBox();
|
|
lblVText = new Label();
|
|
tbViewerCid = new TextBox();
|
|
lblVCid = new Label();
|
|
cbViewerLevel = new ComboBox();
|
|
lblVLevel = new Label();
|
|
dtViewerDate = new DateTimePicker();
|
|
lblVDatum = new Label();
|
|
tabControlTerminal.SuspendLayout();
|
|
tabLive.SuspendLayout();
|
|
contextMenuTerminal.SuspendLayout();
|
|
pnlTop.SuspendLayout();
|
|
tabViewer.SuspendLayout();
|
|
((System.ComponentModel.ISupportInitialize)dgvLogs).BeginInit();
|
|
pnlViewerTop.SuspendLayout();
|
|
SuspendLayout();
|
|
//
|
|
// tabControlTerminal
|
|
//
|
|
tabControlTerminal.Controls.Add(tabLive);
|
|
tabControlTerminal.Controls.Add(tabViewer);
|
|
tabControlTerminal.Dock = DockStyle.Fill;
|
|
tabControlTerminal.Location = new Point(0, 0);
|
|
tabControlTerminal.Margin = new Padding(4, 5, 4, 5);
|
|
tabControlTerminal.Name = "tabControlTerminal";
|
|
tabControlTerminal.SelectedIndex = 0;
|
|
tabControlTerminal.Size = new Size(1429, 1083);
|
|
tabControlTerminal.TabIndex = 0;
|
|
//
|
|
// tabLive
|
|
//
|
|
tabLive.Controls.Add(rtbTerminal);
|
|
tabLive.Controls.Add(pnlTop);
|
|
tabLive.Location = new Point(4, 34);
|
|
tabLive.Margin = new Padding(4, 5, 4, 5);
|
|
tabLive.Name = "tabLive";
|
|
tabLive.Padding = new Padding(4, 5, 4, 5);
|
|
tabLive.Size = new Size(1421, 1045);
|
|
tabLive.TabIndex = 0;
|
|
tabLive.Text = "Live";
|
|
tabLive.UseVisualStyleBackColor = true;
|
|
//
|
|
// rtbTerminal
|
|
//
|
|
rtbTerminal.BackColor = Color.Black;
|
|
rtbTerminal.ContextMenuStrip = contextMenuTerminal;
|
|
rtbTerminal.Dock = DockStyle.Fill;
|
|
rtbTerminal.ForeColor = Color.White;
|
|
rtbTerminal.Location = new Point(4, 65);
|
|
rtbTerminal.Margin = new Padding(4, 5, 4, 5);
|
|
rtbTerminal.Name = "rtbTerminal";
|
|
rtbTerminal.ReadOnly = true;
|
|
rtbTerminal.Size = new Size(1413, 975);
|
|
rtbTerminal.TabIndex = 1;
|
|
rtbTerminal.Text = "";
|
|
//
|
|
// contextMenuTerminal
|
|
//
|
|
contextMenuTerminal.ImageScalingSize = new Size(24, 24);
|
|
contextMenuTerminal.Items.AddRange(new ToolStripItem[] { miCopy, miSelectAll, miCopyAll, miSep1, miClear });
|
|
contextMenuTerminal.Name = "contextMenuTerminal";
|
|
contextMenuTerminal.Size = new Size(277, 138);
|
|
//
|
|
// miCopy
|
|
//
|
|
miCopy.Name = "miCopy";
|
|
miCopy.ShortcutKeyDisplayString = "Strg+C";
|
|
miCopy.Size = new Size(276, 32);
|
|
miCopy.Text = "Kopieren";
|
|
//
|
|
// miSelectAll
|
|
//
|
|
miSelectAll.Name = "miSelectAll";
|
|
miSelectAll.ShortcutKeyDisplayString = "Strg+A";
|
|
miSelectAll.Size = new Size(276, 32);
|
|
miSelectAll.Text = "Alles auswählen";
|
|
//
|
|
// miCopyAll
|
|
//
|
|
miCopyAll.Name = "miCopyAll";
|
|
miCopyAll.Size = new Size(276, 32);
|
|
miCopyAll.Text = "Alles kopieren";
|
|
//
|
|
// miSep1
|
|
//
|
|
miSep1.Name = "miSep1";
|
|
miSep1.Size = new Size(273, 6);
|
|
//
|
|
// miClear
|
|
//
|
|
miClear.Name = "miClear";
|
|
miClear.Size = new Size(276, 32);
|
|
miClear.Text = "Terminal leeren";
|
|
//
|
|
// pnlTop
|
|
//
|
|
pnlTop.Controls.Add(btnAutoscroll);
|
|
pnlTop.Controls.Add(cbLogLevel);
|
|
pnlTop.Controls.Add(lblFilter);
|
|
pnlTop.Dock = DockStyle.Top;
|
|
pnlTop.Location = new Point(4, 5);
|
|
pnlTop.Margin = new Padding(4, 5, 4, 5);
|
|
pnlTop.Name = "pnlTop";
|
|
pnlTop.Size = new Size(1413, 60);
|
|
pnlTop.TabIndex = 0;
|
|
//
|
|
// btnAutoscroll
|
|
//
|
|
btnAutoscroll.BackColor = Color.LightGreen;
|
|
btnAutoscroll.Location = new Point(320, 8);
|
|
btnAutoscroll.Margin = new Padding(4, 5, 4, 5);
|
|
btnAutoscroll.Name = "btnAutoscroll";
|
|
btnAutoscroll.Size = new Size(214, 43);
|
|
btnAutoscroll.TabIndex = 2;
|
|
btnAutoscroll.Text = "Stop Autoscroll";
|
|
btnAutoscroll.UseVisualStyleBackColor = false;
|
|
//
|
|
// cbLogLevel
|
|
//
|
|
cbLogLevel.DropDownStyle = ComboBoxStyle.DropDownList;
|
|
cbLogLevel.Items.AddRange(new object[] { "Alle", "Debug", "Info", "Warning", "Error", "Trade", "TradeReasoning" });
|
|
cbLogLevel.Location = new Point(74, 10);
|
|
cbLogLevel.Margin = new Padding(4, 5, 4, 5);
|
|
cbLogLevel.Name = "cbLogLevel";
|
|
cbLogLevel.Size = new Size(227, 33);
|
|
cbLogLevel.TabIndex = 1;
|
|
//
|
|
// lblFilter
|
|
//
|
|
lblFilter.AutoSize = true;
|
|
lblFilter.Location = new Point(11, 17);
|
|
lblFilter.Margin = new Padding(4, 0, 4, 0);
|
|
lblFilter.Name = "lblFilter";
|
|
lblFilter.Size = new Size(55, 25);
|
|
lblFilter.TabIndex = 0;
|
|
lblFilter.Text = "Level:";
|
|
//
|
|
// tabViewer
|
|
//
|
|
tabViewer.Controls.Add(dgvLogs);
|
|
tabViewer.Controls.Add(pnlViewerTop);
|
|
tabViewer.Location = new Point(4, 34);
|
|
tabViewer.Margin = new Padding(4, 5, 4, 5);
|
|
tabViewer.Name = "tabViewer";
|
|
tabViewer.Padding = new Padding(4, 5, 4, 5);
|
|
tabViewer.Size = new Size(1421, 1045);
|
|
tabViewer.TabIndex = 1;
|
|
tabViewer.Text = "Log Viewer";
|
|
tabViewer.UseVisualStyleBackColor = true;
|
|
//
|
|
// dgvLogs
|
|
//
|
|
dgvLogs.AllowUserToAddRows = false;
|
|
dgvLogs.AllowUserToDeleteRows = false;
|
|
dgvLogs.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
|
dgvLogs.Dock = DockStyle.Fill;
|
|
dgvLogs.Location = new Point(4, 68);
|
|
dgvLogs.Margin = new Padding(4, 5, 4, 5);
|
|
dgvLogs.Name = "dgvLogs";
|
|
dgvLogs.ReadOnly = true;
|
|
dgvLogs.RowHeadersVisible = false;
|
|
dgvLogs.RowHeadersWidth = 62;
|
|
dgvLogs.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
|
|
dgvLogs.Size = new Size(1413, 972);
|
|
dgvLogs.TabIndex = 1;
|
|
//
|
|
// pnlViewerTop
|
|
//
|
|
pnlViewerTop.Controls.Add(lblViewerStatus);
|
|
pnlViewerTop.Controls.Add(btnViewerLoad);
|
|
pnlViewerTop.Controls.Add(tbViewerText);
|
|
pnlViewerTop.Controls.Add(lblVText);
|
|
pnlViewerTop.Controls.Add(tbViewerCid);
|
|
pnlViewerTop.Controls.Add(lblVCid);
|
|
pnlViewerTop.Controls.Add(cbViewerLevel);
|
|
pnlViewerTop.Controls.Add(lblVLevel);
|
|
pnlViewerTop.Controls.Add(dtViewerDate);
|
|
pnlViewerTop.Controls.Add(lblVDatum);
|
|
pnlViewerTop.Dock = DockStyle.Top;
|
|
pnlViewerTop.Location = new Point(4, 5);
|
|
pnlViewerTop.Margin = new Padding(4, 5, 4, 5);
|
|
pnlViewerTop.Name = "pnlViewerTop";
|
|
pnlViewerTop.Size = new Size(1413, 63);
|
|
pnlViewerTop.TabIndex = 0;
|
|
//
|
|
// lblViewerStatus
|
|
//
|
|
lblViewerStatus.AutoSize = true;
|
|
lblViewerStatus.Location = new Point(1279, 18);
|
|
lblViewerStatus.Margin = new Padding(4, 0, 4, 0);
|
|
lblViewerStatus.Name = "lblViewerStatus";
|
|
lblViewerStatus.Size = new Size(30, 25);
|
|
lblViewerStatus.TabIndex = 9;
|
|
lblViewerStatus.Text = "—";
|
|
//
|
|
// btnViewerLoad
|
|
//
|
|
btnViewerLoad.Location = new Point(1137, 10);
|
|
btnViewerLoad.Margin = new Padding(4, 5, 4, 5);
|
|
btnViewerLoad.Name = "btnViewerLoad";
|
|
btnViewerLoad.Size = new Size(129, 43);
|
|
btnViewerLoad.TabIndex = 8;
|
|
btnViewerLoad.Text = "Laden";
|
|
btnViewerLoad.UseVisualStyleBackColor = true;
|
|
//
|
|
// tbViewerText
|
|
//
|
|
tbViewerText.Location = new Point(866, 12);
|
|
tbViewerText.Margin = new Padding(4, 5, 4, 5);
|
|
tbViewerText.Name = "tbViewerText";
|
|
tbViewerText.PlaceholderText = "Suchtext …";
|
|
tbViewerText.Size = new Size(255, 31);
|
|
tbViewerText.TabIndex = 7;
|
|
//
|
|
// lblVText
|
|
//
|
|
lblVText.AutoSize = true;
|
|
lblVText.Location = new Point(814, 18);
|
|
lblVText.Margin = new Padding(4, 0, 4, 0);
|
|
lblVText.Name = "lblVText";
|
|
lblVText.Size = new Size(46, 25);
|
|
lblVText.TabIndex = 6;
|
|
lblVText.Text = "Text:";
|
|
//
|
|
// tbViewerCid
|
|
//
|
|
tbViewerCid.Location = new Point(583, 12);
|
|
tbViewerCid.Margin = new Padding(4, 5, 4, 5);
|
|
tbViewerCid.Name = "tbViewerCid";
|
|
tbViewerCid.PlaceholderText = "SignalId …";
|
|
tbViewerCid.Size = new Size(213, 31);
|
|
tbViewerCid.TabIndex = 5;
|
|
//
|
|
// lblVCid
|
|
//
|
|
lblVCid.AutoSize = true;
|
|
lblVCid.Location = new Point(534, 18);
|
|
lblVCid.Margin = new Padding(4, 0, 4, 0);
|
|
lblVCid.Name = "lblVCid";
|
|
lblVCid.Size = new Size(45, 25);
|
|
lblVCid.TabIndex = 4;
|
|
lblVCid.Text = "CID:";
|
|
//
|
|
// cbViewerLevel
|
|
//
|
|
cbViewerLevel.DropDownStyle = ComboBoxStyle.DropDownList;
|
|
cbViewerLevel.Items.AddRange(new object[] { "Alle", "Debug", "Info", "Warning", "Error", "Trade", "TradeReasoning" });
|
|
cbViewerLevel.Location = new Point(317, 12);
|
|
cbViewerLevel.Margin = new Padding(4, 5, 4, 5);
|
|
cbViewerLevel.Name = "cbViewerLevel";
|
|
cbViewerLevel.Size = new Size(198, 33);
|
|
cbViewerLevel.TabIndex = 3;
|
|
//
|
|
// lblVLevel
|
|
//
|
|
lblVLevel.AutoSize = true;
|
|
lblVLevel.Location = new Point(257, 18);
|
|
lblVLevel.Margin = new Padding(4, 0, 4, 0);
|
|
lblVLevel.Name = "lblVLevel";
|
|
lblVLevel.Size = new Size(55, 25);
|
|
lblVLevel.TabIndex = 2;
|
|
lblVLevel.Text = "Level:";
|
|
//
|
|
// dtViewerDate
|
|
//
|
|
dtViewerDate.Format = DateTimePickerFormat.Short;
|
|
dtViewerDate.Location = new Point(83, 12);
|
|
dtViewerDate.Margin = new Padding(4, 5, 4, 5);
|
|
dtViewerDate.Name = "dtViewerDate";
|
|
dtViewerDate.Size = new Size(155, 31);
|
|
dtViewerDate.TabIndex = 1;
|
|
//
|
|
// lblVDatum
|
|
//
|
|
lblVDatum.AutoSize = true;
|
|
lblVDatum.Location = new Point(11, 18);
|
|
lblVDatum.Margin = new Padding(4, 0, 4, 0);
|
|
lblVDatum.Name = "lblVDatum";
|
|
lblVDatum.Size = new Size(70, 25);
|
|
lblVDatum.TabIndex = 0;
|
|
lblVDatum.Text = "Datum:";
|
|
//
|
|
// TerminalView
|
|
//
|
|
AutoScaleDimensions = new SizeF(10F, 25F);
|
|
AutoScaleMode = AutoScaleMode.Font;
|
|
ClientSize = new Size(1429, 1083);
|
|
Controls.Add(tabControlTerminal);
|
|
Icon = (Icon)resources.GetObject("$this.Icon");
|
|
Margin = new Padding(4, 5, 4, 5);
|
|
Name = "TerminalView";
|
|
Text = "Terminal / Logs";
|
|
tabControlTerminal.ResumeLayout(false);
|
|
tabLive.ResumeLayout(false);
|
|
contextMenuTerminal.ResumeLayout(false);
|
|
pnlTop.ResumeLayout(false);
|
|
pnlTop.PerformLayout();
|
|
tabViewer.ResumeLayout(false);
|
|
((System.ComponentModel.ISupportInitialize)dgvLogs).EndInit();
|
|
pnlViewerTop.ResumeLayout(false);
|
|
pnlViewerTop.PerformLayout();
|
|
ResumeLayout(false);
|
|
}
|
|
|
|
#endregion
|
|
|
|
private System.Windows.Forms.TabControl tabControlTerminal;
|
|
private System.Windows.Forms.TabPage tabLive;
|
|
private System.Windows.Forms.Panel pnlTop;
|
|
private System.Windows.Forms.Label lblFilter;
|
|
private System.Windows.Forms.ComboBox cbLogLevel;
|
|
private System.Windows.Forms.Button btnAutoscroll;
|
|
private System.Windows.Forms.RichTextBox rtbTerminal;
|
|
private System.Windows.Forms.ContextMenuStrip contextMenuTerminal;
|
|
private System.Windows.Forms.ToolStripMenuItem miCopy;
|
|
private System.Windows.Forms.ToolStripMenuItem miSelectAll;
|
|
private System.Windows.Forms.ToolStripMenuItem miCopyAll;
|
|
private System.Windows.Forms.ToolStripSeparator miSep1;
|
|
private System.Windows.Forms.ToolStripMenuItem miClear;
|
|
private System.Windows.Forms.TabPage tabViewer;
|
|
private System.Windows.Forms.Panel pnlViewerTop;
|
|
private System.Windows.Forms.Label lblVDatum;
|
|
private System.Windows.Forms.DateTimePicker dtViewerDate;
|
|
private System.Windows.Forms.Label lblVLevel;
|
|
private System.Windows.Forms.ComboBox cbViewerLevel;
|
|
private System.Windows.Forms.Label lblVCid;
|
|
private System.Windows.Forms.TextBox tbViewerCid;
|
|
private System.Windows.Forms.Label lblVText;
|
|
private System.Windows.Forms.TextBox tbViewerText;
|
|
private System.Windows.Forms.Button btnViewerLoad;
|
|
private System.Windows.Forms.Label lblViewerStatus;
|
|
private System.Windows.Forms.DataGridView dgvLogs;
|
|
private System.Windows.Forms.DataGridViewTextBoxColumn colLogTime;
|
|
private System.Windows.Forms.DataGridViewTextBoxColumn colLogLevel;
|
|
private System.Windows.Forms.DataGridViewTextBoxColumn colLogCid;
|
|
private System.Windows.Forms.DataGridViewTextBoxColumn colLogMsg;
|
|
}
|
|
}
|