Config: Add 'required' option to scales
All checks were successful
Test / Run tests (push) Successful in 4m3s

This commit is contained in:
2024-05-13 11:33:27 +02:00
parent f95f0f0ef3
commit 81e18ac553
2 changed files with 9 additions and 3 deletions

View File

@ -159,7 +159,9 @@ namespace Elwig {
list.Add(Scale.FromConfig(s)); list.Add(Scale.FromConfig(s));
} catch (Exception e) { } catch (Exception e) {
list.Add(new InvalidScale(s.Id)); list.Add(new InvalidScale(s.Id));
MessageBox.Show($"Unable to create scale {s.Id}:\n\n{e.Message}", "Scale Error", MessageBoxButton.OK, MessageBoxImage.Error); if (s.Required)
MessageBox.Show($"Unable to create scale {s.Id}:\n\n{e.Message}", "Scale Error",
MessageBoxButton.OK, MessageBoxImage.Error);
} }
} }
Scales = list; Scales = list;

View File

@ -13,10 +13,11 @@ namespace Elwig.Helpers {
public string? Empty; public string? Empty;
public string? Filling; public string? Filling;
public string? Limit; public string? Limit;
public bool Required;
public string? Log; public string? Log;
public string? _Log; public string? _Log;
public ScaleConfig(string id, string? type, string? model, string? cnx, string? empty, string? filling, string? limit, string? log) { public ScaleConfig(string id, string? type, string? model, string? cnx, string? empty, string? filling, string? limit, bool? required, string? log) {
Id = id; Id = id;
Type = type; Type = type;
Model = model; Model = model;
@ -24,6 +25,7 @@ namespace Elwig.Helpers {
Empty = empty; Empty = empty;
Filling = filling; Filling = filling;
Limit = limit; Limit = limit;
Required = required ?? true;
_Log = log; _Log = log;
Log = log != null ? Path.Combine(App.DataPath, log) : null; Log = log != null ? Path.Combine(App.DataPath, log) : null;
} }
@ -91,7 +93,9 @@ namespace Elwig.Helpers {
foreach (var s in scales) { foreach (var s in scales) {
ScaleList.Add(new( ScaleList.Add(new(
s, config[$"scale.{s}:type"], config[$"scale.{s}:model"], config[$"scale.{s}:connection"], s, config[$"scale.{s}:type"], config[$"scale.{s}:model"], config[$"scale.{s}:connection"],
config[$"scale.{s}:empty"], config[$"scale.{s}:filling"], config[$"scale.{s}:limit"], config[$"scale.{s}:log"] config[$"scale.{s}:empty"], config[$"scale.{s}:filling"], config[$"scale.{s}:limit"],
config[$"scale.{s}:required"] != null ? TrueValues.Contains(config[$"scale.{s}:required"]?.ToLower()) : null,
config[$"scale.{s}:log"]
)); ));
} }
} }