Ejemplo n.º 1
0
        public PumpControl(GasVentPumpData data, string address)
        {
            RobustXamlLoader.Load(this);

            this.Name = address;

            _data    = data;
            _address = address;

            _addressLabel.Title = Loc.GetString("air-alarm-ui-atmos-net-device-label", ("address", $"{address}"));

            _enabled.Pressed    = data.Enabled;
            _enabled.OnToggled += _ =>
            {
                _data.Enabled = _enabled.Pressed;
                PumpDataChanged?.Invoke(_address, _data);
            };

            _internalBound.Value           = (float)_data.InternalPressureBound;
            _internalBound.OnValueChanged += _ =>
            {
                _data.InternalPressureBound = _internalBound.Value;
                PumpDataChanged?.Invoke(_address, _data);
            };
            _internalBound.IsValid += value => value >= 0;

            _externalBound.Value           = (float)_data.ExternalPressureBound;
            _externalBound.OnValueChanged += _ =>
            {
                _data.ExternalPressureBound = _externalBound.Value;
                PumpDataChanged?.Invoke(_address, _data);
            };
            _externalBound.IsValid += value => value >= 0;

            foreach (var value in Enum.GetValues <VentPumpDirection>())
            {
                _pumpDirection.AddItem(Loc.GetString($"{value}"), (int)value);
            }

            _pumpDirection.SelectId((int)_data.PumpDirection);
            _pumpDirection.OnItemSelected += args =>
            {
                _pumpDirection.SelectId(args.Id);
                _data.PumpDirection = (VentPumpDirection)args.Id;
                PumpDataChanged?.Invoke(_address, _data);
            };

            foreach (var value in Enum.GetValues <VentPressureBound>())
            {
                _pressureCheck.AddItem(Loc.GetString($"{value}"), (int)value);
            }

            _pressureCheck.SelectId((int)_data.PressureChecks);
            _pressureCheck.OnItemSelected += args =>
            {
                _pressureCheck.SelectId(args.Id);
                _data.PressureChecks = (VentPressureBound)args.Id;
                PumpDataChanged?.Invoke(_address, _data);
            };
        }
 public void FromAirAlarmData(GasVentPumpData data)
 {
     Enabled               = data.Enabled;
     IsDirty               = data.Dirty;
     PumpDirection         = (VentPumpDirection)data.PumpDirection !;
     PressureChecks        = (VentPressureBound)data.PressureChecks !;
     ExternalPressureBound = (float)data.ExternalPressureBound !;
     InternalPressureBound = (float)data.InternalPressureBound !;
 }
Ejemplo n.º 3
0
        public void ChangeData(GasVentPumpData data)
        {
            _data.Enabled    = data.Enabled;
            _enabled.Pressed = _data.Enabled;

            _data.PumpDirection = data.PumpDirection;
            _pumpDirection.SelectId((int)_data.PumpDirection);

            _data.PressureChecks = data.PressureChecks;
            _pressureCheck.SelectId((int)_data.PressureChecks);

            _data.ExternalPressureBound = data.ExternalPressureBound;
            _externalBound.Value        = _data.ExternalPressureBound;

            _data.InternalPressureBound = data.InternalPressureBound;
            _internalBound.Value        = _data.InternalPressureBound;
        }