コード例 #1
0
        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);
        }
コード例 #2
0
 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);
 }
コード例 #3
0
ファイル: ViewModel.cs プロジェクト: KuznetsovDm/R-123
        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();
        }
コード例 #4
0
            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));
            }
コード例 #5
0
            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));
            }