public DispParamViewModel( string displayName, IRecvParam <TReceive> parameterModel, IThreadNotifier uiNotifier, Func <TReceive, TDisplay> displayValueGetter, TDisplay fallbackValue, TDisplay unknownValue) { //UniqueName = fullNamePreffix + ": " + displayName; //DisplayName = uniqNamePrefix + ": " + displayName; DisplayName = displayName; _parameterModel = parameterModel; _uiNotifier = uiNotifier; _displayValueGetter = displayValueGetter; _fallbackValue = fallbackValue; _unknownValue = unknownValue; _displayValue = unknownValue; _isValueUnknown = true; _isValueFallback = false; _parameterModel.NotifyDataReceived += ParameterModelOnNotifyDataReceived; }
public ChartParamViewModel( IRecvParam <TR> recvParam, IDisplayParameter <TD> parameter, Func <TR, double> chartDataGetter, ParameterLogType parameterLogType, IParameterLogger parameterLogger, params string[] uniqNamePrefix) { _uniqNamePrefix = string.Join(", ", uniqNamePrefix); _recvParam = recvParam; _parameter = parameter; _chartDataGetter = chartDataGetter; _parameterLogType = parameterLogType; _parameterLogger = parameterLogger; DisplayParameters = new List <IDisplayParameter> { _parameter }; _isChecked = false; switch (_parameterLogType) { case ParameterLogType.Analogue: _recvParam.NotifyDataReceived += ParameterOnDisplayParameterValueMaybeChanged; break; case ParameterLogType.Discrete: _recvParam.NotifyDataReceived += ParameterOnDisplayParameterValueMaybeChangedBool; break; default: throw new ArgumentOutOfRangeException(nameof(parameterLogType), parameterLogType, null); } }
public DispParamSettableViewModel( string displayName, IRecvParam <TRaw> recvModel, IThreadNotifier uiNotifier, Func <TRaw, TDisplay> displayValueGetter, TDisplay fallbackValue, TDisplay unknownValue, Action <TSet> sendValueValidator, TSet fallbackSettValue, TSet unknownSettValue, Action <TSet, Action <Exception> > asyncParamSetter) { DisplayName = displayName; _recvModel = recvModel; _uiNotifier = uiNotifier; _displayValueGetter = displayValueGetter; _fallbackValue = fallbackValue; _unknownValue = unknownValue; _displayValue = unknownValue; _isValueUnknown = true; _isValueFallback = false; _sendValueValidator = sendValueValidator; _fallbackSettValue = fallbackSettValue; _unknownSettValue = unknownSettValue; _settValue = unknownSettValue; _isSettValueUnknown = true; _isSettValueFallback = false; _backgroundColor = Colors.Transparent; _asyncParamSetter = asyncParamSetter; _setCommand = new DependedCommand(Set, () => IsSettValueNotFallbackAndNotUnknown); _setCommand.AddDependOnProp(this, () => IsSettValueNotFallbackAndNotUnknown); _recvModel.NotifyDataReceived += ParameterModelOnNotifyDataReceived; }