Пример #1
0
        public FrameController(IFrameConfig frameConfig, UiDispatchDelegate uiDispatchDelegate)
        {
            _frameConfig        = frameConfig;
            _uiDispatchDelegate = uiDispatchDelegate;

            _photosDatabase = new PhotoDatabase(_frameConfig.PhotosPath);
            _photosDatabase.PhotosListChanged += (s, e) =>
            {
                string nextPhoto = CalculateNextPhoto();
                _uiDispatchDelegate.Invoke(() =>
                {
                    CurrentPhoto = nextPhoto;
                });
            };

            _random = new Random(DateTime.Now.Millisecond);

            _currentPhoto = CalculateNextPhoto();

            _photoSwitchTimer = new Timer(
                o =>
            {
                if (_timerValue >= _frameConfig.PhotoShowTime)
                {
                    _timerValue  = TimeSpan.Zero;
                    CurrentPhoto = CalculateNextPhoto();
                    RaiseTimerValueChanged();
                }
                else
                {
                    _timerValue = _timerValue.Add(TimeSpan.FromSeconds(1));
                    RaiseTimerValueChanged();
                }
            });
        }
Пример #2
0
 public ViewBase(string uri, IAppModel appModel, IFrameController frameController, IFrameConfig frameConfig)
 {
     _Uri            = uri;
     AppModel        = appModel;
     FrameController = frameController;
     FrameConfig     = frameConfig;
 }
Пример #3
0
        private void InitAppWithConfig(IFrameConfig frameConfig)
        {
            if (_FrameController != null)
            {
                _FrameController.Stop();
            }
            _FrameController = new FrameController(frameConfig, new UIDispatchDelegate((a) => UIDispatch.Invoke(a)));
            _ViewManager     = new ViewManager(this, _FrameController, frameConfig);

            ShowDebugInfo = _FrameConfig.ShowDebugInfo;

            _FrameController.CurrentPhotoChanged += (s, e) =>
            {
                CreateAndShowNewView();
            };

            CreateAndShowNewView();

            _FrameController.TimerValueChanged += (s, e) =>
            {
                TimerValue = _FrameController.TimerValue;
            };

            _FrameController.Start();
        }
Пример #4
0
 public ViewModelBase(IFrameController frameController, IFrameConfig config)
 {
     FrameController = frameController;
     FrameConfig     = config;
     ImageUri        = frameController.CurrentPhoto;
     FrameController.CurrentPhotoChanged += FrameController_CurrentPhotoChanged;
     _Counter++;
     Console.WriteLine($"Number of ViewModels: {_Counter}");
 }
Пример #5
0
        public ViewModelColorize(IFrameController frameController, IFrameConfig config)
            : base(frameController, config)
        {
            var colorizeInfo = frameController.GetNextColorizeInfo();

            Hue        = colorizeInfo.Hue;
            Saturation = colorizeInfo.Saturation;
            Lightness  = colorizeInfo.Lightness;
        }
Пример #6
0
        public AppModel()
        {
            if (_Instance != null)
            {
                _CurrentViewSwitchInfo = _Instance._CurrentViewSwitchInfo;
            }
            _Instance = this;
            string wd = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

            _FrameConfig = new FrameJsonConfig(Path.Combine(wd, "PhotoFrameConfig.json"));
            _FrameConfig.FrameConfigChanged += (s, e) =>
            {
                InitAppWithConfig(_FrameConfig);
            };
            InitAppWithConfig(_FrameConfig);
        }
Пример #7
0
 public ViewNormal(IAppModel appModel, IFrameController frameController, IFrameConfig config)
     : base("ViewNormal.qml", appModel, frameController, config)
 {
 }
Пример #8
0
 public TestView(string uri, IAppModel appModel, IFrameController frameController, IFrameConfig config)
     : base(uri, appModel, frameController, config)
 {
     ViewModelMock = Mock.Of <IViewModel>();
 }
Пример #9
0
 public ViewModelNormal(IFrameController frameController, IFrameConfig config)
     : base(frameController, config)
 {
 }
Пример #10
0
 public ViewModelBorder(IFrameController frameController, IFrameConfig config)
     : base(frameController, config)
 {
     BorderColor = ColorToString(FrameController.GetNextBorderColor());
     BorderWidth = FrameConfig.BorderWidth;
 }
Пример #11
0
 public ViewModelBaseTestClass(IFrameController frameController, IFrameConfig frameConfig)
     : base(frameController, frameConfig)
 {
 }
Пример #12
0
 public ViewModelTestBase()
 {
     _FrameControllerMock = Mock.Of <IFrameController>();
     _FrameConfigMock     = Mock.Of <IFrameConfig>();
 }
Пример #13
0
 public ViewManagerTest()
 {
     _AppModelMock        = Mock.Of <IAppModel>();
     _FrameControllerMock = Mock.Of <IFrameController>();
     _FrameConfigMock     = Mock.Of <IFrameConfig>();
 }
Пример #14
0
 public ViewTestBase()
 {
     _AppModelMock        = Mock.Of <IAppModel>();
     _FrameControllerMock = Mock.Of <IFrameController>();
     _FrameConfigMock     = Mock.Of <IFrameConfig>();
 }
Пример #15
0
 public ViewBorder(IAppModel appModel, IFrameController frameController, IFrameConfig config)
     : base("ViewBorder.qml", appModel, frameController, config)
 {
 }
Пример #16
0
 public ViewColorize(IAppModel appModel, IFrameController frameController, IFrameConfig frameConfig)
     : base("ViewColorized.qml", appModel, frameController, frameConfig)
 {
 }
Пример #17
0
 public ViewManager(IAppModel appModel, IFrameController frameController, IFrameConfig frameConfig)
 {
     _appModel        = appModel;
     _frameController = frameController;
     _frameConfig     = frameConfig;
 }