Skip to content

Commit 775a03a

Browse files
authored
Merge 4f70d42 into 0f83225
2 parents 0f83225 + 4f70d42 commit 775a03a

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

GCSViews/ConfigurationView/ConfigRawParams.cs

+9-4
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
using System.Threading.Tasks;
1717
using System.Timers;
1818
using System.Windows.Forms;
19+
using org.mariuszgromada.math.mxparser;
1920

2021
namespace MissionPlanner.GCSViews.ConfigurationView
2122
{
@@ -378,8 +379,9 @@ private void Params_CellValueChanged(object sender, DataGridViewCellEventArgs e)
378379
double max = 0;
379380

380381
var value = (string)Params[e.ColumnIndex, e.RowIndex].Value;
382+
value = value.Replace(',', '.');
381383

382-
var newvalue = float.Parse(value.Replace(',', '.'), CultureInfo.InvariantCulture);
384+
var newvalue = (float) new Expression(value).calculate();
383385

384386
var readonly1 = ParameterMetaDataRepository.GetParameterMetaData(
385387
Params[Command.Index, e.RowIndex].Value.ToString(),
@@ -420,9 +422,12 @@ private void Params_CellValueChanged(object sender, DataGridViewCellEventArgs e)
420422
}
421423

422424
Params[e.ColumnIndex, e.RowIndex].Style.BackColor = Color.Green;
423-
log.InfoFormat("Queue change {0} = {1}", Params[Command.Index, e.RowIndex].Value, Params[e.ColumnIndex, e.RowIndex].Value);
424-
_changes[Params[Command.Index, e.RowIndex].Value] =
425-
float.Parse((((string)Params[e.ColumnIndex, e.RowIndex].Value).Replace(',','.')),CultureInfo.InvariantCulture);
425+
log.InfoFormat("Queue change {0} = {1} ({2})", Params[Command.Index, e.RowIndex].Value, Params[e.ColumnIndex, e.RowIndex].Value, newvalue);
426+
_changes[Params[Command.Index, e.RowIndex].Value] = newvalue;
427+
428+
Params.CellValueChanged -= Params_CellValueChanged;
429+
Params[e.ColumnIndex, e.RowIndex].Value = newvalue;
430+
Params.CellValueChanged += Params_CellValueChanged;
426431
}
427432
catch (Exception)
428433
{

0 commit comments

Comments
 (0)