Пример #1
0
        public EntityBaseView(Window owner, ViewModelBase content)
        {
            InitializeComponent();

            Owner = owner;
            EntityContent.Content = content;
            Title = content.PageTitle;

            DeleteCommand = new SimpleCommand(() =>
            {
                content.DeleteCommand.Execute(null);
                Close();
            }, () => content.DeleteCommand.CanExecute(null));

            SaveCommand = new SimpleCommand(() =>
            {
                content.SaveCommand.Execute(null);
                ((SimpleCommand)DeleteCommand).RaiseCanExecuteChanged();
            }, () => content.SaveCommand.CanExecute(null));

            SaveAndCloseCommand = new SimpleCommand(() =>
            {
                SaveCommand.Execute(null);
                if (!content.HasError)
                {
                    Close();
                }
            }, () => SaveCommand.CanExecute(null));
        }
Пример #2
0
        public void TestSimpleCommand()
        {
            var command = new SimpleCommand(() => TestString = "I executed my Command!");

            command.Execute(this);
            Assert.AreEqual("I executed my Command!", TestString);
        }
Пример #3
0
        public void ExecuteTest()
        {
            Assert.Raises <EventArgs>(handler => TestHandler += handler, handler => TestHandler -= handler,
                                      () => testCommand.Execute());

            Assert.Raises <EventArgs>(handler => TestHandler += handler, handler => TestHandler -= handler,
                                      () => genericTestCommand.Execute(param));
        }
        public void Execute_CallsTheGivenDelegate_TheGivenDelegateIsCalled()
        {
            var called = false;
            var command = new SimpleCommand(() => { called = true; });

            command.Execute();

            Assert.IsTrue(called);
        }
Пример #5
0
        public void GivenSimpleCommand_WhenInvokingCommand3Times_ThenItExecute3Action()
        {
            TEST_OUTPUT = String.Empty;
            simpleCommandRelayerSubject = new RelayCommand(() => TEST_OUTPUT += "1");

            for (int i = 0; i < 3; i++)
            {
                SimpleCommand.Execute(null);
            }

            Assert.Equal("111", TEST_OUTPUT);
        }
 public SimpleCommandBinding()
 {
     CanExecute += (CanExecuteRoutedEventHandler)((o, e) =>
     {
         e.CanExecute = SimpleCommand != null && SimpleCommand.CanExecute(e.Parameter);
     });
     Executed += (ExecutedRoutedEventHandler)((o, e) =>
     {
         if (SimpleCommand != null)
         {
             SimpleCommand.Execute(e.Parameter);
         }
     });
 }
        public SimpleRoutedCommand(RoutedUICommand routedCommand, SimpleCommand simpleCommand)
        {
            _routedCommand   = routedCommand;
            _embeddedCommand = simpleCommand;
            ExecuteDelegate  = x =>
            {
                _embeddedCommand.Execute(x);
                this.CommandSucceeded = simpleCommand.CommandSucceeded;
            };

            CanExecuteDelegate = x =>
            {
                return(_embeddedCommand.CanExecute(x));
            };

            init();
        }
Пример #8
0
        public void GivenSimpleCommandWithCanExec_WhenInvokingCommand_ThenItDoesExecuteBasedOnOutsideState()
        {
            TEST_OUTPUT = String.Empty;
            bool canExecute = false;

            simpleCommandRelayerSubject = new RelayCommand(() => TEST_OUTPUT += "1", () => { return(canExecute); });

            if (SimpleCommand.CanExecute(null))
            {
                for (int i = 0; i < 3; i++)
                {
                    SimpleCommand.Execute(null);
                }
            }
            Assert.NotEqual("111", TEST_OUTPUT);

            canExecute = true;
            SimpleCommand.Execute(null);

            Assert.Equal("1", TEST_OUTPUT);
        }
Пример #9
0
        private void CreateCommands()
        {
            CommandPause = new SimpleCommand()
            {
                ExecuteDelegate = o =>
                    {
                        if (LoadedMedia == null)
                            MediaLoad(true);
                        else
                            if (_engine.PreviewIsPlaying)
                                _engine.PreviewPause();
                            else
                            {
                                _engine.PreviewPosition = 0;
                                NotifyPropertyChanged("Position");
                                NotifyPropertyChanged("SliderPosition");
                            }
                    },
                CanExecuteDelegate = o =>
                    {
                        Media media = Media != null ? Media : (Event != null ? Event.Media : null);
                        return (LoadedMedia != null && LoadedMedia.MediaStatus == TMediaStatus.Available)
                            || (media != null && media.MediaStatus == TMediaStatus.Available);
                    }
            };
            CommandPlay = new SimpleCommand()
            {
                ExecuteDelegate = o =>
                    {
                        ServerMedia loadedMedia = LoadedMedia;
                        if (loadedMedia != null)
                        {
                            if (_engine.PreviewIsPlaying)
                                _engine.PreviewPause();
                            else
                                _engine.PreviewPlay();
                        }
                        else
                        {
                            CommandPause.Execute(null);
                            if (LoadedMedia != null)
                                _engine.PreviewPlay();
                        }
                    },
                CanExecuteDelegate = o =>
                    {
                        Media media = Media != null ? Media : (Event != null ? Event.Media : null);
                        return (LoadedMedia != null && LoadedMedia.MediaStatus == TMediaStatus.Available)
                            || (media != null && media.MediaStatus == TMediaStatus.Available);
                    }
            };
            CommandStop = new SimpleCommand()
            {
                ExecuteDelegate = o => { _mediaUnload(); },
                CanExecuteDelegate = _canStop
            };
            CommandSeek = new SimpleCommand()
            {
                ExecuteDelegate = param =>
                    {
                        if (_engine.PreviewIsPlaying)
                            _engine.PreviewPause();
                        _engine.PreviewPosition = _engine.PreviewPosition + int.Parse((string)param);
                        NotifyPropertyChanged("Position");
                        NotifyPropertyChanged("SliderPosition");
                    },
                CanExecuteDelegate = _canStop
            };

            CommandCopyToTCIn = new SimpleCommand()
            {
                ExecuteDelegate = o =>
                    {
                        TCIn = Position;
                    },
                CanExecuteDelegate = _canStop
            };

            CommandCopyToTCOut = new SimpleCommand()
            {
                ExecuteDelegate = o =>
                    {
                        TCOut = Position;
                    },
                CanExecuteDelegate = _canStop
            };

            CommandSaveSegment = new SimpleCommand()
            {
                ExecuteDelegate = o =>
                    {
                        MediaSegmentViewmodel msVm = _selectedSegment;
                        PersistentMedia media = LoadedMedia;
                        if (msVm == null)
                        {
                            msVm = new MediaSegmentViewmodel(media) { TCIn = this.TCIn, TCOut = this.TCOut, SegmentName = this.SelectedSegmentName };
                            media.MediaSegments.Add(msVm.MediaSegment);
                            MediaSegments.Add(msVm);
                            SelectedSegment = msVm;
                        }
                        else
                        {
                            msVm.TCIn = TCIn;
                            msVm.TCOut = TCOut;
                            msVm.SegmentName = SelectedSegmentName;
                        }
                        msVm.Save();
                    },
                CanExecuteDelegate = o =>
                    {
                        var ss = SelectedSegment;
                        return (LoadedMedia != null
                            && ((ss == null && !string.IsNullOrEmpty(SelectedSegmentName))
                                || (ss != null && (ss.Modified || SelectedSegmentName != ss.SegmentName || TCIn != ss.TCIn || TCOut != ss.TCOut))));
                    }
            };
            CommandDeleteSegment = new SimpleCommand()
            {
                ExecuteDelegate = o =>
                    {
                        MediaSegmentViewmodel msVm = _selectedSegment;
                        if (msVm != null)
                        {
                            msVm.Delete();
                            MediaSegments.Remove(msVm);
                            SelectedSegment = null;
                        }
                    },
                CanExecuteDelegate = o => _selectedSegment != null
            };
            CommandNewSegment = new SimpleCommand()
            {
                ExecuteDelegate = o =>
                    {
                        var media = LoadedMedia;
                        var msVm = new MediaSegmentViewmodel(media) { TCIn = this.TCIn, TCOut = this.TCOut, SegmentName = Properties.Resources._title_NewSegment };
                        msVm.Save();
                        media.MediaSegments.Add(msVm.MediaSegment);
                        MediaSegments.Add(msVm);
                        SelectedSegment = msVm;
                        IsSegmentNameFocused = true;
                    },
            };
            CommandSetSegmentNameFocus = new SimpleCommand()
            {
                ExecuteDelegate = o =>
                    {
                        IsSegmentNameFocused = true;
                        NotifyPropertyChanged("IsSegmentNameFocused");
                    },
            };
        }