UI Slice 4: Launcher-Live-Widgets + VS-Re-Serialisierungs-Regressionen behoben
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>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
936144c318
commit
3c8ea3534e
Generated
+60
-42
@@ -24,11 +24,12 @@ namespace PolyTraderSharp.Ui
|
||||
btn_settings = new ToolStripButton();
|
||||
btn_terminal = new ToolStripButton();
|
||||
btn_jobs = new ToolStripButton();
|
||||
btn_accounting = new ToolStripButton();
|
||||
toolStripSeparator1 = new ToolStripSeparator();
|
||||
toolStripSeparator2 = new ToolStripSeparator();
|
||||
btn_copytrading = new ToolStripButton();
|
||||
btn_resolutionfarming = new ToolStripButton();
|
||||
btn_supervisor = new ToolStripButton();
|
||||
btn_accounting = new ToolStripButton();
|
||||
toolstrip_quickbar = new ToolStrip();
|
||||
btn_liveTrading = new ToolStripButton();
|
||||
btn_demoTrading = new ToolStripButton();
|
||||
@@ -44,6 +45,7 @@ namespace PolyTraderSharp.Ui
|
||||
colAccPnl3d = new DataGridViewTextBoxColumn();
|
||||
colAccWin3d = new DataGridViewTextBoxColumn();
|
||||
colAccOverall = new DataGridViewTextBoxColumn();
|
||||
launcherWidgets = new LauncherWidgetsPanel();
|
||||
menuStrip.SuspendLayout();
|
||||
toolstrip_windows.SuspendLayout();
|
||||
toolstrip_quickbar.SuspendLayout();
|
||||
@@ -60,18 +62,18 @@ namespace PolyTraderSharp.Ui
|
||||
menuStrip.Padding = new Padding(9, 3, 0, 3);
|
||||
menuStrip.Size = new Size(2599, 35);
|
||||
menuStrip.TabIndex = 0;
|
||||
//
|
||||
//
|
||||
// miFenster
|
||||
//
|
||||
//
|
||||
miFenster.Name = "miFenster";
|
||||
miFenster.Size = new Size(69, 29);
|
||||
miFenster.Size = new Size(85, 29);
|
||||
miFenster.Text = "Fenster";
|
||||
//
|
||||
//
|
||||
// toolstrip_windows
|
||||
//
|
||||
toolstrip_windows.AutoSize = false;
|
||||
toolstrip_windows.ImageScalingSize = new Size(64, 64);
|
||||
toolstrip_windows.Items.AddRange(new ToolStripItem[] { btn_dashboard, btn_settings, btn_terminal, btn_jobs, toolStripSeparator1, btn_copytrading, btn_resolutionfarming, btn_supervisor, btn_accounting });
|
||||
toolstrip_windows.Items.AddRange(new ToolStripItem[] { btn_dashboard, btn_settings, btn_terminal, btn_jobs, btn_accounting, btn_supervisor, toolStripSeparator1, toolStripSeparator2, btn_copytrading, btn_resolutionfarming });
|
||||
toolstrip_windows.Location = new Point(0, 35);
|
||||
toolstrip_windows.Name = "toolstrip_windows";
|
||||
toolstrip_windows.Size = new Size(2599, 70);
|
||||
@@ -116,39 +118,9 @@ namespace PolyTraderSharp.Ui
|
||||
btn_jobs.Size = new Size(106, 65);
|
||||
btn_jobs.Text = "Server Jobs";
|
||||
btn_jobs.TextImageRelation = TextImageRelation.ImageAboveText;
|
||||
//
|
||||
// btn_copytrading
|
||||
//
|
||||
btn_copytrading.Image = Properties.Resources.money_dollar;
|
||||
btn_copytrading.ImageScaling = ToolStripItemImageScaling.None;
|
||||
btn_copytrading.ImageTransparentColor = Color.Magenta;
|
||||
btn_copytrading.Name = "btn_copytrading";
|
||||
btn_copytrading.Size = new Size(120, 65);
|
||||
btn_copytrading.Text = "CopyTrading";
|
||||
btn_copytrading.TextImageRelation = TextImageRelation.ImageAboveText;
|
||||
//
|
||||
// btn_resolutionfarming
|
||||
//
|
||||
btn_resolutionfarming.Image = Properties.Resources.refresh_all;
|
||||
btn_resolutionfarming.ImageScaling = ToolStripItemImageScaling.None;
|
||||
btn_resolutionfarming.ImageTransparentColor = Color.Magenta;
|
||||
btn_resolutionfarming.Name = "btn_resolutionfarming";
|
||||
btn_resolutionfarming.Size = new Size(150, 65);
|
||||
btn_resolutionfarming.Text = "ResolutionFarming";
|
||||
btn_resolutionfarming.TextImageRelation = TextImageRelation.ImageAboveText;
|
||||
//
|
||||
// btn_supervisor
|
||||
//
|
||||
btn_supervisor.Image = Properties.Resources.token_quantifier;
|
||||
btn_supervisor.ImageScaling = ToolStripItemImageScaling.None;
|
||||
btn_supervisor.ImageTransparentColor = Color.Magenta;
|
||||
btn_supervisor.Name = "btn_supervisor";
|
||||
btn_supervisor.Size = new Size(110, 65);
|
||||
btn_supervisor.Text = "Supervisor";
|
||||
btn_supervisor.TextImageRelation = TextImageRelation.ImageAboveText;
|
||||
//
|
||||
//
|
||||
// btn_accounting
|
||||
//
|
||||
//
|
||||
btn_accounting.Image = Properties.Resources.coins_in_hand;
|
||||
btn_accounting.ImageScaling = ToolStripItemImageScaling.None;
|
||||
btn_accounting.ImageTransparentColor = Color.Magenta;
|
||||
@@ -156,12 +128,48 @@ namespace PolyTraderSharp.Ui
|
||||
btn_accounting.Size = new Size(106, 65);
|
||||
btn_accounting.Text = "Accounting";
|
||||
btn_accounting.TextImageRelation = TextImageRelation.ImageAboveText;
|
||||
//
|
||||
//
|
||||
// toolStripSeparator1
|
||||
//
|
||||
toolStripSeparator1.Name = "toolStripSeparator1";
|
||||
toolStripSeparator1.Size = new Size(6, 70);
|
||||
//
|
||||
// toolStripSeparator2
|
||||
//
|
||||
toolStripSeparator2.Margin = new Padding(20, 0, 0, 0);
|
||||
toolStripSeparator2.Name = "toolStripSeparator2";
|
||||
toolStripSeparator2.Size = new Size(6, 70);
|
||||
//
|
||||
// btn_copytrading
|
||||
//
|
||||
btn_copytrading.Image = Properties.Resources.cross_reference;
|
||||
btn_copytrading.ImageScaling = ToolStripItemImageScaling.None;
|
||||
btn_copytrading.ImageTransparentColor = Color.Magenta;
|
||||
btn_copytrading.Name = "btn_copytrading";
|
||||
btn_copytrading.Size = new Size(116, 65);
|
||||
btn_copytrading.Text = "CopyTrading";
|
||||
btn_copytrading.TextImageRelation = TextImageRelation.ImageAboveText;
|
||||
//
|
||||
// btn_resolutionfarming
|
||||
//
|
||||
btn_resolutionfarming.Image = Properties.Resources.file_start_workflow;
|
||||
btn_resolutionfarming.ImageScaling = ToolStripItemImageScaling.None;
|
||||
btn_resolutionfarming.ImageTransparentColor = Color.Magenta;
|
||||
btn_resolutionfarming.Name = "btn_resolutionfarming";
|
||||
btn_resolutionfarming.Size = new Size(163, 65);
|
||||
btn_resolutionfarming.Text = "ResolutionFarming";
|
||||
btn_resolutionfarming.TextImageRelation = TextImageRelation.ImageAboveText;
|
||||
//
|
||||
// btn_supervisor
|
||||
//
|
||||
btn_supervisor.Image = Properties.Resources.emotion_batman;
|
||||
btn_supervisor.ImageScaling = ToolStripItemImageScaling.None;
|
||||
btn_supervisor.ImageTransparentColor = Color.Magenta;
|
||||
btn_supervisor.Name = "btn_supervisor";
|
||||
btn_supervisor.Size = new Size(100, 65);
|
||||
btn_supervisor.Text = "Supervisor";
|
||||
btn_supervisor.TextImageRelation = TextImageRelation.ImageAboveText;
|
||||
//
|
||||
// toolstrip_quickbar
|
||||
//
|
||||
toolstrip_quickbar.ImageScalingSize = new Size(24, 24);
|
||||
@@ -294,18 +302,26 @@ namespace PolyTraderSharp.Ui
|
||||
colAccOverall.Name = "colAccOverall";
|
||||
colAccOverall.ReadOnly = true;
|
||||
colAccOverall.Width = 133;
|
||||
//
|
||||
//
|
||||
// launcherWidgets
|
||||
//
|
||||
launcherWidgets.Dock = DockStyle.Right;
|
||||
launcherWidgets.Location = new Point(2039, 139);
|
||||
launcherWidgets.Name = "launcherWidgets";
|
||||
launcherWidgets.Size = new Size(560, 498);
|
||||
launcherWidgets.TabIndex = 7;
|
||||
//
|
||||
// LauncherForm
|
||||
//
|
||||
//
|
||||
AutoScaleDimensions = new SizeF(10F, 25F);
|
||||
AutoScaleMode = AutoScaleMode.Font;
|
||||
ClientSize = new Size(2599, 669);
|
||||
Controls.Add(dgv_accountlist);
|
||||
Controls.Add(launcherWidgets);
|
||||
Controls.Add(statusStrip_info);
|
||||
Controls.Add(toolstrip_quickbar);
|
||||
Controls.Add(toolstrip_windows);
|
||||
Controls.Add(menuStrip);
|
||||
FormBorderStyle = FormBorderStyle.Sizable;
|
||||
MainMenuStrip = menuStrip;
|
||||
Margin = new Padding(4, 5, 4, 5);
|
||||
MinimumSize = new Size(1280, 720);
|
||||
@@ -355,5 +371,7 @@ namespace PolyTraderSharp.Ui
|
||||
private DataGridViewTextBoxColumn colAccPnl3d;
|
||||
private DataGridViewTextBoxColumn colAccWin3d;
|
||||
private DataGridViewTextBoxColumn colAccOverall;
|
||||
private ToolStripSeparator toolStripSeparator2;
|
||||
private LauncherWidgetsPanel launcherWidgets;
|
||||
}
|
||||
}
|
||||
|
||||
+9
-2
@@ -76,6 +76,9 @@ namespace PolyTraderSharp.Ui
|
||||
colAccOverall.DefaultCellStyle.Format = "N2";
|
||||
dgv_accountlist.CellContentClick += AccountList_CellContentClick;
|
||||
|
||||
// Live-Überblick-Widgets (Modul-PnL/Winrate, Warnungen/Fehler, auffällige Trades, Supervisor-KI).
|
||||
launcherWidgets.Initialize(_services);
|
||||
|
||||
_statusTimer.Tick += (_, _) => UpdateStatus();
|
||||
_statusTimer.Start();
|
||||
UpdateStatus();
|
||||
@@ -152,8 +155,12 @@ namespace PolyTraderSharp.Ui
|
||||
UpdateTradingToggles();
|
||||
UpdateWindowButtonStates();
|
||||
|
||||
// Account-Übersicht alle 30 s aktualisieren (DB-Abfrage je Account – nicht jede Sekunde).
|
||||
if (_statusTicks++ % 30 == 0) LoadAccountOverview();
|
||||
// Account-Übersicht + Widgets alle 30 s aktualisieren (DB-Abfragen – nicht jede Sekunde).
|
||||
if (_statusTicks++ % 30 == 0)
|
||||
{
|
||||
LoadAccountOverview();
|
||||
launcherWidgets.RefreshData();
|
||||
}
|
||||
}
|
||||
|
||||
// ===== Account-Übersicht (dgv_accountlist) =====
|
||||
|
||||
Generated
+244
@@ -0,0 +1,244 @@
|
||||
namespace PolyTraderSharp.Ui
|
||||
{
|
||||
partial class LauncherWidgetsPanel
|
||||
{
|
||||
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()
|
||||
{
|
||||
this.tableLayout = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.flpKpis = new System.Windows.Forms.FlowLayoutPanel();
|
||||
this.grpSupervisor = new System.Windows.Forms.GroupBox();
|
||||
this.rtbSupervisor = new System.Windows.Forms.RichTextBox();
|
||||
this.grpAlerts = new System.Windows.Forms.GroupBox();
|
||||
this.dgvAlerts = new System.Windows.Forms.DataGridView();
|
||||
this.colAlertTime = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colAlertLevel = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colAlertMsg = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.grpNotable = new System.Windows.Forms.GroupBox();
|
||||
this.dgvNotable = new System.Windows.Forms.DataGridView();
|
||||
this.colNotModule = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colNotMarket = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colNotPnl = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colNotPnlPct = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.tableLayout.SuspendLayout();
|
||||
this.grpSupervisor.SuspendLayout();
|
||||
this.grpAlerts.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvAlerts)).BeginInit();
|
||||
this.grpNotable.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvNotable)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// tableLayout
|
||||
//
|
||||
this.tableLayout.ColumnCount = 1;
|
||||
this.tableLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
this.tableLayout.Controls.Add(this.flpKpis, 0, 0);
|
||||
this.tableLayout.Controls.Add(this.grpSupervisor, 0, 1);
|
||||
this.tableLayout.Controls.Add(this.grpAlerts, 0, 2);
|
||||
this.tableLayout.Controls.Add(this.grpNotable, 0, 3);
|
||||
this.tableLayout.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tableLayout.Location = new System.Drawing.Point(0, 0);
|
||||
this.tableLayout.Name = "tableLayout";
|
||||
this.tableLayout.RowCount = 4;
|
||||
this.tableLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 210F));
|
||||
this.tableLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 30F));
|
||||
this.tableLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 35F));
|
||||
this.tableLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 35F));
|
||||
this.tableLayout.Size = new System.Drawing.Size(540, 900);
|
||||
this.tableLayout.TabIndex = 0;
|
||||
//
|
||||
// flpKpis
|
||||
//
|
||||
this.flpKpis.AutoScroll = true;
|
||||
this.flpKpis.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.flpKpis.Location = new System.Drawing.Point(3, 3);
|
||||
this.flpKpis.Name = "flpKpis";
|
||||
this.flpKpis.Padding = new System.Windows.Forms.Padding(2);
|
||||
this.flpKpis.Size = new System.Drawing.Size(534, 204);
|
||||
this.flpKpis.TabIndex = 0;
|
||||
//
|
||||
// grpSupervisor
|
||||
//
|
||||
this.grpSupervisor.Controls.Add(this.rtbSupervisor);
|
||||
this.grpSupervisor.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.grpSupervisor.Location = new System.Drawing.Point(3, 213);
|
||||
this.grpSupervisor.Name = "grpSupervisor";
|
||||
this.grpSupervisor.Padding = new System.Windows.Forms.Padding(6);
|
||||
this.grpSupervisor.Size = new System.Drawing.Size(534, 200);
|
||||
this.grpSupervisor.TabIndex = 1;
|
||||
this.grpSupervisor.TabStop = false;
|
||||
this.grpSupervisor.Text = "Supervisor-KI (letzter Bericht)";
|
||||
//
|
||||
// rtbSupervisor
|
||||
//
|
||||
this.rtbSupervisor.BackColor = System.Drawing.Color.White;
|
||||
this.rtbSupervisor.BorderStyle = System.Windows.Forms.BorderStyle.None;
|
||||
this.rtbSupervisor.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.rtbSupervisor.Location = new System.Drawing.Point(6, 22);
|
||||
this.rtbSupervisor.Name = "rtbSupervisor";
|
||||
this.rtbSupervisor.ReadOnly = true;
|
||||
this.rtbSupervisor.Size = new System.Drawing.Size(522, 172);
|
||||
this.rtbSupervisor.TabIndex = 0;
|
||||
this.rtbSupervisor.Text = "";
|
||||
//
|
||||
// grpAlerts
|
||||
//
|
||||
this.grpAlerts.Controls.Add(this.dgvAlerts);
|
||||
this.grpAlerts.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.grpAlerts.Location = new System.Drawing.Point(3, 419);
|
||||
this.grpAlerts.Name = "grpAlerts";
|
||||
this.grpAlerts.Padding = new System.Windows.Forms.Padding(6);
|
||||
this.grpAlerts.Size = new System.Drawing.Size(534, 234);
|
||||
this.grpAlerts.TabIndex = 2;
|
||||
this.grpAlerts.TabStop = false;
|
||||
this.grpAlerts.Text = "Warnungen & Fehler (heute)";
|
||||
//
|
||||
// dgvAlerts
|
||||
//
|
||||
this.dgvAlerts.AllowUserToAddRows = false;
|
||||
this.dgvAlerts.AllowUserToDeleteRows = false;
|
||||
this.dgvAlerts.AutoGenerateColumns = false;
|
||||
this.dgvAlerts.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dgvAlerts.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.colAlertTime, this.colAlertLevel, this.colAlertMsg});
|
||||
this.dgvAlerts.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.dgvAlerts.Location = new System.Drawing.Point(6, 22);
|
||||
this.dgvAlerts.Name = "dgvAlerts";
|
||||
this.dgvAlerts.ReadOnly = true;
|
||||
this.dgvAlerts.RowHeadersVisible = false;
|
||||
this.dgvAlerts.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
|
||||
this.dgvAlerts.Size = new System.Drawing.Size(522, 206);
|
||||
this.dgvAlerts.TabIndex = 0;
|
||||
//
|
||||
// colAlertTime
|
||||
//
|
||||
this.colAlertTime.DataPropertyName = "Time";
|
||||
this.colAlertTime.HeaderText = "Zeit";
|
||||
this.colAlertTime.Name = "colAlertTime";
|
||||
this.colAlertTime.ReadOnly = true;
|
||||
this.colAlertTime.Width = 70;
|
||||
//
|
||||
// colAlertLevel
|
||||
//
|
||||
this.colAlertLevel.DataPropertyName = "Level";
|
||||
this.colAlertLevel.HeaderText = "Level";
|
||||
this.colAlertLevel.Name = "colAlertLevel";
|
||||
this.colAlertLevel.ReadOnly = true;
|
||||
this.colAlertLevel.Width = 70;
|
||||
//
|
||||
// colAlertMsg
|
||||
//
|
||||
this.colAlertMsg.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
|
||||
this.colAlertMsg.DataPropertyName = "Message";
|
||||
this.colAlertMsg.HeaderText = "Nachricht";
|
||||
this.colAlertMsg.Name = "colAlertMsg";
|
||||
this.colAlertMsg.ReadOnly = true;
|
||||
//
|
||||
// grpNotable
|
||||
//
|
||||
this.grpNotable.Controls.Add(this.dgvNotable);
|
||||
this.grpNotable.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.grpNotable.Location = new System.Drawing.Point(3, 659);
|
||||
this.grpNotable.Name = "grpNotable";
|
||||
this.grpNotable.Padding = new System.Windows.Forms.Padding(6);
|
||||
this.grpNotable.Size = new System.Drawing.Size(534, 238);
|
||||
this.grpNotable.TabIndex = 3;
|
||||
this.grpNotable.TabStop = false;
|
||||
this.grpNotable.Text = "Auffällige Trades (24h)";
|
||||
//
|
||||
// dgvNotable
|
||||
//
|
||||
this.dgvNotable.AllowUserToAddRows = false;
|
||||
this.dgvNotable.AllowUserToDeleteRows = false;
|
||||
this.dgvNotable.AutoGenerateColumns = false;
|
||||
this.dgvNotable.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dgvNotable.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.colNotModule, this.colNotMarket, this.colNotPnl, this.colNotPnlPct});
|
||||
this.dgvNotable.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.dgvNotable.Location = new System.Drawing.Point(6, 22);
|
||||
this.dgvNotable.Name = "dgvNotable";
|
||||
this.dgvNotable.ReadOnly = true;
|
||||
this.dgvNotable.RowHeadersVisible = false;
|
||||
this.dgvNotable.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
|
||||
this.dgvNotable.Size = new System.Drawing.Size(522, 210);
|
||||
this.dgvNotable.TabIndex = 0;
|
||||
//
|
||||
// colNotModule
|
||||
//
|
||||
this.colNotModule.DataPropertyName = "Module";
|
||||
this.colNotModule.HeaderText = "Modul";
|
||||
this.colNotModule.Name = "colNotModule";
|
||||
this.colNotModule.ReadOnly = true;
|
||||
this.colNotModule.Width = 100;
|
||||
//
|
||||
// colNotMarket
|
||||
//
|
||||
this.colNotMarket.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
|
||||
this.colNotMarket.DataPropertyName = "Market";
|
||||
this.colNotMarket.HeaderText = "Markt";
|
||||
this.colNotMarket.Name = "colNotMarket";
|
||||
this.colNotMarket.ReadOnly = true;
|
||||
//
|
||||
// colNotPnl
|
||||
//
|
||||
this.colNotPnl.DataPropertyName = "Pnl";
|
||||
this.colNotPnl.HeaderText = "PnL";
|
||||
this.colNotPnl.Name = "colNotPnl";
|
||||
this.colNotPnl.ReadOnly = true;
|
||||
this.colNotPnl.Width = 80;
|
||||
//
|
||||
// colNotPnlPct
|
||||
//
|
||||
this.colNotPnlPct.DataPropertyName = "PnlPct";
|
||||
this.colNotPnlPct.HeaderText = "PnL %";
|
||||
this.colNotPnlPct.Name = "colNotPnlPct";
|
||||
this.colNotPnlPct.ReadOnly = true;
|
||||
this.colNotPnlPct.Width = 70;
|
||||
//
|
||||
// LauncherWidgetsPanel
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.tableLayout);
|
||||
this.Name = "LauncherWidgetsPanel";
|
||||
this.Size = new System.Drawing.Size(540, 900);
|
||||
this.tableLayout.ResumeLayout(false);
|
||||
this.grpSupervisor.ResumeLayout(false);
|
||||
this.grpAlerts.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvAlerts)).EndInit();
|
||||
this.grpNotable.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvNotable)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.TableLayoutPanel tableLayout;
|
||||
private System.Windows.Forms.FlowLayoutPanel flpKpis;
|
||||
private System.Windows.Forms.GroupBox grpSupervisor;
|
||||
private System.Windows.Forms.RichTextBox rtbSupervisor;
|
||||
private System.Windows.Forms.GroupBox grpAlerts;
|
||||
private System.Windows.Forms.DataGridView dgvAlerts;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colAlertTime;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colAlertLevel;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colAlertMsg;
|
||||
private System.Windows.Forms.GroupBox grpNotable;
|
||||
private System.Windows.Forms.DataGridView dgvNotable;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colNotModule;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colNotMarket;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colNotPnl;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colNotPnlPct;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,205 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using PolyTrader.Core.Analytics;
|
||||
using PolyTrader.Core.Persistence;
|
||||
using PolyTrader.Modules.Supervisor.Persistence;
|
||||
using PolyTraderSharp.Models;
|
||||
using PolyTraderSharp.Services;
|
||||
|
||||
namespace PolyTraderSharp.Ui
|
||||
{
|
||||
/// <summary>
|
||||
/// Live-Überblick-Widgets für den Launcher (Slice 4): Modul-PnL/Winrate-Kacheln, Supervisor-KI-
|
||||
/// Kurzfassung, Warnungen/Fehler aus den Logs und auffällige Trades. Isoliert als UserControl,
|
||||
/// damit der Launcher-Designer schlank bleibt. Alle Datenzugriffe defensiv (Widgets dürfen den
|
||||
/// Launcher nie brechen). Layout im Designer (LauncherWidgetsPanel.Designer.cs).
|
||||
/// </summary>
|
||||
public partial class LauncherWidgetsPanel : UserControl
|
||||
{
|
||||
private ITradeLogRepository? _tradeLog;
|
||||
private ISupervisorReportRepository? _reports;
|
||||
private readonly string _logsDir = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Logs");
|
||||
|
||||
public LauncherWidgetsPanel()
|
||||
{
|
||||
InitializeComponent();
|
||||
colNotPnl.DefaultCellStyle.Format = "F2";
|
||||
colNotPnlPct.DefaultCellStyle.Format = "F1";
|
||||
}
|
||||
|
||||
public void Initialize(IServiceProvider services)
|
||||
{
|
||||
_tradeLog = services.GetService<ITradeLogRepository>();
|
||||
_reports = services.GetService<ISupervisorReportRepository>();
|
||||
RefreshData();
|
||||
}
|
||||
|
||||
/// <summary>Aktualisiert alle Widgets. Wird vom Launcher periodisch aufgerufen.</summary>
|
||||
public void RefreshData()
|
||||
{
|
||||
if (IsDisposed) return;
|
||||
UpdateModuleKpis();
|
||||
UpdateAlerts();
|
||||
UpdateNotable();
|
||||
UpdateSupervisor();
|
||||
}
|
||||
|
||||
// ----- Modul-PnL/Winrate-Kacheln -----
|
||||
|
||||
private void UpdateModuleKpis()
|
||||
{
|
||||
flpKpis.SuspendLayout();
|
||||
flpKpis.Controls.Clear();
|
||||
try
|
||||
{
|
||||
var since = DateTime.UtcNow.AddDays(-30);
|
||||
List<TradeRecord> all = _tradeLog?.Find(t => t.ClosedAt >= since) ?? new List<TradeRecord>();
|
||||
|
||||
DateTime today = DateTime.UtcNow.Date;
|
||||
DateTime week = DateTime.UtcNow.AddDays(-7);
|
||||
|
||||
foreach (var module in all.Select(t => t.ModuleName).Where(m => !string.IsNullOrEmpty(m)).Distinct().OrderBy(m => m))
|
||||
flpKpis.Controls.Add(BuildTile(module, all.Where(t => t.ModuleName == module).ToList(), today, week));
|
||||
|
||||
flpKpis.Controls.Add(BuildTile("Gesamt", all, today, week));
|
||||
|
||||
if (flpKpis.Controls.Count == 1) // nur "Gesamt", keine Trades
|
||||
flpKpis.Controls.Add(new Label { AutoSize = true, Margin = new Padding(6), ForeColor = Color.Gray, Text = "Noch keine abgeschlossenen Trades." });
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
flpKpis.Controls.Add(new Label { AutoSize = true, ForeColor = Color.Firebrick, Text = $"KPIs n/v: {ex.Message}" });
|
||||
}
|
||||
flpKpis.ResumeLayout();
|
||||
}
|
||||
|
||||
private static Label BuildTile(string module, List<TradeRecord> moduleTrades, DateTime today, DateTime week)
|
||||
{
|
||||
decimal todayPnl = moduleTrades.Where(t => t.ClosedAt >= today).Sum(t => t.RealizedPnl);
|
||||
var k7 = TradeAnalytics.ComputeKpis(moduleTrades.Where(t => t.ClosedAt >= week));
|
||||
var k30 = TradeAnalytics.ComputeKpis(moduleTrades);
|
||||
|
||||
var tile = new Label
|
||||
{
|
||||
AutoSize = false,
|
||||
Width = 252,
|
||||
Height = 92,
|
||||
BorderStyle = BorderStyle.FixedSingle,
|
||||
Margin = new Padding(3),
|
||||
Padding = new Padding(7),
|
||||
TextAlign = ContentAlignment.TopLeft,
|
||||
Font = new Font("Segoe UI", 9F),
|
||||
Text = $"{module}\n" +
|
||||
$"Heute: {todayPnl:+0.00;-0.00} USDC\n" +
|
||||
$"7T: {k7.NetPnl:+0.00;-0.00} · {k7.WinRatePct:0}% · {k7.TradeCount} Tr.\n" +
|
||||
$"30T: {k30.NetPnl:+0.00;-0.00} · {k30.WinRatePct:0}%"
|
||||
};
|
||||
tile.ForeColor = k30.NetPnl >= 0 ? Color.ForestGreen : Color.Firebrick;
|
||||
return tile;
|
||||
}
|
||||
|
||||
// ----- Warnungen & Fehler (heute, JSONL) -----
|
||||
|
||||
private void UpdateAlerts()
|
||||
{
|
||||
try
|
||||
{
|
||||
string path = Path.Combine(_logsDir, $"{DateTime.Now:yyyy-MM-dd}.jsonl");
|
||||
var rows = new List<AlertRow>();
|
||||
if (File.Exists(path))
|
||||
{
|
||||
foreach (var line in File.ReadLines(path))
|
||||
{
|
||||
var p = LogJson.ParseLine(line);
|
||||
if (p == null) continue;
|
||||
if (p.Level != "Error" && p.Level != "Warning") continue;
|
||||
rows.Add(new AlertRow { Time = ShortTime(p.Time), Level = p.Level, Message = OneLine(p.Message) });
|
||||
}
|
||||
}
|
||||
rows.Reverse(); // neueste zuerst
|
||||
dgvAlerts.DataSource = rows.Take(200).ToList();
|
||||
grpAlerts.Text = $"Warnungen & Fehler (heute): {rows.Count}";
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
grpAlerts.Text = $"Warnungen & Fehler – n/v ({ex.Message})";
|
||||
}
|
||||
}
|
||||
|
||||
// ----- Auffällige Trades (24h) -----
|
||||
|
||||
private void UpdateNotable()
|
||||
{
|
||||
try
|
||||
{
|
||||
var since = DateTime.UtcNow.AddDays(-1);
|
||||
var rows = (_tradeLog?.Find(t => t.ClosedAt >= since) ?? new List<TradeRecord>())
|
||||
.OrderByDescending(t => Math.Abs(t.RealizedPnl))
|
||||
.Take(30)
|
||||
.Select(t => new NotableRow
|
||||
{
|
||||
Module = t.ModuleName,
|
||||
Market = t.MarketQuestion,
|
||||
Pnl = t.RealizedPnl,
|
||||
PnlPct = t.PnlPercent
|
||||
})
|
||||
.ToList();
|
||||
dgvNotable.DataSource = rows;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
grpNotable.Text = $"Auffällige Trades – n/v ({ex.Message})";
|
||||
}
|
||||
}
|
||||
|
||||
// ----- Supervisor-KI-Kurzfassung -----
|
||||
|
||||
private void UpdateSupervisor()
|
||||
{
|
||||
if (_reports == null)
|
||||
{
|
||||
rtbSupervisor.Text = "Supervisor-Modul nicht verfügbar.";
|
||||
return;
|
||||
}
|
||||
try
|
||||
{
|
||||
var last = _reports.GetRecent(1).FirstOrDefault();
|
||||
rtbSupervisor.Text = last == null
|
||||
? "Noch kein Supervisor-Bericht. (OpenRouter-Key setzen und im Supervisor-Fenster eine Analyse starten.)"
|
||||
: $"[{last.CreatedAt:dd.MM. HH:mm}] {last.Profile} · {last.Model}\n\n{last.Answer}";
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
rtbSupervisor.Text = $"Supervisor-Berichte n/v: {ex.Message}";
|
||||
}
|
||||
}
|
||||
|
||||
// ----- Helfer -----
|
||||
|
||||
private static string ShortTime(string iso) =>
|
||||
DateTime.TryParse(iso, out var dt) ? dt.ToString("HH:mm:ss") : iso;
|
||||
|
||||
private static string OneLine(string s) =>
|
||||
(s ?? string.Empty).Replace("\r", " ").Replace("\n", " ").Trim();
|
||||
|
||||
private sealed class AlertRow
|
||||
{
|
||||
public string Time { get; set; } = string.Empty;
|
||||
public string Level { get; set; } = string.Empty;
|
||||
public string Message { get; set; } = string.Empty;
|
||||
}
|
||||
|
||||
private sealed class NotableRow
|
||||
{
|
||||
public string Module { get; set; } = string.Empty;
|
||||
public string Market { get; set; } = string.Empty;
|
||||
public decimal Pnl { get; set; }
|
||||
public decimal PnlPct { get; set; }
|
||||
}
|
||||
}
|
||||
}
|
||||
Generated
+401
-375
@@ -17,442 +17,468 @@ namespace PolyTraderSharp.Ui.Views
|
||||
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.toolStripDash = new System.Windows.Forms.ToolStrip();
|
||||
this.tslKonto = new System.Windows.Forms.ToolStripLabel();
|
||||
this.cbAccount = new System.Windows.Forms.ToolStripComboBox();
|
||||
this.tslModul = new System.Windows.Forms.ToolStripLabel();
|
||||
this.cbModule = new System.Windows.Forms.ToolStripComboBox();
|
||||
this.tslArt = new System.Windows.Forms.ToolStripLabel();
|
||||
this.cbMode = new System.Windows.Forms.ToolStripComboBox();
|
||||
this.tslZeit = new System.Windows.Forms.ToolStripLabel();
|
||||
this.cbRange = new System.Windows.Forms.ToolStripComboBox();
|
||||
this.tsRefresh = new System.Windows.Forms.ToolStripButton();
|
||||
this.tabControlDash = new System.Windows.Forms.TabControl();
|
||||
this.tabDashboard = new System.Windows.Forms.TabPage();
|
||||
this.picEquity = new System.Windows.Forms.PictureBox();
|
||||
this.pnlChartsBottom = new System.Windows.Forms.Panel();
|
||||
this.picDay = new System.Windows.Forms.PictureBox();
|
||||
this.picModule = new System.Windows.Forms.PictureBox();
|
||||
this.flpKpis = new System.Windows.Forms.FlowLayoutPanel();
|
||||
this.lblKpiPnl = new System.Windows.Forms.Label();
|
||||
this.lblKpiWin = new System.Windows.Forms.Label();
|
||||
this.lblKpiTrades = new System.Windows.Forms.Label();
|
||||
this.lblKpiAvg = new System.Windows.Forms.Label();
|
||||
this.lblKpiPf = new System.Windows.Forms.Label();
|
||||
this.tabHistory = new System.Windows.Forms.TabPage();
|
||||
this.dgvTrades = new System.Windows.Forms.DataGridView();
|
||||
this.colModule = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colAccount = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colMarket = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colOutcome = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colSide = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colEntry = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colExit = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colSize = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colPnl = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colPnlPct = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colClosedAt = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.pnlHistFilters = new System.Windows.Forms.Panel();
|
||||
this.lblSuche = new System.Windows.Forms.Label();
|
||||
this.tbSearch = new System.Windows.Forms.TextBox();
|
||||
this.lblErgebnis = new System.Windows.Forms.Label();
|
||||
this.cbWinLoss = new System.Windows.Forms.ComboBox();
|
||||
this.toolStripDash.SuspendLayout();
|
||||
this.tabControlDash.SuspendLayout();
|
||||
this.tabDashboard.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.picEquity)).BeginInit();
|
||||
this.pnlChartsBottom.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.picDay)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.picModule)).BeginInit();
|
||||
this.flpKpis.SuspendLayout();
|
||||
this.tabHistory.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvTrades)).BeginInit();
|
||||
this.pnlHistFilters.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DashboardView));
|
||||
toolStripDash = new ToolStrip();
|
||||
tslKonto = new ToolStripLabel();
|
||||
cbAccount = new ToolStripComboBox();
|
||||
tslModul = new ToolStripLabel();
|
||||
cbModule = new ToolStripComboBox();
|
||||
tslArt = new ToolStripLabel();
|
||||
cbMode = new ToolStripComboBox();
|
||||
tslZeit = new ToolStripLabel();
|
||||
cbRange = new ToolStripComboBox();
|
||||
tsRefresh = new ToolStripButton();
|
||||
tabControlDash = new TabControl();
|
||||
tabDashboard = new TabPage();
|
||||
picEquity = new PictureBox();
|
||||
pnlChartsBottom = new Panel();
|
||||
picDay = new PictureBox();
|
||||
picModule = new PictureBox();
|
||||
flpKpis = new FlowLayoutPanel();
|
||||
lblKpiPnl = new Label();
|
||||
lblKpiWin = new Label();
|
||||
lblKpiTrades = new Label();
|
||||
lblKpiAvg = new Label();
|
||||
lblKpiPf = new Label();
|
||||
tabHistory = new TabPage();
|
||||
dgvTrades = new DataGridView();
|
||||
colModule = new DataGridViewTextBoxColumn();
|
||||
colAccount = new DataGridViewTextBoxColumn();
|
||||
colMarket = new DataGridViewTextBoxColumn();
|
||||
colOutcome = new DataGridViewTextBoxColumn();
|
||||
colSide = new DataGridViewTextBoxColumn();
|
||||
colEntry = new DataGridViewTextBoxColumn();
|
||||
colExit = new DataGridViewTextBoxColumn();
|
||||
colSize = new DataGridViewTextBoxColumn();
|
||||
colPnl = new DataGridViewTextBoxColumn();
|
||||
colPnlPct = new DataGridViewTextBoxColumn();
|
||||
colClosedAt = new DataGridViewTextBoxColumn();
|
||||
pnlHistFilters = new Panel();
|
||||
cbWinLoss = new ComboBox();
|
||||
lblErgebnis = new Label();
|
||||
tbSearch = new TextBox();
|
||||
lblSuche = new Label();
|
||||
toolStripDash.SuspendLayout();
|
||||
tabControlDash.SuspendLayout();
|
||||
tabDashboard.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)picEquity).BeginInit();
|
||||
pnlChartsBottom.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)picDay).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)picModule).BeginInit();
|
||||
flpKpis.SuspendLayout();
|
||||
tabHistory.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)dgvTrades).BeginInit();
|
||||
pnlHistFilters.SuspendLayout();
|
||||
SuspendLayout();
|
||||
//
|
||||
// toolStripDash
|
||||
//
|
||||
this.toolStripDash.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.tslKonto, this.cbAccount, this.tslModul, this.cbModule, this.tslArt, this.cbMode,
|
||||
this.tslZeit, this.cbRange, this.tsRefresh});
|
||||
this.toolStripDash.Location = new System.Drawing.Point(0, 0);
|
||||
this.toolStripDash.Name = "toolStripDash";
|
||||
this.toolStripDash.Size = new System.Drawing.Size(1200, 27);
|
||||
this.toolStripDash.TabIndex = 0;
|
||||
//
|
||||
//
|
||||
toolStripDash.ImageScalingSize = new Size(24, 24);
|
||||
toolStripDash.Items.AddRange(new ToolStripItem[] { tslKonto, cbAccount, tslModul, cbModule, tslArt, cbMode, tslZeit, cbRange, tsRefresh });
|
||||
toolStripDash.Location = new Point(0, 0);
|
||||
toolStripDash.Name = "toolStripDash";
|
||||
toolStripDash.Padding = new Padding(0, 0, 3, 0);
|
||||
toolStripDash.Size = new Size(1714, 34);
|
||||
toolStripDash.TabIndex = 0;
|
||||
//
|
||||
// tslKonto
|
||||
//
|
||||
this.tslKonto.Name = "tslKonto";
|
||||
this.tslKonto.Text = "Konto:";
|
||||
//
|
||||
//
|
||||
tslKonto.Name = "tslKonto";
|
||||
tslKonto.Size = new Size(64, 29);
|
||||
tslKonto.Text = "Konto:";
|
||||
//
|
||||
// cbAccount
|
||||
//
|
||||
this.cbAccount.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.cbAccount.Name = "cbAccount";
|
||||
this.cbAccount.Size = new System.Drawing.Size(170, 27);
|
||||
//
|
||||
//
|
||||
cbAccount.DropDownStyle = ComboBoxStyle.DropDownList;
|
||||
cbAccount.Name = "cbAccount";
|
||||
cbAccount.Size = new Size(241, 34);
|
||||
//
|
||||
// tslModul
|
||||
//
|
||||
this.tslModul.Name = "tslModul";
|
||||
this.tslModul.Text = "Modul:";
|
||||
//
|
||||
//
|
||||
tslModul.Name = "tslModul";
|
||||
tslModul.Size = new Size(68, 29);
|
||||
tslModul.Text = "Modul:";
|
||||
//
|
||||
// cbModule
|
||||
//
|
||||
this.cbModule.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.cbModule.Name = "cbModule";
|
||||
this.cbModule.Size = new System.Drawing.Size(150, 27);
|
||||
//
|
||||
//
|
||||
cbModule.DropDownStyle = ComboBoxStyle.DropDownList;
|
||||
cbModule.Name = "cbModule";
|
||||
cbModule.Size = new Size(213, 34);
|
||||
//
|
||||
// tslArt
|
||||
//
|
||||
this.tslArt.Name = "tslArt";
|
||||
this.tslArt.Text = "Art:";
|
||||
//
|
||||
//
|
||||
tslArt.Name = "tslArt";
|
||||
tslArt.Size = new Size(40, 29);
|
||||
tslArt.Text = "Art:";
|
||||
//
|
||||
// cbMode
|
||||
//
|
||||
this.cbMode.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.cbMode.Name = "cbMode";
|
||||
this.cbMode.Size = new System.Drawing.Size(100, 27);
|
||||
//
|
||||
//
|
||||
cbMode.DropDownStyle = ComboBoxStyle.DropDownList;
|
||||
cbMode.Name = "cbMode";
|
||||
cbMode.Size = new Size(141, 34);
|
||||
//
|
||||
// tslZeit
|
||||
//
|
||||
this.tslZeit.Name = "tslZeit";
|
||||
this.tslZeit.Text = "Zeitraum:";
|
||||
//
|
||||
//
|
||||
tslZeit.Name = "tslZeit";
|
||||
tslZeit.Size = new Size(86, 29);
|
||||
tslZeit.Text = "Zeitraum:";
|
||||
//
|
||||
// cbRange
|
||||
//
|
||||
this.cbRange.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.cbRange.Name = "cbRange";
|
||||
this.cbRange.Size = new System.Drawing.Size(110, 27);
|
||||
//
|
||||
//
|
||||
cbRange.DropDownStyle = ComboBoxStyle.DropDownList;
|
||||
cbRange.Name = "cbRange";
|
||||
cbRange.Size = new Size(155, 34);
|
||||
//
|
||||
// tsRefresh
|
||||
//
|
||||
this.tsRefresh.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
|
||||
this.tsRefresh.Name = "tsRefresh";
|
||||
this.tsRefresh.Text = "Aktualisieren";
|
||||
//
|
||||
//
|
||||
tsRefresh.DisplayStyle = ToolStripItemDisplayStyle.Text;
|
||||
tsRefresh.Name = "tsRefresh";
|
||||
tsRefresh.Size = new Size(116, 29);
|
||||
tsRefresh.Text = "Aktualisieren";
|
||||
//
|
||||
// tabControlDash
|
||||
//
|
||||
this.tabControlDash.Controls.Add(this.tabDashboard);
|
||||
this.tabControlDash.Controls.Add(this.tabHistory);
|
||||
this.tabControlDash.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tabControlDash.Location = new System.Drawing.Point(0, 27);
|
||||
this.tabControlDash.Name = "tabControlDash";
|
||||
this.tabControlDash.SelectedIndex = 0;
|
||||
this.tabControlDash.Size = new System.Drawing.Size(1200, 623);
|
||||
this.tabControlDash.TabIndex = 1;
|
||||
//
|
||||
//
|
||||
tabControlDash.Controls.Add(tabDashboard);
|
||||
tabControlDash.Controls.Add(tabHistory);
|
||||
tabControlDash.Dock = DockStyle.Fill;
|
||||
tabControlDash.Location = new Point(0, 34);
|
||||
tabControlDash.Margin = new Padding(4, 5, 4, 5);
|
||||
tabControlDash.Name = "tabControlDash";
|
||||
tabControlDash.SelectedIndex = 0;
|
||||
tabControlDash.Size = new Size(1714, 1049);
|
||||
tabControlDash.TabIndex = 1;
|
||||
//
|
||||
// tabDashboard
|
||||
//
|
||||
this.tabDashboard.Controls.Add(this.picEquity);
|
||||
this.tabDashboard.Controls.Add(this.pnlChartsBottom);
|
||||
this.tabDashboard.Controls.Add(this.flpKpis);
|
||||
this.tabDashboard.Location = new System.Drawing.Point(4, 24);
|
||||
this.tabDashboard.Name = "tabDashboard";
|
||||
this.tabDashboard.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.tabDashboard.Size = new System.Drawing.Size(1192, 595);
|
||||
this.tabDashboard.TabIndex = 0;
|
||||
this.tabDashboard.Text = "Dashboard";
|
||||
this.tabDashboard.UseVisualStyleBackColor = true;
|
||||
//
|
||||
//
|
||||
tabDashboard.Controls.Add(picEquity);
|
||||
tabDashboard.Controls.Add(pnlChartsBottom);
|
||||
tabDashboard.Controls.Add(flpKpis);
|
||||
tabDashboard.Location = new Point(4, 34);
|
||||
tabDashboard.Margin = new Padding(4, 5, 4, 5);
|
||||
tabDashboard.Name = "tabDashboard";
|
||||
tabDashboard.Padding = new Padding(4, 5, 4, 5);
|
||||
tabDashboard.Size = new Size(1706, 1011);
|
||||
tabDashboard.TabIndex = 0;
|
||||
tabDashboard.Text = "Dashboard";
|
||||
tabDashboard.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// picEquity
|
||||
//
|
||||
this.picEquity.BackColor = System.Drawing.Color.White;
|
||||
this.picEquity.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.picEquity.Location = new System.Drawing.Point(3, 79);
|
||||
this.picEquity.Name = "picEquity";
|
||||
this.picEquity.Size = new System.Drawing.Size(1186, 273);
|
||||
this.picEquity.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||
this.picEquity.TabIndex = 2;
|
||||
this.picEquity.TabStop = false;
|
||||
//
|
||||
//
|
||||
picEquity.BackColor = Color.White;
|
||||
picEquity.Dock = DockStyle.Fill;
|
||||
picEquity.Location = new Point(4, 132);
|
||||
picEquity.Margin = new Padding(4, 5, 4, 5);
|
||||
picEquity.Name = "picEquity";
|
||||
picEquity.Size = new Size(1698, 474);
|
||||
picEquity.SizeMode = PictureBoxSizeMode.Zoom;
|
||||
picEquity.TabIndex = 2;
|
||||
picEquity.TabStop = false;
|
||||
//
|
||||
// pnlChartsBottom
|
||||
//
|
||||
this.pnlChartsBottom.Controls.Add(this.picDay);
|
||||
this.pnlChartsBottom.Controls.Add(this.picModule);
|
||||
this.pnlChartsBottom.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||
this.pnlChartsBottom.Location = new System.Drawing.Point(3, 352);
|
||||
this.pnlChartsBottom.Name = "pnlChartsBottom";
|
||||
this.pnlChartsBottom.Size = new System.Drawing.Size(1186, 240);
|
||||
this.pnlChartsBottom.TabIndex = 1;
|
||||
//
|
||||
//
|
||||
pnlChartsBottom.Controls.Add(picDay);
|
||||
pnlChartsBottom.Controls.Add(picModule);
|
||||
pnlChartsBottom.Dock = DockStyle.Bottom;
|
||||
pnlChartsBottom.Location = new Point(4, 606);
|
||||
pnlChartsBottom.Margin = new Padding(4, 5, 4, 5);
|
||||
pnlChartsBottom.Name = "pnlChartsBottom";
|
||||
pnlChartsBottom.Size = new Size(1698, 400);
|
||||
pnlChartsBottom.TabIndex = 1;
|
||||
//
|
||||
// picDay
|
||||
//
|
||||
this.picDay.BackColor = System.Drawing.Color.White;
|
||||
this.picDay.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.picDay.Location = new System.Drawing.Point(593, 0);
|
||||
this.picDay.Name = "picDay";
|
||||
this.picDay.Size = new System.Drawing.Size(593, 240);
|
||||
this.picDay.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||
this.picDay.TabIndex = 1;
|
||||
this.picDay.TabStop = false;
|
||||
//
|
||||
//
|
||||
picDay.BackColor = Color.White;
|
||||
picDay.Dock = DockStyle.Fill;
|
||||
picDay.Location = new Point(847, 0);
|
||||
picDay.Margin = new Padding(4, 5, 4, 5);
|
||||
picDay.Name = "picDay";
|
||||
picDay.Size = new Size(851, 400);
|
||||
picDay.SizeMode = PictureBoxSizeMode.Zoom;
|
||||
picDay.TabIndex = 1;
|
||||
picDay.TabStop = false;
|
||||
//
|
||||
// picModule
|
||||
//
|
||||
this.picModule.BackColor = System.Drawing.Color.White;
|
||||
this.picModule.Dock = System.Windows.Forms.DockStyle.Left;
|
||||
this.picModule.Location = new System.Drawing.Point(0, 0);
|
||||
this.picModule.Name = "picModule";
|
||||
this.picModule.Size = new System.Drawing.Size(593, 240);
|
||||
this.picModule.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||
this.picModule.TabIndex = 0;
|
||||
this.picModule.TabStop = false;
|
||||
//
|
||||
//
|
||||
picModule.BackColor = Color.White;
|
||||
picModule.Dock = DockStyle.Left;
|
||||
picModule.Location = new Point(0, 0);
|
||||
picModule.Margin = new Padding(4, 5, 4, 5);
|
||||
picModule.Name = "picModule";
|
||||
picModule.Size = new Size(847, 400);
|
||||
picModule.SizeMode = PictureBoxSizeMode.Zoom;
|
||||
picModule.TabIndex = 0;
|
||||
picModule.TabStop = false;
|
||||
//
|
||||
// flpKpis
|
||||
//
|
||||
this.flpKpis.Controls.Add(this.lblKpiPnl);
|
||||
this.flpKpis.Controls.Add(this.lblKpiWin);
|
||||
this.flpKpis.Controls.Add(this.lblKpiTrades);
|
||||
this.flpKpis.Controls.Add(this.lblKpiAvg);
|
||||
this.flpKpis.Controls.Add(this.lblKpiPf);
|
||||
this.flpKpis.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.flpKpis.Location = new System.Drawing.Point(3, 3);
|
||||
this.flpKpis.Name = "flpKpis";
|
||||
this.flpKpis.Padding = new System.Windows.Forms.Padding(4);
|
||||
this.flpKpis.Size = new System.Drawing.Size(1186, 76);
|
||||
this.flpKpis.TabIndex = 0;
|
||||
this.flpKpis.WrapContents = false;
|
||||
//
|
||||
//
|
||||
flpKpis.Controls.Add(lblKpiPnl);
|
||||
flpKpis.Controls.Add(lblKpiWin);
|
||||
flpKpis.Controls.Add(lblKpiTrades);
|
||||
flpKpis.Controls.Add(lblKpiAvg);
|
||||
flpKpis.Controls.Add(lblKpiPf);
|
||||
flpKpis.Dock = DockStyle.Top;
|
||||
flpKpis.Location = new Point(4, 5);
|
||||
flpKpis.Margin = new Padding(4, 5, 4, 5);
|
||||
flpKpis.Name = "flpKpis";
|
||||
flpKpis.Padding = new Padding(6, 7, 6, 7);
|
||||
flpKpis.Size = new Size(1698, 127);
|
||||
flpKpis.TabIndex = 0;
|
||||
flpKpis.WrapContents = false;
|
||||
//
|
||||
// lblKpiPnl
|
||||
//
|
||||
this.lblKpiPnl.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.lblKpiPnl.Font = new System.Drawing.Font("Segoe UI", 10F, System.Drawing.FontStyle.Bold);
|
||||
this.lblKpiPnl.Margin = new System.Windows.Forms.Padding(4);
|
||||
this.lblKpiPnl.MinimumSize = new System.Drawing.Size(190, 56);
|
||||
this.lblKpiPnl.Name = "lblKpiPnl";
|
||||
this.lblKpiPnl.Padding = new System.Windows.Forms.Padding(8);
|
||||
this.lblKpiPnl.Size = new System.Drawing.Size(190, 56);
|
||||
this.lblKpiPnl.TabIndex = 0;
|
||||
this.lblKpiPnl.Text = "Netto-PnL\n—";
|
||||
this.lblKpiPnl.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
//
|
||||
lblKpiPnl.BorderStyle = BorderStyle.FixedSingle;
|
||||
lblKpiPnl.Font = new Font("Segoe UI", 10F, FontStyle.Bold);
|
||||
lblKpiPnl.Location = new Point(12, 14);
|
||||
lblKpiPnl.Margin = new Padding(6, 7, 6, 7);
|
||||
lblKpiPnl.MinimumSize = new Size(271, 92);
|
||||
lblKpiPnl.Name = "lblKpiPnl";
|
||||
lblKpiPnl.Padding = new Padding(11, 13, 11, 13);
|
||||
lblKpiPnl.Size = new Size(271, 92);
|
||||
lblKpiPnl.TabIndex = 0;
|
||||
lblKpiPnl.Text = "Netto-PnL\n—";
|
||||
lblKpiPnl.TextAlign = ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// lblKpiWin
|
||||
//
|
||||
this.lblKpiWin.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.lblKpiWin.Font = new System.Drawing.Font("Segoe UI", 10F, System.Drawing.FontStyle.Bold);
|
||||
this.lblKpiWin.Margin = new System.Windows.Forms.Padding(4);
|
||||
this.lblKpiWin.MinimumSize = new System.Drawing.Size(150, 56);
|
||||
this.lblKpiWin.Name = "lblKpiWin";
|
||||
this.lblKpiWin.Padding = new System.Windows.Forms.Padding(8);
|
||||
this.lblKpiWin.Size = new System.Drawing.Size(150, 56);
|
||||
this.lblKpiWin.TabIndex = 1;
|
||||
this.lblKpiWin.Text = "Winrate\n—";
|
||||
this.lblKpiWin.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
//
|
||||
lblKpiWin.BorderStyle = BorderStyle.FixedSingle;
|
||||
lblKpiWin.Font = new Font("Segoe UI", 10F, FontStyle.Bold);
|
||||
lblKpiWin.Location = new Point(295, 14);
|
||||
lblKpiWin.Margin = new Padding(6, 7, 6, 7);
|
||||
lblKpiWin.MinimumSize = new Size(213, 92);
|
||||
lblKpiWin.Name = "lblKpiWin";
|
||||
lblKpiWin.Padding = new Padding(11, 13, 11, 13);
|
||||
lblKpiWin.Size = new Size(213, 92);
|
||||
lblKpiWin.TabIndex = 1;
|
||||
lblKpiWin.Text = "Winrate\n—";
|
||||
lblKpiWin.TextAlign = ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// lblKpiTrades
|
||||
//
|
||||
this.lblKpiTrades.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.lblKpiTrades.Font = new System.Drawing.Font("Segoe UI", 10F, System.Drawing.FontStyle.Bold);
|
||||
this.lblKpiTrades.Margin = new System.Windows.Forms.Padding(4);
|
||||
this.lblKpiTrades.MinimumSize = new System.Drawing.Size(130, 56);
|
||||
this.lblKpiTrades.Name = "lblKpiTrades";
|
||||
this.lblKpiTrades.Padding = new System.Windows.Forms.Padding(8);
|
||||
this.lblKpiTrades.Size = new System.Drawing.Size(130, 56);
|
||||
this.lblKpiTrades.TabIndex = 2;
|
||||
this.lblKpiTrades.Text = "Trades\n—";
|
||||
this.lblKpiTrades.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
//
|
||||
lblKpiTrades.BorderStyle = BorderStyle.FixedSingle;
|
||||
lblKpiTrades.Font = new Font("Segoe UI", 10F, FontStyle.Bold);
|
||||
lblKpiTrades.Location = new Point(520, 14);
|
||||
lblKpiTrades.Margin = new Padding(6, 7, 6, 7);
|
||||
lblKpiTrades.MinimumSize = new Size(185, 92);
|
||||
lblKpiTrades.Name = "lblKpiTrades";
|
||||
lblKpiTrades.Padding = new Padding(11, 13, 11, 13);
|
||||
lblKpiTrades.Size = new Size(185, 92);
|
||||
lblKpiTrades.TabIndex = 2;
|
||||
lblKpiTrades.Text = "Trades\n—";
|
||||
lblKpiTrades.TextAlign = ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// lblKpiAvg
|
||||
//
|
||||
this.lblKpiAvg.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.lblKpiAvg.Font = new System.Drawing.Font("Segoe UI", 10F, System.Drawing.FontStyle.Bold);
|
||||
this.lblKpiAvg.Margin = new System.Windows.Forms.Padding(4);
|
||||
this.lblKpiAvg.MinimumSize = new System.Drawing.Size(170, 56);
|
||||
this.lblKpiAvg.Name = "lblKpiAvg";
|
||||
this.lblKpiAvg.Padding = new System.Windows.Forms.Padding(8);
|
||||
this.lblKpiAvg.Size = new System.Drawing.Size(170, 56);
|
||||
this.lblKpiAvg.TabIndex = 3;
|
||||
this.lblKpiAvg.Text = "Ø PnL/Trade\n—";
|
||||
this.lblKpiAvg.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
//
|
||||
lblKpiAvg.BorderStyle = BorderStyle.FixedSingle;
|
||||
lblKpiAvg.Font = new Font("Segoe UI", 10F, FontStyle.Bold);
|
||||
lblKpiAvg.Location = new Point(717, 14);
|
||||
lblKpiAvg.Margin = new Padding(6, 7, 6, 7);
|
||||
lblKpiAvg.MinimumSize = new Size(242, 92);
|
||||
lblKpiAvg.Name = "lblKpiAvg";
|
||||
lblKpiAvg.Padding = new Padding(11, 13, 11, 13);
|
||||
lblKpiAvg.Size = new Size(242, 92);
|
||||
lblKpiAvg.TabIndex = 3;
|
||||
lblKpiAvg.Text = "Ø PnL/Trade\n—";
|
||||
lblKpiAvg.TextAlign = ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// lblKpiPf
|
||||
//
|
||||
this.lblKpiPf.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.lblKpiPf.Font = new System.Drawing.Font("Segoe UI", 10F, System.Drawing.FontStyle.Bold);
|
||||
this.lblKpiPf.Margin = new System.Windows.Forms.Padding(4);
|
||||
this.lblKpiPf.MinimumSize = new System.Drawing.Size(150, 56);
|
||||
this.lblKpiPf.Name = "lblKpiPf";
|
||||
this.lblKpiPf.Padding = new System.Windows.Forms.Padding(8);
|
||||
this.lblKpiPf.Size = new System.Drawing.Size(150, 56);
|
||||
this.lblKpiPf.TabIndex = 4;
|
||||
this.lblKpiPf.Text = "Profit-Faktor\n—";
|
||||
this.lblKpiPf.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
//
|
||||
lblKpiPf.BorderStyle = BorderStyle.FixedSingle;
|
||||
lblKpiPf.Font = new Font("Segoe UI", 10F, FontStyle.Bold);
|
||||
lblKpiPf.Location = new Point(971, 14);
|
||||
lblKpiPf.Margin = new Padding(6, 7, 6, 7);
|
||||
lblKpiPf.MinimumSize = new Size(213, 92);
|
||||
lblKpiPf.Name = "lblKpiPf";
|
||||
lblKpiPf.Padding = new Padding(11, 13, 11, 13);
|
||||
lblKpiPf.Size = new Size(213, 92);
|
||||
lblKpiPf.TabIndex = 4;
|
||||
lblKpiPf.Text = "Profit-Faktor\n—";
|
||||
lblKpiPf.TextAlign = ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// tabHistory
|
||||
//
|
||||
this.tabHistory.Controls.Add(this.dgvTrades);
|
||||
this.tabHistory.Controls.Add(this.pnlHistFilters);
|
||||
this.tabHistory.Location = new System.Drawing.Point(4, 24);
|
||||
this.tabHistory.Name = "tabHistory";
|
||||
this.tabHistory.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.tabHistory.Size = new System.Drawing.Size(1192, 595);
|
||||
this.tabHistory.TabIndex = 1;
|
||||
this.tabHistory.Text = "Tradehistorie";
|
||||
this.tabHistory.UseVisualStyleBackColor = true;
|
||||
//
|
||||
//
|
||||
tabHistory.Controls.Add(dgvTrades);
|
||||
tabHistory.Controls.Add(pnlHistFilters);
|
||||
tabHistory.Location = new Point(4, 34);
|
||||
tabHistory.Margin = new Padding(4, 5, 4, 5);
|
||||
tabHistory.Name = "tabHistory";
|
||||
tabHistory.Padding = new Padding(4, 5, 4, 5);
|
||||
tabHistory.Size = new Size(1706, 1000);
|
||||
tabHistory.TabIndex = 1;
|
||||
tabHistory.Text = "Tradehistorie";
|
||||
tabHistory.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// dgvTrades
|
||||
//
|
||||
this.dgvTrades.AllowUserToAddRows = false;
|
||||
this.dgvTrades.AllowUserToDeleteRows = false;
|
||||
this.dgvTrades.AutoGenerateColumns = false;
|
||||
this.dgvTrades.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dgvTrades.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.colModule, this.colAccount, this.colMarket, this.colOutcome, this.colSide,
|
||||
this.colEntry, this.colExit, this.colSize, this.colPnl, this.colPnlPct, this.colClosedAt});
|
||||
this.dgvTrades.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.dgvTrades.Location = new System.Drawing.Point(3, 39);
|
||||
this.dgvTrades.Name = "dgvTrades";
|
||||
this.dgvTrades.ReadOnly = true;
|
||||
this.dgvTrades.RowHeadersVisible = false;
|
||||
this.dgvTrades.Size = new System.Drawing.Size(1186, 553);
|
||||
this.dgvTrades.TabIndex = 1;
|
||||
//
|
||||
dgvTrades.AllowUserToAddRows = false;
|
||||
dgvTrades.AllowUserToDeleteRows = false;
|
||||
dgvTrades.AutoGenerateColumns = false;
|
||||
dgvTrades.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
dgvTrades.Columns.AddRange(new DataGridViewColumn[] { colModule, colAccount, colMarket, colOutcome, colSide, colEntry, colExit, colSize, colPnl, colPnlPct, colClosedAt });
|
||||
dgvTrades.Dock = DockStyle.Fill;
|
||||
dgvTrades.Location = new Point(4, 65);
|
||||
dgvTrades.Margin = new Padding(4, 5, 4, 5);
|
||||
dgvTrades.Name = "dgvTrades";
|
||||
dgvTrades.ReadOnly = true;
|
||||
dgvTrades.RowHeadersVisible = false;
|
||||
dgvTrades.RowHeadersWidth = 62;
|
||||
dgvTrades.Size = new Size(1698, 930);
|
||||
dgvTrades.TabIndex = 1;
|
||||
//
|
||||
// colModule
|
||||
//
|
||||
this.colModule.DataPropertyName = "Module";
|
||||
this.colModule.HeaderText = "Modul";
|
||||
this.colModule.Name = "colModule";
|
||||
this.colModule.Width = 110;
|
||||
colModule.DataPropertyName = "Module";
|
||||
colModule.HeaderText = "Modul";
|
||||
colModule.Name = "colModule";
|
||||
colModule.Width = 110;
|
||||
//
|
||||
// colAccount
|
||||
//
|
||||
this.colAccount.DataPropertyName = "Account";
|
||||
this.colAccount.HeaderText = "Konto";
|
||||
this.colAccount.Name = "colAccount";
|
||||
this.colAccount.Width = 130;
|
||||
colAccount.DataPropertyName = "Account";
|
||||
colAccount.HeaderText = "Konto";
|
||||
colAccount.Name = "colAccount";
|
||||
colAccount.Width = 130;
|
||||
//
|
||||
// colMarket
|
||||
//
|
||||
this.colMarket.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
|
||||
this.colMarket.DataPropertyName = "Market";
|
||||
this.colMarket.HeaderText = "Markt";
|
||||
this.colMarket.Name = "colMarket";
|
||||
colMarket.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
|
||||
colMarket.DataPropertyName = "Market";
|
||||
colMarket.HeaderText = "Markt";
|
||||
colMarket.Name = "colMarket";
|
||||
//
|
||||
// colOutcome
|
||||
//
|
||||
this.colOutcome.DataPropertyName = "Outcome";
|
||||
this.colOutcome.HeaderText = "Outcome";
|
||||
this.colOutcome.Name = "colOutcome";
|
||||
this.colOutcome.Width = 80;
|
||||
colOutcome.DataPropertyName = "Outcome";
|
||||
colOutcome.HeaderText = "Outcome";
|
||||
colOutcome.Name = "colOutcome";
|
||||
colOutcome.Width = 80;
|
||||
//
|
||||
// colSide
|
||||
//
|
||||
this.colSide.DataPropertyName = "Side";
|
||||
this.colSide.HeaderText = "Side";
|
||||
this.colSide.Name = "colSide";
|
||||
this.colSide.Width = 60;
|
||||
colSide.DataPropertyName = "Side";
|
||||
colSide.HeaderText = "Side";
|
||||
colSide.Name = "colSide";
|
||||
colSide.Width = 60;
|
||||
//
|
||||
// colEntry
|
||||
//
|
||||
this.colEntry.DataPropertyName = "EntryPrice";
|
||||
this.colEntry.HeaderText = "Entry";
|
||||
this.colEntry.Name = "colEntry";
|
||||
this.colEntry.Width = 70;
|
||||
colEntry.DataPropertyName = "EntryPrice";
|
||||
colEntry.HeaderText = "Entry";
|
||||
colEntry.Name = "colEntry";
|
||||
colEntry.Width = 70;
|
||||
//
|
||||
// colExit
|
||||
//
|
||||
this.colExit.DataPropertyName = "ExitPrice";
|
||||
this.colExit.HeaderText = "Exit";
|
||||
this.colExit.Name = "colExit";
|
||||
this.colExit.Width = 70;
|
||||
colExit.DataPropertyName = "ExitPrice";
|
||||
colExit.HeaderText = "Exit";
|
||||
colExit.Name = "colExit";
|
||||
colExit.Width = 70;
|
||||
//
|
||||
// colSize
|
||||
//
|
||||
this.colSize.DataPropertyName = "Size";
|
||||
this.colSize.HeaderText = "Size";
|
||||
this.colSize.Name = "colSize";
|
||||
this.colSize.Width = 70;
|
||||
colSize.DataPropertyName = "Size";
|
||||
colSize.HeaderText = "Size";
|
||||
colSize.Name = "colSize";
|
||||
colSize.Width = 70;
|
||||
//
|
||||
// colPnl
|
||||
//
|
||||
this.colPnl.DataPropertyName = "RealizedPnl";
|
||||
this.colPnl.HeaderText = "PnL";
|
||||
this.colPnl.Name = "colPnl";
|
||||
this.colPnl.Width = 80;
|
||||
colPnl.DataPropertyName = "RealizedPnl";
|
||||
colPnl.HeaderText = "PnL";
|
||||
colPnl.Name = "colPnl";
|
||||
colPnl.Width = 80;
|
||||
//
|
||||
// colPnlPct
|
||||
//
|
||||
this.colPnlPct.DataPropertyName = "PnlPercent";
|
||||
this.colPnlPct.HeaderText = "PnL %";
|
||||
this.colPnlPct.Name = "colPnlPct";
|
||||
this.colPnlPct.Width = 70;
|
||||
colPnlPct.DataPropertyName = "PnlPercent";
|
||||
colPnlPct.HeaderText = "PnL %";
|
||||
colPnlPct.Name = "colPnlPct";
|
||||
colPnlPct.Width = 70;
|
||||
//
|
||||
// colClosedAt
|
||||
//
|
||||
this.colClosedAt.DataPropertyName = "ClosedAt";
|
||||
this.colClosedAt.HeaderText = "Geschlossen";
|
||||
this.colClosedAt.Name = "colClosedAt";
|
||||
this.colClosedAt.Width = 140;
|
||||
colClosedAt.DataPropertyName = "ClosedAt";
|
||||
colClosedAt.HeaderText = "Geschlossen";
|
||||
colClosedAt.Name = "colClosedAt";
|
||||
colClosedAt.Width = 140;
|
||||
//
|
||||
// pnlHistFilters
|
||||
//
|
||||
this.pnlHistFilters.Controls.Add(this.cbWinLoss);
|
||||
this.pnlHistFilters.Controls.Add(this.lblErgebnis);
|
||||
this.pnlHistFilters.Controls.Add(this.tbSearch);
|
||||
this.pnlHistFilters.Controls.Add(this.lblSuche);
|
||||
this.pnlHistFilters.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.pnlHistFilters.Location = new System.Drawing.Point(3, 3);
|
||||
this.pnlHistFilters.Name = "pnlHistFilters";
|
||||
this.pnlHistFilters.Size = new System.Drawing.Size(1186, 36);
|
||||
this.pnlHistFilters.TabIndex = 0;
|
||||
//
|
||||
// lblSuche
|
||||
//
|
||||
this.lblSuche.AutoSize = true;
|
||||
this.lblSuche.Location = new System.Drawing.Point(6, 9);
|
||||
this.lblSuche.Name = "lblSuche";
|
||||
this.lblSuche.Size = new System.Drawing.Size(45, 15);
|
||||
this.lblSuche.TabIndex = 0;
|
||||
this.lblSuche.Text = "Suche:";
|
||||
//
|
||||
// tbSearch
|
||||
//
|
||||
this.tbSearch.Location = new System.Drawing.Point(57, 6);
|
||||
this.tbSearch.Name = "tbSearch";
|
||||
this.tbSearch.PlaceholderText = "Markt / Outcome …";
|
||||
this.tbSearch.Size = new System.Drawing.Size(280, 23);
|
||||
this.tbSearch.TabIndex = 1;
|
||||
//
|
||||
// lblErgebnis
|
||||
//
|
||||
this.lblErgebnis.AutoSize = true;
|
||||
this.lblErgebnis.Location = new System.Drawing.Point(360, 9);
|
||||
this.lblErgebnis.Name = "lblErgebnis";
|
||||
this.lblErgebnis.Size = new System.Drawing.Size(58, 15);
|
||||
this.lblErgebnis.TabIndex = 2;
|
||||
this.lblErgebnis.Text = "Ergebnis:";
|
||||
//
|
||||
//
|
||||
pnlHistFilters.Controls.Add(cbWinLoss);
|
||||
pnlHistFilters.Controls.Add(lblErgebnis);
|
||||
pnlHistFilters.Controls.Add(tbSearch);
|
||||
pnlHistFilters.Controls.Add(lblSuche);
|
||||
pnlHistFilters.Dock = DockStyle.Top;
|
||||
pnlHistFilters.Location = new Point(4, 5);
|
||||
pnlHistFilters.Margin = new Padding(4, 5, 4, 5);
|
||||
pnlHistFilters.Name = "pnlHistFilters";
|
||||
pnlHistFilters.Size = new Size(1698, 60);
|
||||
pnlHistFilters.TabIndex = 0;
|
||||
//
|
||||
// cbWinLoss
|
||||
//
|
||||
this.cbWinLoss.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.cbWinLoss.Location = new System.Drawing.Point(424, 6);
|
||||
this.cbWinLoss.Name = "cbWinLoss";
|
||||
this.cbWinLoss.Size = new System.Drawing.Size(150, 23);
|
||||
this.cbWinLoss.TabIndex = 3;
|
||||
//
|
||||
//
|
||||
cbWinLoss.DropDownStyle = ComboBoxStyle.DropDownList;
|
||||
cbWinLoss.Location = new Point(606, 10);
|
||||
cbWinLoss.Margin = new Padding(4, 5, 4, 5);
|
||||
cbWinLoss.Name = "cbWinLoss";
|
||||
cbWinLoss.Size = new Size(213, 33);
|
||||
cbWinLoss.TabIndex = 3;
|
||||
//
|
||||
// lblErgebnis
|
||||
//
|
||||
lblErgebnis.AutoSize = true;
|
||||
lblErgebnis.Location = new Point(514, 15);
|
||||
lblErgebnis.Margin = new Padding(4, 0, 4, 0);
|
||||
lblErgebnis.Name = "lblErgebnis";
|
||||
lblErgebnis.Size = new Size(84, 25);
|
||||
lblErgebnis.TabIndex = 2;
|
||||
lblErgebnis.Text = "Ergebnis:";
|
||||
//
|
||||
// tbSearch
|
||||
//
|
||||
tbSearch.Location = new Point(81, 10);
|
||||
tbSearch.Margin = new Padding(4, 5, 4, 5);
|
||||
tbSearch.Name = "tbSearch";
|
||||
tbSearch.PlaceholderText = "Markt / Outcome …";
|
||||
tbSearch.Size = new Size(398, 31);
|
||||
tbSearch.TabIndex = 1;
|
||||
//
|
||||
// lblSuche
|
||||
//
|
||||
lblSuche.AutoSize = true;
|
||||
lblSuche.Location = new Point(9, 15);
|
||||
lblSuche.Margin = new Padding(4, 0, 4, 0);
|
||||
lblSuche.Name = "lblSuche";
|
||||
lblSuche.Size = new Size(63, 25);
|
||||
lblSuche.TabIndex = 0;
|
||||
lblSuche.Text = "Suche:";
|
||||
//
|
||||
// DashboardView
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.tabControlDash);
|
||||
this.Controls.Add(this.toolStripDash);
|
||||
this.ClientSize = new System.Drawing.Size(1200, 650);
|
||||
this.Name = "DashboardView";
|
||||
this.Text = "Dashboard";
|
||||
this.toolStripDash.ResumeLayout(false);
|
||||
this.toolStripDash.PerformLayout();
|
||||
this.tabControlDash.ResumeLayout(false);
|
||||
this.tabDashboard.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.picEquity)).EndInit();
|
||||
this.pnlChartsBottom.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.picDay)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.picModule)).EndInit();
|
||||
this.flpKpis.ResumeLayout(false);
|
||||
this.tabHistory.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvTrades)).EndInit();
|
||||
this.pnlHistFilters.ResumeLayout(false);
|
||||
this.pnlHistFilters.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
//
|
||||
AutoScaleDimensions = new SizeF(10F, 25F);
|
||||
AutoScaleMode = AutoScaleMode.Font;
|
||||
ClientSize = new Size(1714, 1083);
|
||||
Controls.Add(tabControlDash);
|
||||
Controls.Add(toolStripDash);
|
||||
Icon = (Icon)resources.GetObject("$this.Icon");
|
||||
Margin = new Padding(4, 5, 4, 5);
|
||||
Name = "DashboardView";
|
||||
Text = "Dashboard";
|
||||
toolStripDash.ResumeLayout(false);
|
||||
toolStripDash.PerformLayout();
|
||||
tabControlDash.ResumeLayout(false);
|
||||
tabDashboard.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)picEquity).EndInit();
|
||||
pnlChartsBottom.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)picDay).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)picModule).EndInit();
|
||||
flpKpis.ResumeLayout(false);
|
||||
tabHistory.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)dgvTrades).EndInit();
|
||||
pnlHistFilters.ResumeLayout(false);
|
||||
pnlHistFilters.PerformLayout();
|
||||
ResumeLayout(false);
|
||||
PerformLayout();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
+93
-27
@@ -1,17 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
|
||||
Example:
|
||||
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
@@ -26,36 +26,36 @@
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
@@ -117,4 +117,70 @@
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="toolStripDash.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAMAEBAAAAAAIACtAgAANgAAABgYAAAAACAAogQAAOMCAAAgIAAAAAAgANoFAACFBwAAiVBORw0K
|
||||
GgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACdElEQVR4nJ2Tz09TQRDHv7Pd1/ejII8SlKQoNEIk
|
||||
lUQFPOLByKHx5KFaJEC8+BfomYNHverBmz9QwZuXxrtHGmJKIpAepAZaoqkF2sfre/vemm1AEhIJcZJN
|
||||
ZnfmM9/JZIfwb6Njd4nTWCaTiczNzTGiI1756k3FTlIhKaVKPlRqi8fjTDnVajUEUG+1ISUdFG/l8SMR
|
||||
UhFM3JxIXxoauqfpRjoMA0MFGYu4ftPNra2uLhBRTuWpQqoIHcJSyvap+9Mv7U47u1OrYbtSabV+oIpz
|
||||
PT3osG3Uftc+zL9785CI9lQRlslkmJRSz96d/GRZVhaBF0QYiWKxKEdGR1pH+YyRCAM/sCwzq3IVo1hS
|
||||
Cun07ae9vb2P8vm8l7g8HO1ghI31deiW1RqS4zgYGByE7/tYX1vzro6MRjd/lJ7lPuceUyqVGujv6/96
|
||||
bWzMaDYcSn18RQsXh+HoJkzPhSCCxjUIIVCv1zF+Y1wahinzS0vuRun7FdZld92JRnXrZ7mMrUaDKrsO
|
||||
XpSWIRp7KDsufMfBvrsP3dDRGe/E7s4uVSpl6LpuKZZ7onk+quvY3KqEEc7Y2+vjqC1/wWs/j8n2PhRJ
|
||||
wwXTBzEGu8PGVrmshhrGYjGmWOa6bhhhTMw+mBWmaYlE4InnZ5PiybYj3m9+E4nyhij9qgqnXhdNzxO2
|
||||
bYuZ2RmhGMVy4QkSQvBCocBVJ2fiXZiwLOS7u7EYOJjmhEXeju42C6YVg6ZpWCmscDUTxVIymbxl6PqU
|
||||
1/TJMAxwjYNHOEwtghJxhFIiEfrw/ABB4CMIAriuh6iuSbfZnD/VfpxkrZ+oftp/wUR/l+n46p7W5B/I
|
||||
LyhjthL6EQAAAABJRU5ErkJggolQTkcNChoKAAAADUlIRFIAAAAYAAAAGAgGAAAA4Hc9+AAABGlJREFU
|
||||
eJztlEtsVFUYx//ncXvnTnt7OzN9DCJpZBzQDjRRogZsmSBiiHYlMTFxBUjcaVILcdc0cWHAkOgOISYs
|
||||
3Ei6AJqIEB9AQtBiYqsz2tLWNAptKn1MpzP3MffcY84puOgComFj4pfc3Jlz/9/vO9/jHOC/buRBgv7+
|
||||
fjo0NMRc1yW5XE6vFQoFWJYle3p6xMDAQPRvg9N8Ps8fJLqrof8kA0oIiaSU+k8mk8k1WvUvwGCp9vbH
|
||||
9OL09G8ENTG/7Fa+npycLGgQIZBSqkDR/QL8Lejo6Nj7eGZT3yPr1+c2bsykbbsR5ZWSFtkNDsrlZUxN
|
||||
Tc7evnWrMDE5/mGxWLywlrE2AAGBjMt4eudLOz/OZDfvS6db6Z07d/BLsSAW5hdEWKtpITcMJFNJ9mRH
|
||||
jjU3N2N2di6avDk2eOXilberpDoLqbk6W3qvkYQQ2eQ0te96edfF7Tuefw0Q5Py5s+LSlxeixfl55lar
|
||||
dbv3vKgf9VutqW9D584KpVU+ylcx1EYVc20G9p7de37Y0d2dHf7+O+GurLDD7x3BJydOYXZ2Bm7VRW9f
|
||||
rxYeP3YcVr2FdDqNQ28dwrEPjiLe0CCeefY5du3q1ZuXvrq0DUBZZ3A3Eu3e0XU6t2VL9sbwcG3mj1ss
|
||||
7iQwMTGFWi0AYwyJRAInT5zUTyKZ0Gu1Wg1TE1NwGh0oH+WrGF3bu07fY+sMOjd37ss9teWzWNxiSwuL
|
||||
bMXziKhWsOgFaLAsxDiHJICMVntHiNqTRBiGqFar6kwgZsUQt+KyKZEQbqUqiiOFN0bHRgeVktsp+/U6
|
||||
0zR9z5O9R/qIk0zh01+HcRglVGwHhAAkEpC6bxKESDBGYcUstLS26BFNJpPoO/wu8X1PxizLVEzF5m1t
|
||||
bU84TuPOlXJZEkpYYWQUrhA4WvLx0UQRpTDEcacdzYEPEkWQhIBTqifJNKmGmzFTZzMyOoogCJjv+VIx
|
||||
FZvHDONRzoxWxrkol8vszOdnYDsOvtjWBX/kOk5Nj4O3uXjfSqNeCFhEosY4DCFWh55SWFYcruth8Mwg
|
||||
6kyT2rYtFFOzCeFmGIZSmWEYOm01vB2pJnybexp7iyO4MPc7GuwK3uEtqCcEtsERSQlKGTg3FBSmaUL5
|
||||
CyHUiZaKqdgUDAgCXzd7/8H92Nq5FZWVCoTvY0PMxPX2DPJuDK96Czjm3cbtShVzrg8RBLoskRD6hPpB
|
||||
oH0PHDygM9NMBnAGKGFEGY04YxHjFFKqqyZEqbyMdYGHKzyO7hkP1xrLSEVlvMkc/Bkm0EwIjDoDQkZ6
|
||||
bA3OdfMVSzEVm2Sz2VcSTtNQdtNmNDY5qkkQodAlEGqHajRlhLmaQCcFNlCJHyMClxswKQXRZWK62aof
|
||||
KuDyUgk3x8ewWFrq4a7rThuG8c3PP42uE6GIJAHlhIIwouedktU3ZxTnAXgSSEUShhQQUqp6Q4pI326R
|
||||
FCCSRIwzWhPhjGKr2lvqmgAQx8O1qrouVACSz+dVuR66Xb58eXWW/zfcx/4CcQn+oRLx+roAAAAASUVO
|
||||
RK5CYIKJUE5HDQoaCgAAAA1JSERSAAAAIAAAACAIBgAAAHN6evQAAAWhSURBVHic7VfLT1RXHP7O4947
|
||||
TtvxgRWR0WqgCIiI4qCCZTBpmtrHogubmKa7VvsvdFNjY9JVFyZNTI0Lk66bbhoxTRO1QUBgRhRLgWDC
|
||||
W5HyGgrMfZx7mt8Znq5s0sjGM3OYM+fxfb/z/R6XYVprbGTjG8qOVwbglQvAXjRYEkcTsWg0+rXWOM2A
|
||||
Q5bjID8/36yNj4/Dd11o4AFjaFxYWPiuvaM9838YwGpP1B2zpLwai8UOFpfsR8n+Ury1dy+mJicxPT1p
|
||||
Nm3dmodteXkYHBhAX28P+vt6kclkuvwgONfccvceQLb9dwNk8mT976+9EUser6vF7ngcf3V3o/vPR3jc
|
||||
/9gcXK4hjDHDUFRchPIDFSgrL8fwyAha7zZjfi5z507TH+8CCF7UAJZI1BRtsp2u6pqaSOWhKvx2sxEP
|
||||
H3RCSgkpBRjjUEphz5495sDQ0BCEENA6RBAoBEEAOvfe+6fNuVRbW3bRcw+2t7c9fl4N9jx59ZGjxdFI
|
||||
pK+uoQGWEGi88St27doFzgVGR0aNEQThei4ufnvRHLrwzQU4tmPQiLwwXogwVBgbG8PpDz6CrxTu3r6N
|
||||
hWy2JJXu6F9rBH/OAHtTJNJ3rLYWgefhZuMNkMrnvjqPc+e/BOMMQgoIS0BaElxy02lMc7RGe2gvnaGz
|
||||
hEFYhEnYxLHOz1ht1skTdenSsjL4QYD21lZEnIiRdHhwOLdZSAhOLmBgNsOli5fMPN0+5wJt9gwODOXm
|
||||
LRtCSjQ3NSFx/DgIGxrpppamKgD+WhfwmqM1X+zIz/+xorISd27dMoBcSigw428ObVwi+Kpoa4NwuYUh
|
||||
xUEu3giD1ug7YSRPnUJnKoWpqanzbR1t12j7sgKOlPIypVdX1wM0NDSAcY7bLa044M8jBENPdDNEGEIY
|
||||
QkO/LpSWjSFSEydLjciTyaQxrKvrIYreLkEm1XEZwE8AFuk67PChwx9Ho9FIqDXmZueQbKjHOw31UFzg
|
||||
am8LrvU3o1hl4VsWQgq0MIDvr/ZABWBMQwhmXJDLFplTAAz1yZMGMzObQahDEBdxEjcZYFuW9Xne9jxM
|
||||
jI/DdmyMjo6ZiI84Fs5O5W5yvfsW4vMzmA0Usq4Pz/dMJtCn79GY5gJoMoQCdalLW2KE8EbHDDZxEBdx
|
||||
EjeJGatJJHpKS8sLZmZnoAJl5DKB4Th4NDCI6odp/ExVlwGfxKvRKxw4QQChQ+NjzvmK9JZlw7Yt2LZt
|
||||
vERY5H+DR/ukwJbNW9DT0/2krb29lBSwGHgBbaQCIy0Llm3DdhzYQqBi3z60llfisxkACvhlNIVk5hkm
|
||||
PR//uB6yrgvXdeF5HnzfRxBQV1AqNBlAeIRFmDQmDsMFXkDcZICgACIQsnA5mMwYGsp3UVKwE/fKE4hP
|
||||
UNwCV6b7cWbuCSayWcwtLuaMMO7wTUwoFUCFyihmsmkpcwibxsS1xCPMCpVQ3/eMnGc+PWN6LqcUdBAg
|
||||
9Fxssy2EJWXYPZ5b+t59irMLf2Ni0cXcYhau6yHw/Ry5CqHDXCcDqC3jEgdxEedqIdLayLfJthEvLFzJ
|
||||
bRUy0D7jR99DTAqMFexG/MkwRvKBH/gUlOfiuh8zJXU5DqgM0zlNQnMOLvgKLo3drG84VwygoecF2LLV
|
||||
Qep+2kxYlgUVhqAXfdLtgmwWkVBhNBLFzqcLeLoNuMLnEfU8XGfbYUtBKWUUoBcVDDLAtmyk0mnjEqqa
|
||||
s9OzK1WEAdhxpOrwIyHEm1VHqleqmGbMVD4KGio8pvxyGjOEjMEDQ5aOaw0HGjb5l6KGpNfaXJBkpjHV
|
||||
F5o3N5YSnekUZcZEuvN+BSmg/MBvA/Bhx71Ws3m1vq37s2aO0f1Wb6FNLVz7jMmt5t7rGl+6yBKnIrzX
|
||||
AcRJCUoLvJxGD6JnAEbIAArTKD0PXuJ/ySSgC2ABG93Yq9+G2OC24Qb8C0/mvXXOnsjVAAAAAElFTkSu
|
||||
QmCC
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
Generated
+95
-94
@@ -17,126 +17,127 @@ namespace PolyTraderSharp.Ui.Views
|
||||
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.dgvJobs = new System.Windows.Forms.DataGridView();
|
||||
this.colJobName = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colStatus = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colLastRun = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colNextRun = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.col_dgv_jobs_Enabled = new System.Windows.Forms.DataGridViewCheckBoxColumn();
|
||||
this.col_dgv_jobs_Run = new System.Windows.Forms.DataGridViewButtonColumn();
|
||||
this.colDescription = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.toolStripJobs = new System.Windows.Forms.ToolStrip();
|
||||
this.tsJobsRefresh = new System.Windows.Forms.ToolStripButton();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvJobs)).BeginInit();
|
||||
this.toolStripJobs.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(JobsView));
|
||||
dgvJobs = new DataGridView();
|
||||
colJobName = new DataGridViewTextBoxColumn();
|
||||
colStatus = new DataGridViewTextBoxColumn();
|
||||
colLastRun = new DataGridViewTextBoxColumn();
|
||||
colNextRun = new DataGridViewTextBoxColumn();
|
||||
col_dgv_jobs_Enabled = new DataGridViewCheckBoxColumn();
|
||||
col_dgv_jobs_Run = new DataGridViewButtonColumn();
|
||||
colDescription = new DataGridViewTextBoxColumn();
|
||||
toolStripJobs = new ToolStrip();
|
||||
tsJobsRefresh = new ToolStripButton();
|
||||
((System.ComponentModel.ISupportInitialize)dgvJobs).BeginInit();
|
||||
toolStripJobs.SuspendLayout();
|
||||
SuspendLayout();
|
||||
//
|
||||
// dgvJobs
|
||||
//
|
||||
this.dgvJobs.AllowUserToAddRows = false;
|
||||
this.dgvJobs.AllowUserToDeleteRows = false;
|
||||
this.dgvJobs.AutoGenerateColumns = false;
|
||||
this.dgvJobs.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dgvJobs.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.colJobName,
|
||||
this.colStatus,
|
||||
this.colLastRun,
|
||||
this.colNextRun,
|
||||
this.col_dgv_jobs_Enabled,
|
||||
this.col_dgv_jobs_Run,
|
||||
this.colDescription});
|
||||
this.dgvJobs.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.dgvJobs.Location = new System.Drawing.Point(0, 0);
|
||||
this.dgvJobs.Name = "dgvJobs";
|
||||
this.dgvJobs.RowHeadersVisible = false;
|
||||
this.dgvJobs.Size = new System.Drawing.Size(900, 500);
|
||||
this.dgvJobs.TabIndex = 0;
|
||||
//
|
||||
dgvJobs.AllowUserToAddRows = false;
|
||||
dgvJobs.AllowUserToDeleteRows = false;
|
||||
dgvJobs.AutoGenerateColumns = false;
|
||||
dgvJobs.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
dgvJobs.Columns.AddRange(new DataGridViewColumn[] { colJobName, colStatus, colLastRun, colNextRun, col_dgv_jobs_Enabled, col_dgv_jobs_Run, colDescription });
|
||||
dgvJobs.Dock = DockStyle.Fill;
|
||||
dgvJobs.Location = new Point(0, 34);
|
||||
dgvJobs.Margin = new Padding(4, 5, 4, 5);
|
||||
dgvJobs.Name = "dgvJobs";
|
||||
dgvJobs.RowHeadersVisible = false;
|
||||
dgvJobs.RowHeadersWidth = 62;
|
||||
dgvJobs.Size = new Size(1429, 799);
|
||||
dgvJobs.TabIndex = 0;
|
||||
//
|
||||
// colJobName
|
||||
//
|
||||
this.colJobName.DataPropertyName = "JobName";
|
||||
this.colJobName.HeaderText = "Job Name";
|
||||
this.colJobName.Name = "colJobName";
|
||||
this.colJobName.ReadOnly = true;
|
||||
this.colJobName.Width = 150;
|
||||
colJobName.DataPropertyName = "JobName";
|
||||
colJobName.HeaderText = "Job Name";
|
||||
colJobName.Name = "colJobName";
|
||||
colJobName.ReadOnly = true;
|
||||
colJobName.Width = 150;
|
||||
//
|
||||
// colStatus
|
||||
//
|
||||
this.colStatus.DataPropertyName = "StatusText";
|
||||
this.colStatus.HeaderText = "Status";
|
||||
this.colStatus.Name = "colStatus";
|
||||
this.colStatus.ReadOnly = true;
|
||||
this.colStatus.Width = 150;
|
||||
colStatus.DataPropertyName = "StatusText";
|
||||
colStatus.HeaderText = "Status";
|
||||
colStatus.Name = "colStatus";
|
||||
colStatus.ReadOnly = true;
|
||||
colStatus.Width = 150;
|
||||
//
|
||||
// colLastRun
|
||||
//
|
||||
this.colLastRun.DataPropertyName = "LastRun";
|
||||
this.colLastRun.HeaderText = "Zuletzt ausgeführt";
|
||||
this.colLastRun.Name = "colLastRun";
|
||||
this.colLastRun.ReadOnly = true;
|
||||
this.colLastRun.Width = 130;
|
||||
colLastRun.DataPropertyName = "LastRun";
|
||||
colLastRun.HeaderText = "Zuletzt ausgeführt";
|
||||
colLastRun.Name = "colLastRun";
|
||||
colLastRun.ReadOnly = true;
|
||||
colLastRun.Width = 130;
|
||||
//
|
||||
// colNextRun
|
||||
//
|
||||
this.colNextRun.DataPropertyName = "NextRun";
|
||||
this.colNextRun.HeaderText = "Nächster Lauf";
|
||||
this.colNextRun.Name = "colNextRun";
|
||||
this.colNextRun.ReadOnly = true;
|
||||
this.colNextRun.Width = 130;
|
||||
colNextRun.DataPropertyName = "NextRun";
|
||||
colNextRun.HeaderText = "Nächster Lauf";
|
||||
colNextRun.Name = "colNextRun";
|
||||
colNextRun.ReadOnly = true;
|
||||
colNextRun.Width = 130;
|
||||
//
|
||||
// col_dgv_jobs_Enabled
|
||||
//
|
||||
this.col_dgv_jobs_Enabled.DataPropertyName = "IsEnabled";
|
||||
this.col_dgv_jobs_Enabled.HeaderText = "Aktiv";
|
||||
this.col_dgv_jobs_Enabled.Name = "col_dgv_jobs_Enabled";
|
||||
this.col_dgv_jobs_Enabled.Width = 60;
|
||||
col_dgv_jobs_Enabled.DataPropertyName = "IsEnabled";
|
||||
col_dgv_jobs_Enabled.HeaderText = "Aktiv";
|
||||
col_dgv_jobs_Enabled.Name = "col_dgv_jobs_Enabled";
|
||||
col_dgv_jobs_Enabled.Width = 60;
|
||||
//
|
||||
// col_dgv_jobs_Run
|
||||
//
|
||||
this.col_dgv_jobs_Run.HeaderText = "Aktion";
|
||||
this.col_dgv_jobs_Run.Name = "col_dgv_jobs_Run";
|
||||
this.col_dgv_jobs_Run.Text = "Run Now";
|
||||
this.col_dgv_jobs_Run.UseColumnTextForButtonValue = true;
|
||||
this.col_dgv_jobs_Run.Width = 90;
|
||||
col_dgv_jobs_Run.HeaderText = "Aktion";
|
||||
col_dgv_jobs_Run.MinimumWidth = 8;
|
||||
col_dgv_jobs_Run.Name = "col_dgv_jobs_Run";
|
||||
col_dgv_jobs_Run.Text = "Run Now";
|
||||
col_dgv_jobs_Run.UseColumnTextForButtonValue = true;
|
||||
col_dgv_jobs_Run.Width = 90;
|
||||
//
|
||||
// colDescription
|
||||
//
|
||||
this.colDescription.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
|
||||
this.colDescription.DataPropertyName = "Description";
|
||||
this.colDescription.HeaderText = "Beschreibung";
|
||||
this.colDescription.Name = "colDescription";
|
||||
this.colDescription.ReadOnly = true;
|
||||
colDescription.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
|
||||
colDescription.DataPropertyName = "Description";
|
||||
colDescription.HeaderText = "Beschreibung";
|
||||
colDescription.Name = "colDescription";
|
||||
colDescription.ReadOnly = true;
|
||||
//
|
||||
// toolStripJobs
|
||||
//
|
||||
this.toolStripJobs.ImageScalingSize = new System.Drawing.Size(24, 24);
|
||||
this.toolStripJobs.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.tsJobsRefresh});
|
||||
this.toolStripJobs.Location = new System.Drawing.Point(0, 0);
|
||||
this.toolStripJobs.Name = "toolStripJobs";
|
||||
this.toolStripJobs.Size = new System.Drawing.Size(1000, 25);
|
||||
this.toolStripJobs.TabIndex = 1;
|
||||
//
|
||||
//
|
||||
toolStripJobs.ImageScalingSize = new Size(24, 24);
|
||||
toolStripJobs.Items.AddRange(new ToolStripItem[] { tsJobsRefresh });
|
||||
toolStripJobs.Location = new Point(0, 0);
|
||||
toolStripJobs.Name = "toolStripJobs";
|
||||
toolStripJobs.Padding = new Padding(0, 0, 3, 0);
|
||||
toolStripJobs.Size = new Size(1429, 34);
|
||||
toolStripJobs.TabIndex = 1;
|
||||
//
|
||||
// tsJobsRefresh
|
||||
//
|
||||
this.tsJobsRefresh.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
|
||||
this.tsJobsRefresh.Name = "tsJobsRefresh";
|
||||
this.tsJobsRefresh.Text = "Aktualisieren";
|
||||
this.tsJobsRefresh.ToolTipText = "Job-Liste neu zeichnen (Status/Zeiten aktualisieren).";
|
||||
//
|
||||
//
|
||||
tsJobsRefresh.DisplayStyle = ToolStripItemDisplayStyle.Text;
|
||||
tsJobsRefresh.Name = "tsJobsRefresh";
|
||||
tsJobsRefresh.Size = new Size(116, 29);
|
||||
tsJobsRefresh.Text = "Aktualisieren";
|
||||
tsJobsRefresh.ToolTipText = "Job-Liste neu zeichnen (Status/Zeiten aktualisieren).";
|
||||
//
|
||||
// JobsView
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.dgvJobs);
|
||||
this.Controls.Add(this.toolStripJobs);
|
||||
this.ClientSize = new System.Drawing.Size(1000, 500);
|
||||
this.Name = "JobsView";
|
||||
this.Text = "Server Jobs";
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvJobs)).EndInit();
|
||||
this.toolStripJobs.ResumeLayout(false);
|
||||
this.toolStripJobs.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
//
|
||||
AutoScaleDimensions = new SizeF(10F, 25F);
|
||||
AutoScaleMode = AutoScaleMode.Font;
|
||||
ClientSize = new Size(1429, 833);
|
||||
Controls.Add(dgvJobs);
|
||||
Controls.Add(toolStripJobs);
|
||||
Icon = (Icon)resources.GetObject("$this.Icon");
|
||||
Margin = new Padding(4, 5, 4, 5);
|
||||
Name = "JobsView";
|
||||
Text = "Server Jobs";
|
||||
((System.ComponentModel.ISupportInitialize)dgvJobs).EndInit();
|
||||
toolStripJobs.ResumeLayout(false);
|
||||
toolStripJobs.PerformLayout();
|
||||
ResumeLayout(false);
|
||||
PerformLayout();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
+99
-27
@@ -1,17 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
|
||||
Example:
|
||||
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
@@ -26,36 +26,36 @@
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
@@ -117,4 +117,76 @@
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="toolStripJobs.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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
|
||||
XYlhrDInAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
Generated
+20
-19
@@ -17,6 +17,7 @@ namespace PolyTraderSharp.Ui.Views
|
||||
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SettingsView));
|
||||
propertyGrid = new PropertyGrid();
|
||||
tabControl1 = new TabControl();
|
||||
tabPage1 = new TabPage();
|
||||
@@ -42,35 +43,36 @@ namespace PolyTraderSharp.Ui.Views
|
||||
// propertyGrid
|
||||
//
|
||||
propertyGrid.Dock = DockStyle.Fill;
|
||||
propertyGrid.Location = new Point(3, 37);
|
||||
propertyGrid.Name = "propertyGrid";
|
||||
propertyGrid.Size = new Size(1171, 742);
|
||||
propertyGrid.TabIndex = 1;
|
||||
//
|
||||
//
|
||||
// tabControl1
|
||||
//
|
||||
//
|
||||
tabControl1.Controls.Add(tabPage1);
|
||||
tabControl1.Controls.Add(tabPage2);
|
||||
tabControl1.Dock = DockStyle.Fill;
|
||||
tabControl1.Location = new Point(0, 0);
|
||||
tabControl1.Name = "tabControl1";
|
||||
tabControl1.SelectedIndex = 0;
|
||||
tabControl1.Size = new Size(1185, 800);
|
||||
tabControl1.Size = new Size(1185, 820);
|
||||
tabControl1.TabIndex = 3;
|
||||
//
|
||||
//
|
||||
// tabPage1
|
||||
//
|
||||
//
|
||||
tabPage1.Controls.Add(propertyGrid);
|
||||
tabPage1.Controls.Add(toolStrip2);
|
||||
tabPage1.Location = new Point(4, 34);
|
||||
tabPage1.Name = "tabPage1";
|
||||
tabPage1.Padding = new Padding(3);
|
||||
tabPage1.Size = new Size(1177, 887);
|
||||
tabPage1.Size = new Size(1177, 782);
|
||||
tabPage1.TabIndex = 0;
|
||||
tabPage1.Text = "General Settings";
|
||||
tabPage1.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// toolStrip2
|
||||
//
|
||||
toolStrip2.Dock = DockStyle.Top;
|
||||
toolStrip2.ImageScalingSize = new Size(24, 24);
|
||||
toolStrip2.Items.AddRange(new ToolStripItem[] { btn_save, btn_loadsettings, btnGenMasterKey, btnSetOpenRouterKey });
|
||||
toolStrip2.Location = new Point(3, 3);
|
||||
@@ -94,23 +96,23 @@ namespace PolyTraderSharp.Ui.Views
|
||||
btn_loadsettings.Name = "btn_loadsettings";
|
||||
btn_loadsettings.Size = new Size(223, 29);
|
||||
btn_loadsettings.Text = "Load Settings from File";
|
||||
//
|
||||
//
|
||||
// btnGenMasterKey
|
||||
//
|
||||
//
|
||||
btnGenMasterKey.DisplayStyle = ToolStripItemDisplayStyle.Text;
|
||||
btnGenMasterKey.Name = "btnGenMasterKey";
|
||||
btnGenMasterKey.Size = new Size(200, 29);
|
||||
btnGenMasterKey.Size = new Size(182, 29);
|
||||
btnGenMasterKey.Text = "Master-Key erzeugen";
|
||||
btnGenMasterKey.ToolTipText = "Erzeugt einen zufälligen AES-Master-Key (nur wenn noch keiner existiert).";
|
||||
//
|
||||
//
|
||||
// btnSetOpenRouterKey
|
||||
//
|
||||
//
|
||||
btnSetOpenRouterKey.DisplayStyle = ToolStripItemDisplayStyle.Text;
|
||||
btnSetOpenRouterKey.Name = "btnSetOpenRouterKey";
|
||||
btnSetOpenRouterKey.Size = new Size(200, 29);
|
||||
btnSetOpenRouterKey.Size = new Size(220, 29);
|
||||
btnSetOpenRouterKey.Text = "OpenRouter-Key setzen …";
|
||||
btnSetOpenRouterKey.ToolTipText = "Speichert den OpenRouter-API-Key für den Supervisor (gitignorierte Datei openrouter.key).";
|
||||
//
|
||||
//
|
||||
// tabPage2
|
||||
//
|
||||
tabPage2.Controls.Add(pgAccount);
|
||||
@@ -119,7 +121,7 @@ namespace PolyTraderSharp.Ui.Views
|
||||
tabPage2.Location = new Point(4, 34);
|
||||
tabPage2.Name = "tabPage2";
|
||||
tabPage2.Padding = new Padding(3);
|
||||
tabPage2.Size = new Size(1177, 887);
|
||||
tabPage2.Size = new Size(1177, 762);
|
||||
tabPage2.TabIndex = 1;
|
||||
tabPage2.Text = "Polymarket Accounts";
|
||||
tabPage2.UseVisualStyleBackColor = true;
|
||||
@@ -129,7 +131,7 @@ namespace PolyTraderSharp.Ui.Views
|
||||
pgAccount.Dock = DockStyle.Fill;
|
||||
pgAccount.Location = new Point(623, 37);
|
||||
pgAccount.Name = "pgAccount";
|
||||
pgAccount.Size = new Size(551, 847);
|
||||
pgAccount.Size = new Size(551, 722);
|
||||
pgAccount.TabIndex = 2;
|
||||
//
|
||||
// dgvAccounts
|
||||
@@ -145,12 +147,11 @@ namespace PolyTraderSharp.Ui.Views
|
||||
dgvAccounts.RowHeadersVisible = false;
|
||||
dgvAccounts.RowHeadersWidth = 62;
|
||||
dgvAccounts.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
|
||||
dgvAccounts.Size = new Size(620, 847);
|
||||
dgvAccounts.Size = new Size(620, 722);
|
||||
dgvAccounts.TabIndex = 1;
|
||||
//
|
||||
// toolStripAccounts
|
||||
//
|
||||
toolStripAccounts.Dock = DockStyle.Top;
|
||||
toolStripAccounts.ImageScalingSize = new Size(24, 24);
|
||||
toolStripAccounts.Items.AddRange(new ToolStripItem[] { btnAccNew, btnAccDelete });
|
||||
toolStripAccounts.Location = new Point(3, 3);
|
||||
@@ -178,6 +179,7 @@ namespace PolyTraderSharp.Ui.Views
|
||||
AutoScaleMode = AutoScaleMode.Font;
|
||||
ClientSize = new Size(1185, 820);
|
||||
Controls.Add(tabControl1);
|
||||
Icon = (Icon)resources.GetObject("$this.Icon");
|
||||
Margin = new Padding(4, 5, 4, 5);
|
||||
Name = "SettingsView";
|
||||
Text = "Server Settings";
|
||||
@@ -192,7 +194,6 @@ namespace PolyTraderSharp.Ui.Views
|
||||
toolStripAccounts.ResumeLayout(false);
|
||||
toolStripAccounts.PerformLayout();
|
||||
ResumeLayout(false);
|
||||
PerformLayout();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -117,13 +117,103 @@
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>225, 17</value>
|
||||
</metadata>
|
||||
<metadata name="toolStrip2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>370, 17</value>
|
||||
</metadata>
|
||||
<metadata name="toolStripAccounts.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
Generated
+308
-338
@@ -18,358 +18,328 @@ namespace PolyTraderSharp.Ui.Views
|
||||
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
this.tabControlTerminal = new System.Windows.Forms.TabControl();
|
||||
this.tabLive = new System.Windows.Forms.TabPage();
|
||||
this.pnlTop = new System.Windows.Forms.Panel();
|
||||
this.btnAutoscroll = new System.Windows.Forms.Button();
|
||||
this.cbLogLevel = new System.Windows.Forms.ComboBox();
|
||||
this.lblFilter = new System.Windows.Forms.Label();
|
||||
this.rtbTerminal = new System.Windows.Forms.RichTextBox();
|
||||
this.contextMenuTerminal = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||
this.miCopy = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.miSelectAll = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.miCopyAll = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.miSep1 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.miClear = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.tabViewer = new System.Windows.Forms.TabPage();
|
||||
this.dgvLogs = new System.Windows.Forms.DataGridView();
|
||||
this.colLogTime = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colLogLevel = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colLogCid = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colLogMsg = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.pnlViewerTop = new System.Windows.Forms.Panel();
|
||||
this.lblVDatum = new System.Windows.Forms.Label();
|
||||
this.dtViewerDate = new System.Windows.Forms.DateTimePicker();
|
||||
this.lblVLevel = new System.Windows.Forms.Label();
|
||||
this.cbViewerLevel = new System.Windows.Forms.ComboBox();
|
||||
this.lblVCid = new System.Windows.Forms.Label();
|
||||
this.tbViewerCid = new System.Windows.Forms.TextBox();
|
||||
this.lblVText = new System.Windows.Forms.Label();
|
||||
this.tbViewerText = new System.Windows.Forms.TextBox();
|
||||
this.btnViewerLoad = new System.Windows.Forms.Button();
|
||||
this.lblViewerStatus = new System.Windows.Forms.Label();
|
||||
this.tabControlTerminal.SuspendLayout();
|
||||
this.tabLive.SuspendLayout();
|
||||
this.pnlTop.SuspendLayout();
|
||||
this.contextMenuTerminal.SuspendLayout();
|
||||
this.tabViewer.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvLogs)).BeginInit();
|
||||
this.pnlViewerTop.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
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
|
||||
//
|
||||
this.tabControlTerminal.Controls.Add(this.tabLive);
|
||||
this.tabControlTerminal.Controls.Add(this.tabViewer);
|
||||
this.tabControlTerminal.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tabControlTerminal.Location = new System.Drawing.Point(0, 0);
|
||||
this.tabControlTerminal.Name = "tabControlTerminal";
|
||||
this.tabControlTerminal.SelectedIndex = 0;
|
||||
this.tabControlTerminal.Size = new System.Drawing.Size(1000, 650);
|
||||
this.tabControlTerminal.TabIndex = 0;
|
||||
//
|
||||
//
|
||||
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
|
||||
//
|
||||
this.tabLive.Controls.Add(this.rtbTerminal);
|
||||
this.tabLive.Controls.Add(this.pnlTop);
|
||||
this.tabLive.Location = new System.Drawing.Point(4, 24);
|
||||
this.tabLive.Name = "tabLive";
|
||||
this.tabLive.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.tabLive.Size = new System.Drawing.Size(992, 622);
|
||||
this.tabLive.TabIndex = 0;
|
||||
this.tabLive.Text = "Live";
|
||||
this.tabLive.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// pnlTop
|
||||
//
|
||||
this.pnlTop.Controls.Add(this.btnAutoscroll);
|
||||
this.pnlTop.Controls.Add(this.cbLogLevel);
|
||||
this.pnlTop.Controls.Add(this.lblFilter);
|
||||
this.pnlTop.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.pnlTop.Location = new System.Drawing.Point(3, 3);
|
||||
this.pnlTop.Name = "pnlTop";
|
||||
this.pnlTop.Size = new System.Drawing.Size(986, 36);
|
||||
this.pnlTop.TabIndex = 0;
|
||||
//
|
||||
// btnAutoscroll
|
||||
//
|
||||
this.btnAutoscroll.BackColor = System.Drawing.Color.LightGreen;
|
||||
this.btnAutoscroll.Location = new System.Drawing.Point(224, 5);
|
||||
this.btnAutoscroll.Name = "btnAutoscroll";
|
||||
this.btnAutoscroll.Size = new System.Drawing.Size(150, 26);
|
||||
this.btnAutoscroll.TabIndex = 2;
|
||||
this.btnAutoscroll.Text = "Stop Autoscroll";
|
||||
this.btnAutoscroll.UseVisualStyleBackColor = false;
|
||||
//
|
||||
// cbLogLevel
|
||||
//
|
||||
this.cbLogLevel.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.cbLogLevel.Items.AddRange(new object[] {
|
||||
"Alle",
|
||||
"Debug",
|
||||
"Info",
|
||||
"Warning",
|
||||
"Error",
|
||||
"Trade",
|
||||
"TradeReasoning"});
|
||||
this.cbLogLevel.Location = new System.Drawing.Point(52, 6);
|
||||
this.cbLogLevel.Name = "cbLogLevel";
|
||||
this.cbLogLevel.Size = new System.Drawing.Size(160, 23);
|
||||
this.cbLogLevel.TabIndex = 1;
|
||||
//
|
||||
// lblFilter
|
||||
//
|
||||
this.lblFilter.AutoSize = true;
|
||||
this.lblFilter.Location = new System.Drawing.Point(8, 10);
|
||||
this.lblFilter.Name = "lblFilter";
|
||||
this.lblFilter.Size = new System.Drawing.Size(38, 15);
|
||||
this.lblFilter.TabIndex = 0;
|
||||
this.lblFilter.Text = "Level:";
|
||||
//
|
||||
//
|
||||
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
|
||||
//
|
||||
this.rtbTerminal.BackColor = System.Drawing.Color.Black;
|
||||
this.rtbTerminal.ContextMenuStrip = this.contextMenuTerminal;
|
||||
this.rtbTerminal.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.rtbTerminal.ForeColor = System.Drawing.Color.White;
|
||||
this.rtbTerminal.Location = new System.Drawing.Point(3, 39);
|
||||
this.rtbTerminal.Name = "rtbTerminal";
|
||||
this.rtbTerminal.ReadOnly = true;
|
||||
this.rtbTerminal.Size = new System.Drawing.Size(986, 580);
|
||||
this.rtbTerminal.TabIndex = 1;
|
||||
this.rtbTerminal.Text = "";
|
||||
//
|
||||
//
|
||||
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
|
||||
//
|
||||
this.contextMenuTerminal.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.miCopy,
|
||||
this.miSelectAll,
|
||||
this.miCopyAll,
|
||||
this.miSep1,
|
||||
this.miClear});
|
||||
this.contextMenuTerminal.Name = "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
|
||||
//
|
||||
this.miCopy.Name = "miCopy";
|
||||
this.miCopy.ShortcutKeyDisplayString = "Strg+C";
|
||||
this.miCopy.Text = "Kopieren";
|
||||
//
|
||||
//
|
||||
miCopy.Name = "miCopy";
|
||||
miCopy.ShortcutKeyDisplayString = "Strg+C";
|
||||
miCopy.Size = new Size(276, 32);
|
||||
miCopy.Text = "Kopieren";
|
||||
//
|
||||
// miSelectAll
|
||||
//
|
||||
this.miSelectAll.Name = "miSelectAll";
|
||||
this.miSelectAll.ShortcutKeyDisplayString = "Strg+A";
|
||||
this.miSelectAll.Text = "Alles auswählen";
|
||||
//
|
||||
//
|
||||
miSelectAll.Name = "miSelectAll";
|
||||
miSelectAll.ShortcutKeyDisplayString = "Strg+A";
|
||||
miSelectAll.Size = new Size(276, 32);
|
||||
miSelectAll.Text = "Alles auswählen";
|
||||
//
|
||||
// miCopyAll
|
||||
//
|
||||
this.miCopyAll.Name = "miCopyAll";
|
||||
this.miCopyAll.Text = "Alles kopieren";
|
||||
//
|
||||
//
|
||||
miCopyAll.Name = "miCopyAll";
|
||||
miCopyAll.Size = new Size(276, 32);
|
||||
miCopyAll.Text = "Alles kopieren";
|
||||
//
|
||||
// miSep1
|
||||
//
|
||||
this.miSep1.Name = "miSep1";
|
||||
//
|
||||
//
|
||||
miSep1.Name = "miSep1";
|
||||
miSep1.Size = new Size(273, 6);
|
||||
//
|
||||
// miClear
|
||||
//
|
||||
this.miClear.Name = "miClear";
|
||||
this.miClear.Text = "Terminal leeren";
|
||||
//
|
||||
//
|
||||
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
|
||||
//
|
||||
this.tabViewer.Controls.Add(this.dgvLogs);
|
||||
this.tabViewer.Controls.Add(this.pnlViewerTop);
|
||||
this.tabViewer.Location = new System.Drawing.Point(4, 24);
|
||||
this.tabViewer.Name = "tabViewer";
|
||||
this.tabViewer.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.tabViewer.Size = new System.Drawing.Size(992, 622);
|
||||
this.tabViewer.TabIndex = 1;
|
||||
this.tabViewer.Text = "Log Viewer";
|
||||
this.tabViewer.UseVisualStyleBackColor = true;
|
||||
//
|
||||
//
|
||||
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
|
||||
//
|
||||
this.dgvLogs.AllowUserToAddRows = false;
|
||||
this.dgvLogs.AllowUserToDeleteRows = false;
|
||||
this.dgvLogs.AutoGenerateColumns = false;
|
||||
this.dgvLogs.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dgvLogs.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.colLogTime,
|
||||
this.colLogLevel,
|
||||
this.colLogCid,
|
||||
this.colLogMsg});
|
||||
this.dgvLogs.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.dgvLogs.Location = new System.Drawing.Point(3, 41);
|
||||
this.dgvLogs.Name = "dgvLogs";
|
||||
this.dgvLogs.ReadOnly = true;
|
||||
this.dgvLogs.RowHeadersVisible = false;
|
||||
this.dgvLogs.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
|
||||
this.dgvLogs.Size = new System.Drawing.Size(986, 578);
|
||||
this.dgvLogs.TabIndex = 1;
|
||||
//
|
||||
// colLogTime
|
||||
//
|
||||
this.colLogTime.DataPropertyName = "Time";
|
||||
this.colLogTime.HeaderText = "Zeit";
|
||||
this.colLogTime.Name = "colLogTime";
|
||||
this.colLogTime.ReadOnly = true;
|
||||
this.colLogTime.Width = 140;
|
||||
//
|
||||
// colLogLevel
|
||||
//
|
||||
this.colLogLevel.DataPropertyName = "Level";
|
||||
this.colLogLevel.HeaderText = "Level";
|
||||
this.colLogLevel.Name = "colLogLevel";
|
||||
this.colLogLevel.ReadOnly = true;
|
||||
this.colLogLevel.Width = 110;
|
||||
//
|
||||
// colLogCid
|
||||
//
|
||||
this.colLogCid.DataPropertyName = "Cid";
|
||||
this.colLogCid.HeaderText = "CorrelationId";
|
||||
this.colLogCid.Name = "colLogCid";
|
||||
this.colLogCid.ReadOnly = true;
|
||||
this.colLogCid.Width = 130;
|
||||
//
|
||||
// colLogMsg
|
||||
//
|
||||
this.colLogMsg.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
|
||||
this.colLogMsg.DataPropertyName = "Message";
|
||||
this.colLogMsg.HeaderText = "Nachricht";
|
||||
this.colLogMsg.Name = "colLogMsg";
|
||||
this.colLogMsg.ReadOnly = true;
|
||||
//
|
||||
//
|
||||
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
|
||||
//
|
||||
this.pnlViewerTop.Controls.Add(this.lblViewerStatus);
|
||||
this.pnlViewerTop.Controls.Add(this.btnViewerLoad);
|
||||
this.pnlViewerTop.Controls.Add(this.tbViewerText);
|
||||
this.pnlViewerTop.Controls.Add(this.lblVText);
|
||||
this.pnlViewerTop.Controls.Add(this.tbViewerCid);
|
||||
this.pnlViewerTop.Controls.Add(this.lblVCid);
|
||||
this.pnlViewerTop.Controls.Add(this.cbViewerLevel);
|
||||
this.pnlViewerTop.Controls.Add(this.lblVLevel);
|
||||
this.pnlViewerTop.Controls.Add(this.dtViewerDate);
|
||||
this.pnlViewerTop.Controls.Add(this.lblVDatum);
|
||||
this.pnlViewerTop.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.pnlViewerTop.Location = new System.Drawing.Point(3, 3);
|
||||
this.pnlViewerTop.Name = "pnlViewerTop";
|
||||
this.pnlViewerTop.Size = new System.Drawing.Size(986, 38);
|
||||
this.pnlViewerTop.TabIndex = 0;
|
||||
//
|
||||
// lblVDatum
|
||||
//
|
||||
this.lblVDatum.AutoSize = true;
|
||||
this.lblVDatum.Location = new System.Drawing.Point(8, 11);
|
||||
this.lblVDatum.Name = "lblVDatum";
|
||||
this.lblVDatum.Size = new System.Drawing.Size(46, 15);
|
||||
this.lblVDatum.TabIndex = 0;
|
||||
this.lblVDatum.Text = "Datum:";
|
||||
//
|
||||
// dtViewerDate
|
||||
//
|
||||
this.dtViewerDate.Format = System.Windows.Forms.DateTimePickerFormat.Short;
|
||||
this.dtViewerDate.Location = new System.Drawing.Point(58, 7);
|
||||
this.dtViewerDate.Name = "dtViewerDate";
|
||||
this.dtViewerDate.Size = new System.Drawing.Size(110, 23);
|
||||
this.dtViewerDate.TabIndex = 1;
|
||||
//
|
||||
// lblVLevel
|
||||
//
|
||||
this.lblVLevel.AutoSize = true;
|
||||
this.lblVLevel.Location = new System.Drawing.Point(180, 11);
|
||||
this.lblVLevel.Name = "lblVLevel";
|
||||
this.lblVLevel.Size = new System.Drawing.Size(38, 15);
|
||||
this.lblVLevel.TabIndex = 2;
|
||||
this.lblVLevel.Text = "Level:";
|
||||
//
|
||||
// cbViewerLevel
|
||||
//
|
||||
this.cbViewerLevel.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.cbViewerLevel.Items.AddRange(new object[] {
|
||||
"Alle",
|
||||
"Debug",
|
||||
"Info",
|
||||
"Warning",
|
||||
"Error",
|
||||
"Trade",
|
||||
"TradeReasoning"});
|
||||
this.cbViewerLevel.Location = new System.Drawing.Point(222, 7);
|
||||
this.cbViewerLevel.Name = "cbViewerLevel";
|
||||
this.cbViewerLevel.Size = new System.Drawing.Size(140, 23);
|
||||
this.cbViewerLevel.TabIndex = 3;
|
||||
//
|
||||
// lblVCid
|
||||
//
|
||||
this.lblVCid.AutoSize = true;
|
||||
this.lblVCid.Location = new System.Drawing.Point(374, 11);
|
||||
this.lblVCid.Name = "lblVCid";
|
||||
this.lblVCid.Size = new System.Drawing.Size(29, 15);
|
||||
this.lblVCid.TabIndex = 4;
|
||||
this.lblVCid.Text = "CID:";
|
||||
//
|
||||
// tbViewerCid
|
||||
//
|
||||
this.tbViewerCid.Location = new System.Drawing.Point(408, 7);
|
||||
this.tbViewerCid.Name = "tbViewerCid";
|
||||
this.tbViewerCid.PlaceholderText = "SignalId …";
|
||||
this.tbViewerCid.Size = new System.Drawing.Size(150, 23);
|
||||
this.tbViewerCid.TabIndex = 5;
|
||||
//
|
||||
// lblVText
|
||||
//
|
||||
this.lblVText.AutoSize = true;
|
||||
this.lblVText.Location = new System.Drawing.Point(570, 11);
|
||||
this.lblVText.Name = "lblVText";
|
||||
this.lblVText.Size = new System.Drawing.Size(31, 15);
|
||||
this.lblVText.TabIndex = 6;
|
||||
this.lblVText.Text = "Text:";
|
||||
//
|
||||
// tbViewerText
|
||||
//
|
||||
this.tbViewerText.Location = new System.Drawing.Point(606, 7);
|
||||
this.tbViewerText.Name = "tbViewerText";
|
||||
this.tbViewerText.PlaceholderText = "Suchtext …";
|
||||
this.tbViewerText.Size = new System.Drawing.Size(180, 23);
|
||||
this.tbViewerText.TabIndex = 7;
|
||||
//
|
||||
// btnViewerLoad
|
||||
//
|
||||
this.btnViewerLoad.Location = new System.Drawing.Point(796, 6);
|
||||
this.btnViewerLoad.Name = "btnViewerLoad";
|
||||
this.btnViewerLoad.Size = new System.Drawing.Size(90, 26);
|
||||
this.btnViewerLoad.TabIndex = 8;
|
||||
this.btnViewerLoad.Text = "Laden";
|
||||
this.btnViewerLoad.UseVisualStyleBackColor = true;
|
||||
//
|
||||
//
|
||||
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
|
||||
//
|
||||
this.lblViewerStatus.AutoSize = true;
|
||||
this.lblViewerStatus.Location = new System.Drawing.Point(895, 11);
|
||||
this.lblViewerStatus.Name = "lblViewerStatus";
|
||||
this.lblViewerStatus.Size = new System.Drawing.Size(23, 15);
|
||||
this.lblViewerStatus.TabIndex = 9;
|
||||
this.lblViewerStatus.Text = "—";
|
||||
//
|
||||
//
|
||||
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
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.tabControlTerminal);
|
||||
this.ClientSize = new System.Drawing.Size(1000, 650);
|
||||
this.Name = "TerminalView";
|
||||
this.Text = "Terminal / Logs";
|
||||
this.tabControlTerminal.ResumeLayout(false);
|
||||
this.tabLive.ResumeLayout(false);
|
||||
this.pnlTop.ResumeLayout(false);
|
||||
this.pnlTop.PerformLayout();
|
||||
this.contextMenuTerminal.ResumeLayout(false);
|
||||
this.tabViewer.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvLogs)).EndInit();
|
||||
this.pnlViewerTop.ResumeLayout(false);
|
||||
this.pnlViewerTop.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
//
|
||||
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
|
||||
|
||||
+92
-27
@@ -1,17 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
|
||||
Example:
|
||||
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
@@ -26,36 +26,36 @@
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
@@ -117,4 +117,69 @@
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="contextMenuTerminal.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAMAEBAAAAAAIADjAgAANgAAABgYAAAAACAAKwUAABkDAAAgIAAAAAAgAAIFAABECAAAiVBORw0K
|
||||
GgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACqklEQVR4nG1Tu24TQRQ987CdeOzYjvOSIAlKSBUp
|
||||
ToFEESiQqJFAckEDEo8f4A/yAXwCPUgoRZCoE2pSEiFTEYidrL1rex+za+/uDNpJAEcwxcw+7j1zzpw5
|
||||
BADe7+29ajQar+MkSXSacg2A4O/QgMpxTrvd7ps7OzsvtNaEEFOheTYTYPHm2ho6p2fgU3nTrJQCJQSp
|
||||
UpgqFKjt2Gq7sf3889ERJ4Q801qbfXgGoIRQo/ZPxPvv4D58gqj9A6JawygKQUBQFAJSSjp0h2lja+vp
|
||||
4eGn8ubm5uNms5lQw1EBlDPkZgTi8RiUUXiuC8YYgiCAUinm5xdgWRb9fnKi6nP1RyGltd3dXWUYQPpg
|
||||
s/Mgdx9gbjoPNn0dcRwjl8uhMlMBZQyFfB4rK6sQxSJtfWv5CALTSs1cLAJ9Bzj4gDHPw+lZUFrD8zxE
|
||||
owijKEKn0zGspJSglF70/QFQCoRz8FoNoZQYxzHCUML1XEPf8z2AEtiODaVVBmCkZYMbL6QEKc+A3bqH
|
||||
BZEHKd0wLtTrdVNsarRGmqYolUo4OzsDhJiUUALcPtTBPkaEwbEsqFTB93yEMoTds837oN9HEie4vANX
|
||||
JYBz5GtVozHbvdfrml+OY4Nzhm63iyiKEMfjfyWoSALFMtjt+1iaLoBVK+YcMhdm67PgnBvQJElQEgKn
|
||||
7TaEEAh+M6CZhKGN5ONbREkKq92GSlMMBwPIIEDg+3BsG1opcw6TEvjlPcps0yxPtRP4ehSG0MMhfN9H
|
||||
pVKB67qmyXVdvby8nD3rKxJIJCmdWyKi+ZKLLBqLixNRmgjVZYgY51mdkWAAwiCQX1stGcdxAq15RtAk
|
||||
hRBj38RqPp+fn/vr6+vasqyL1G5sbFwbDAarvu+rzA0kiXHlfyvnnJbL5bBarX45Pj4e/wKtUG06wAUH
|
||||
YgAAAABJRU5ErkJggolQTkcNChoKAAAADUlIRFIAAAAYAAAAGAgGAAAA4Hc9+AAABPJJREFUeJyVVk1s
|
||||
G0UU/mZnd/2ztlPFTpM0Kapo/iipURXaQ/mpBFRFIKGeLC6cuFSIQ9UDR9IeUCXUQ08cKiRabqRSkJDo
|
||||
AQkKQQhRkZIeiuJQCElUp6F1Etv74/V6Z9CbdZykJEh9kj27szPve+9735tdNjExwQuFQnh9cvLTfb29
|
||||
74owlJKBMTD8n0kpBNd1poGVp2dm3n7/zJlvx8fH9QsXLjQfWyg5jdcnJ6ellNJ2vabjetK2HVmzbTVu
|
||||
/qL7Ws2WnleXjuOIlZV/5Ny9e6VLly+fJD8U8Fb/OmEoICFCISVKyyvgXIMGgHNOkUIISSmBMQ2hCNW8
|
||||
zjk812Gl5QfypRdf6D118rUvrStX3isUCp9PSMkLjIXkV2tn4teZxhiMTz5G/Nefgc4sVh+uwPM8hGGI
|
||||
hu/Dtqtqw6OHD2HoBgzTRCqdIi7D0UPPWq+cOHHts2vX3rl7/rwcHx/XNjLYbp0cWkqHbAK+Xwe4jkzG
|
||||
RNAI4bouOjr2UOSQkIjFYiiVShBCcM/1xNDgoDYwMHD13NmzX62trVUAsHYGLaYAD2ABbQ/hOC56enqw
|
||||
MD8Px3Owr7cPc8UikqkUPM9FJp3G2JEj6Mrl0NPTrSWSCQJr+L6f3FqDyGIxNcQ/uEQZI+FUcXBwiDZg
|
||||
YHAQTNNAwhocGiJlgOs61itVGGYMsVgSzTCAZVm0fpv8NgECVROI72+A9z+F2MgzsBoNhEK2wRljpDpV
|
||||
5CAIoHNd1ScUAZpBQEJRYthqmxSFkXybP9wAX/oLNSExc/s25hf+xqPyIzx4sIzZ4iwc18GtW7+otdO/
|
||||
TWPx/hKCZoDyajlSHQW0I0ALWj80BLY3C5Pp6Mxmke3sRMqy1PNcVw6apuHpgwdRqVYwMjwM0zDQaDSQ
|
||||
SCRUdpTljgBSi/qD5wbArSxC30XNthUVzTBEpVKBX/eVM5pbX19XYLVqFY7jwPf9yLncnkG7BoxHAPG3
|
||||
TkMEAp0NF/3Hj6MRBIrnvr5+CBEqgFg8rvim66PHjql9rudGgT6WQRtAkuYB2OfOIPHyq/DeOI3Fu7/D
|
||||
ymRgGAaazbJymMlksLS4pCgxTROr5TJcz0MynkQqaW3K/T81IBkCMA4PwOjfq4rlN3zVyVHxhGo0ckoO
|
||||
iRKaJ6t7HoQUrUh3A2g9EGsu4AWg5cTv/v37USzOolqr4sCBA7hz5w6sRBzd3d1qnvgn0Hq9vpP/LX1g
|
||||
mmroOPchmAQ0v45D+byKbDSfB51T1Gj55/KRGHSO0cOHoXFNsUIHZSTGXWqw0QeN774B39ePxNAIrHhc
|
||||
dXKitYn+6Z6ooeJbyaRyTCIgie5kmzJtRp1c//oLaH/eRSUI8dOPUygWi1gulbC4sICZmRnUajXcvHlT
|
||||
cTE1NYU/5ubgex5K9+9HFO9ag5bxbgtIGohxhq6uHHK5HNLptIqceCcKhoeHUS6Xkc/noes6vHodyWR0
|
||||
vj3+HtyiInq5SJj5UzD6RhAIgWrNUU210VhUSFIPUbK6uqoajeZt21bPaL/ctdEMI2SMNTOvv0lcyT0A
|
||||
nj96tL0wm83uyPHY2Nj2iDlv7gjADaOD7gPf1zXSPZ2cgk5H9a5U1xufAhsxqtO1NU+RE12GaeqJbJZR
|
||||
z2wA0HpenJ29+tHFi6OO60pG3xVPapomOecsmUisd6fT9XI023ZELUlg8Sd2vN3IH3Uc0RzQxL/wypFR
|
||||
NY6RmgAAAABJRU5ErkJggolQTkcNChoKAAAADUlIRFIAAAAgAAAAIAgGAAAAc3p69AAABMlJREFUeJyt
|
||||
V91rXEUU/829d7NZ82ENKkkRmkSa3S1pWgmJzde2oBRBJI0psQm+C4II/gc++eiLGhpLE8RsY5PNrh/4
|
||||
IPgiSV6T1KYvPvRDiw0Iislu9+7unZEz987d2Xg3ycIeGO45Z2bO+c2Zc2bmMiEEiBhjViqdzoCxNwXn
|
||||
cLW1Es1iMBiDw/m3U5OTVwGUAkd6fkGMJ7Sk0mlRL9rd3RWLS0urAMxqAKhZmq5Robr/8BEYM2iUt6pj
|
||||
rl8IdHWewtfJJK5OTOK1Sxcnbt3+5ufpqXderxYJQ+OZcmWEwjAiTTAbwjBNC6ZpHqsZhmuOMYbGSBhN
|
||||
TS24NJa4eDu18ghA6CgAPrHGZ8DPtoERCMuCpTUFqCy7vAvA9AHkbRvNzU1obm5BYmS0YzmVehAEwjio
|
||||
kEozJIcaVgiGaeLHH77HvXs72Nm5i52dX6VD0lXyd2EYzLfRGA77IJ5tPYHE6OjJVCbz+CAIKwgAYwB7
|
||||
tQPMW834xNtSTylBfbRVpKM9d/snIQRHsViU49ra2pBcWnKzx0u2d2dmiH8BQBOAf6oAEC4AzsF/+ROM
|
||||
O9JhJr2Kru4unDv3Cr7LpHGquwuCC5w/78qd3d1wuIOzvX3Y29vHG5cvB60L3E3yhuoREF4ESjYiv2WB
|
||||
ki0djV+ZcA1wjrfGr5QNajKtkuT9bBZ72axWPC5zsqPdq6pKsoKQUjYzymhugDHHnyh3WDOiZLXzJs2h
|
||||
kFc7dALICgTQEMHey2G03i+A5TkY3L1WhtTeBxHz4BAMddgcBsAINBKy5PnFLAtGyEQqtYLtO9vYurOF
|
||||
za1NWCFL6ra2t2B6/YpfSS2747Y3YVqmHG+YRm0RYBBo/Og9d+VgmJ6ZkSumPVarJ51a3bXpaT9COk9t
|
||||
cHAQjuPUCEBwPP3kOiIffCaNJRcX0RONSgADAwNYSiZxOhr1nZCOxpzu6ZH8LeK9fprT399fI4BSEW2P
|
||||
i2ClAqU6rlEEtAuEZCI9J6TOc6j3KxC1ATAYlYKsAjBHHjJyYzSH7ol0ILkOJKlMRC+BawJghiPYbWdo
|
||||
fyIAmzK17Eh7P1TwQf1S5gJc1BoB0+2hL90FXy3cRDx+xg/p0NAQFhbmEY3GfD4WO+MWn9Yfi8Vl+CkR
|
||||
q5Io1+mLy6mUfEzscyGefPq+yAohcnZBFIsl2Wy7IAqFot+UTH26rHTU8nlbZLM5aZfskx/drxUYAQH8
|
||||
+/EXaP3wcxhguHHjS8TjcQwPj2B+/iZisZhc2cjIqC/TM25Yk5UTGnfhwnBtEcgVHZHzvk9tW9iFgsjb
|
||||
tmzEHykXCxX6XD5fYwQM7+RSiaRlt7piVRX4Ga9XhPCuoEOO4MOrwAAePM/Q+RcZsGQV6Kebi60MTufp
|
||||
RQzt1DyKjKpKehERGNPA3NwcNjY2ZFtfX5evIKU7yF/XxpK8trbmvxWPnQOOEOL3qZdESQjB6/BEdxyn
|
||||
thwgyv30h/skAzA7O4u+vj55qSQSCV9WWa50vb29GBsbq+hXc2qKAPei4NQpApzzY0aAucmkVl4v8o/q
|
||||
gDvBqBAOS5Y6UJB9SxcYsL+ayTTL1+sxSujYxNwfVsbY/v+6RLmuTwDoAvBcnXdAETn6m3496b/A96sB
|
||||
oD8W+mmoeLfXmQoAsgCKyu9/BeRAoMKEB0QAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
Reference in New Issue
Block a user