public MainModel(InteriorModel interiorModel, Animation animation, ViewModel.ViewModel viewModel) { this.animation = animation; this.interiorModel = interiorModel; Frequency = new RotaticgPropertyOfModel( interiorModel.Frequency, (value) => viewModel.FrequencyAngle = Converter.Frequency.ToAngle(value)); Volume = new RotaticgPropertyOfModel( interiorModel.Volume, (value) => viewModel.VolumeAngle = Converter.Volume.ToAngle(value)); Noise = new RotaticgPropertyOfModel( interiorModel.Noise, (value) => viewModel.NoiseAngle = Converter.Noise.ToAngle(value)); Antenna = new RotaticgPropertyOfModel( interiorModel.Antenna, (value) => viewModel.AntennaAngle = Converter.Antenna.ToAngle(value)); Power = new PropertyOfModel <Turned>( interiorModel.Power, (value) => viewModel.PowerValue = Converter.TurnedState.ToBoolean(value)); Scale = new PropertyOfModel <Turned>( interiorModel.Scale, (value) => viewModel.ScaleValue = Converter.TurnedState.ToBoolean(value)); Tangent = new PropertyOfModel <Turned>( interiorModel.Tangent, (value) => viewModel.TangentValue = Converter.TurnedState.ToBoolean(value)); Tone = new PropertyOfModel <Turned>( interiorModel.Tone, (value) => viewModel.ToneValue = Converter.TurnedState.ToBoolean(value)); AntennaFixer = new PropertyOfModel <ClampState>( interiorModel.AntennaFixer, (value) => viewModel.AntennaFixerAngle = Converter.AntennaFixer.ToAngle(value)); Range = new PropertyOfModel <RangeState>( interiorModel.Range, (value) => viewModel.RangeAngle = Converter.Range.ToAngle(value)); WorkMode = new PropertyOfModel <WorkModeState>( interiorModel.WorkMode, (value) => viewModel.WorkModeAngle = Converter.WorkMode.ToAngle(value)); Voltage = new PropertyOfModel <VoltageState>( interiorModel.Voltage, (value) => viewModel.VoltageAngle = Converter.Voltage.ToAngle(value)); Clamps = new ClampsSet(interiorModel, viewModel); SubFixFrequency = new SwitchesSet(interiorModel, viewModel); NumberSubFrequency = new GetPropertyOfModel <SubFrequencyState>(interiorModel.NumberSubFrequency); }
public LineAndEllipseAnimation(InteriorModel Model, ViewModel.ViewModel ViewModel) { this.Model = Model; this.ViewModel = ViewModel; dispatcherOnAnimation = new DispatcherTimer { Interval = TimeSpan.FromMilliseconds(1000 / 40) }; dispatcherOnAnimation.Tick += new EventHandler(OnAnimation_Tick); dispatcherOffAnimation = new DispatcherTimer { Interval = TimeSpan.FromMilliseconds(1000 / 40) }; dispatcherOffAnimation.Tick += new EventHandler(OffAnimation_Tick); }
public ViewModel() { Animation = new Animation(this); InteriorModel = new InteriorModel(); lineAndEllipse = new LineAndEllipseAnimation(InteriorModel, this); PublicModel = new MainModel(InteriorModel, Animation, this); #region Requests RequestRotateFrequency = new SimpleCommand <double>(RotateFrequencyTo); RequestEndRotateFrequency = new SimpleCommand <double>(EndRotateFrequencyTo); RequestRotateNoise = new SimpleCommand <double>(RotateNoiseTo); RequestEndRotateNoise = new SimpleCommand <double>(EndRotateNoiseTo); RequestRotateVolume = new SimpleCommand <double>(RotateVolumeTo); RequestEndRotateVolume = new SimpleCommand <double>(EndRotateVolumeTo); RequestRotateAntenna = new SimpleCommand <double>(RotateAntennaTo); RequestEndRotateAntenna = new SimpleCommand <double>(EndRotateAntennaTo); RequestRotateAntennaFixer = new SimpleCommand <double>(RotateAntennaFixerTo); RequestEndRotateAntennaFixer = new SimpleCommand <double>(EndRotateAntennaFixerTo); RequestRotateRange = new SimpleCommand <double>(RotateRangeTo); RequestRotateVoltage = new SimpleCommand <double>(RotateVoltageTo); RequestRotateWorkMode = new SimpleCommand <double>(RotateWorkModeTo); RequestChangePowerValue = new SimpleCommand <bool>(ChangePowerValueTo); RequestChangeScaleValue = new SimpleCommand <bool>(ChangeScaleValueTo); RequestChangeToneValue = new SimpleCommand <bool>(ChangeToneValueTo); RequestChangeTangentValue = new SimpleCommand <bool>(ChangeTangentValueTo); RequestChangeSubFrequency0Value = new SimpleCommand <bool>(ChangeSubFrequency0ValueTo); RequestChangeSubFrequency1Value = new SimpleCommand <bool>(ChangeSubFrequency1ValueTo); RequestChangeSubFrequency2Value = new SimpleCommand <bool>(ChangeSubFrequency2ValueTo); RequestChangeSubFrequency3Value = new SimpleCommand <bool>(ChangeSubFrequency3ValueTo); RequestRotateClamp0 = new SimpleCommand <double>(ChangeClamp0AngleTo); RequestRotateClamp1 = new SimpleCommand <double>(ChangeClamp1AngleTo); RequestRotateClamp2 = new SimpleCommand <double>(ChangeClamp2AngleTo); RequestRotateClamp3 = new SimpleCommand <double>(ChangeClamp3AngleTo); #endregion AntennaFixerAngle = Converter.AntennaFixer.ToAngle(ClampState.Fixed); VisibilityFrequencyDisplay = Visibility.Hidden; Clamp0Angle = 90; Clamp1Angle = 90; Clamp2Angle = 90; Clamp3Angle = 90; UpdateCanChangeFrequency(); }
public SwitchesSet(InteriorModel interiorModel, ViewModel.ViewModel viewModel) { SwitchesList = new PropertyOfModel <Turned> [4]; SwitchesList[0] = new PropertyOfModel <Turned>( interiorModel.SubFixFrequency[0], (value) => viewModel.SubFrequency0 = Converter.TurnedState.ToBoolean(value)); SwitchesList[1] = new PropertyOfModel <Turned>( interiorModel.SubFixFrequency[1], (value) => viewModel.SubFrequency1 = Converter.TurnedState.ToBoolean(value)); SwitchesList[2] = new PropertyOfModel <Turned>( interiorModel.SubFixFrequency[2], (value) => viewModel.SubFrequency2 = Converter.TurnedState.ToBoolean(value)); SwitchesList[3] = new PropertyOfModel <Turned>( interiorModel.SubFixFrequency[3], (value) => viewModel.SubFrequency3 = Converter.TurnedState.ToBoolean(value)); }
public ClampsSet(InteriorModel interiorModel, ViewModel.ViewModel viewModel) { ClampsList = new PropertyOfModel <ClampState> [4]; ClampsList[0] = new PropertyOfModel <ClampState>( interiorModel.Clamps[0], (value) => viewModel.Clamp0Angle = Converter.Clamp.ToAngle(value)); ClampsList[1] = new PropertyOfModel <ClampState>( interiorModel.Clamps[1], (value) => viewModel.Clamp1Angle = Converter.Clamp.ToAngle(value)); ClampsList[2] = new PropertyOfModel <ClampState>( interiorModel.Clamps[2], (value) => viewModel.Clamp2Angle = Converter.Clamp.ToAngle(value)); ClampsList[3] = new PropertyOfModel <ClampState>( interiorModel.Clamps[3], (value) => viewModel.Clamp3Angle = Converter.Clamp.ToAngle(value)); ClampsList[0].ValueChanged += (s, e) => ValueChanged?.Invoke(s, new ClampChangedEventArgs(0, e.NewValue)); ClampsList[1].ValueChanged += (s, e) => ValueChanged?.Invoke(s, new ClampChangedEventArgs(1, e.NewValue)); ClampsList[2].ValueChanged += (s, e) => ValueChanged?.Invoke(s, new ClampChangedEventArgs(2, e.NewValue)); ClampsList[3].ValueChanged += (s, e) => ValueChanged?.Invoke(s, new ClampChangedEventArgs(3, e.NewValue)); }