Skip to content

Commit

Permalink
Test output directly from configuration overview (#1570)
Browse files Browse the repository at this point in the history
* Test output directly from configuration overview

* Removed unnecessary line
  • Loading branch information
DocMoebiuz authored Jan 6, 2024
1 parent 9daff3d commit 6ed3075
Show file tree
Hide file tree
Showing 4 changed files with 104 additions and 8 deletions.
6 changes: 5 additions & 1 deletion MobiFlight/ExecutionManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1233,7 +1233,7 @@ void testModeTimer_Tick(object sender, EventArgs args)
try
{
var currentGuid = (row.DataBoundItem as DataRowView).Row["guid"].ToString();
ExecuteTestOn(cfg, currentGuid, null);
ExecuteTestOn(cfg, currentGuid, cfg.TestValue);
}
catch (IndexOutOfRangeException ex)
{
Expand Down Expand Up @@ -1323,6 +1323,10 @@ public void ExecuteTestOn(OutputConfigItem cfg, string configGuid, ConnectorValu
ExecuteDisplay(value?.ToString() ?? "1", cfg);
break;

case MobiFlightCustomDevice.TYPE:
ExecuteDisplay(value?.ToString() ?? "1", cfg);
break;

case "InputAction":
// Do nothing for the InputAction
break;
Expand Down
19 changes: 18 additions & 1 deletion UI/Panels/OutputConfigPanel.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

51 changes: 51 additions & 0 deletions UI/Panels/OutputConfigPanel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,17 @@ private void Init()

DropTimer.Interval = 400;
DropTimer.Tick += DropTimer_Tick;

dataGridViewConfig.SelectionChanged += (s, e) => {
if (testToolStripMenuItem.Checked)
{
// this disables the currently tested item
UpdateSingleItemTestMode();
}

var AtLeastOneRowSelectedAndNotLastRow = dataGridViewConfig.SelectedRows.Count > 0 && !dataGridViewConfig.SelectedRows[0].IsNewRow;
testToolStripMenuItem.Enabled = AtLeastOneRowSelectedAndNotLastRow;
};
}

public ExecutionManager ExecutionManager { get; set; }
Expand All @@ -64,6 +75,8 @@ private void Init()

public DataGridView DataGridViewConfig { get { return dataGridViewConfig; } }

public OutputConfigItem ItemInTestMode { get; private set; }

void DataGridViewConfig_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e)
{
// if datagridviewconfig.RowCount == 1 this means that only the "new line" is added yet
Expand Down Expand Up @@ -1077,5 +1090,43 @@ private void DropTimer_Tick(object sender, EventArgs e)
DropTimer.Stop();
RemoveDragTargetHighlight();
}

private void testToolStripMenuItem_Click(object sender, EventArgs e)
{
UpdateSingleItemTestMode();
}

private void UpdateSingleItemTestMode()
{
var isTestOn = testToolStripMenuItem.Checked;

if (isTestOn && ItemInTestMode!=null)
{
ExecutionManager.ExecuteTestOff(ItemInTestMode, true);
ItemInTestMode = null;
testToolStripMenuItem.Checked = false;
return;
}

foreach (DataGridViewRow row in dataGridViewConfig.SelectedRows)
{
// ignore new rows since they cannot be copied nor deleted
if (row.IsNewRow) continue;

DataRow currentRow = (row.DataBoundItem as DataRowView)?.Row;
if (currentRow == null) continue;

OutputConfigItem cfg = currentRow["settings"] as OutputConfigItem;
var currentGuid = currentRow["guid"].ToString();

if (cfg == null) return;

ItemInTestMode = cfg;
ExecutionManager.ExecuteTestOn(cfg, currentGuid, cfg.TestValue);
testToolStripMenuItem.Checked = true;

return;
}
}
}
}
36 changes: 30 additions & 6 deletions UI/Panels/OutputConfigPanel.resx
Original file line number Diff line number Diff line change
Expand Up @@ -255,7 +255,7 @@
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="copyToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>147, 22</value>
<value>180, 22</value>
</data>
<data name="copyToolStripMenuItem.Text" xml:space="preserve">
<value>Copy</value>
Expand All @@ -264,19 +264,19 @@
<value>False</value>
</data>
<data name="pasteToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>147, 22</value>
<value>180, 22</value>
</data>
<data name="pasteToolStripMenuItem.Text" xml:space="preserve">
<value>Paste</value>
</data>
<data name="toolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
<value>144, 6</value>
<value>177, 6</value>
</data>
<data name="duplicateRowToolStripMenuItem.Enabled" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="duplicateRowToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>147, 22</value>
<value>180, 22</value>
</data>
<data name="duplicateRowToolStripMenuItem.Text" xml:space="preserve">
<value>Duplicate row</value>
Expand All @@ -285,16 +285,28 @@
<value>False</value>
</data>
<data name="deleteRowToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>147, 22</value>
<value>180, 22</value>
</data>
<data name="deleteRowToolStripMenuItem.Text" xml:space="preserve">
<value>Delete row(s)</value>
</data>
<data name="deleteRowToolStripMenuItem.ToolTipText" xml:space="preserve">
<value>Delete selected row(s)</value>
</data>
<data name="toolStripMenuItem2.Size" type="System.Drawing.Size, System.Drawing">
<value>177, 6</value>
</data>
<data name="testToolStripMenuItem.Enabled" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="testToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>180, 22</value>
</data>
<data name="testToolStripMenuItem.Text" xml:space="preserve">
<value>Test</value>
</data>
<data name="dataGridViewContextMenuStrip.Size" type="System.Drawing.Size, System.Drawing">
<value>148, 98</value>
<value>181, 148</value>
</data>
<data name="&gt;&gt;dataGridViewContextMenuStrip.Name" xml:space="preserve">
<value>dataGridViewContextMenuStrip</value>
Expand Down Expand Up @@ -546,6 +558,18 @@
<data name="&gt;&gt;outputTypeDataColumn.Type" xml:space="preserve">
<value>System.Data.DataColumn, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolStripMenuItem2.Name" xml:space="preserve">
<value>toolStripMenuItem2</value>
</data>
<data name="&gt;&gt;toolStripMenuItem2.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;testToolStripMenuItem.Name" xml:space="preserve">
<value>testToolStripMenuItem</value>
</data>
<data name="&gt;&gt;testToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>OutputConfigPanel</value>
</data>
Expand Down

0 comments on commit 6ed3075

Please sign in to comment.