Пример #1
0
 public ToolBarView(IToolbarViewModel viewModel)
 {
     InitializeComponent();
     ViewModel = viewModel;
 }
Пример #2
0
        public ToolbarView(IToolbarViewModel viewModel)
        {
            InitializeComponent();

            ViewModel = viewModel;
        }
        public async void Initialize()
        {
            RegisterTelnet(RegionNames.OUTPUT_MAIN, 8085);
            RegisterTelnet(RegionNames.OUTPUT_SCENE_GRAPH, 8089);
            RegisterTelnet(RegionNames.OUTPUT_TASK_1, 8090);
            RegisterTelnet(RegionNames.OUTPUT_TASK_2, 8091);
            RegisterTelnet(RegionNames.OUTPUT_TASK_3, 8092);
            RegisterTelnet(RegionNames.OUTPUT_TASK_REST, 8093);
            //RegisterTelnet(RegionNames.OUTPUT_SPECIAL, 8080);
            _regionManager.RegisterViewWithRegion(RegionNames.OUTPUT_MAIN, () =>
            {
                var vm  = _container.Resolve <IOutputViewModel>();
                vm.Port = 8085;
                return(vm.View);
            });
            _regionManager.RegisterViewWithRegion(RegionNames.OUTPUT_SCENE_GRAPH, () =>
            {
                var vm  = _container.Resolve <IOutputViewModel>();
                vm.Port = 8089;
                return(vm.View);
            });
            _regionManager.RegisterViewWithRegion(RegionNames.TOOLBAR, () =>
            {
                _toolbarViewModel = _container.Resolve <IToolbarViewModel>();
                return(_toolbarViewModel.View);
            });
            _regionManager.RegisterViewWithRegion(RegionNames.STACK_PANEL, () => _container.Resolve <IStackPanelViewModel>().View);
            //_regionManager.RegisterViewWithRegion(RegionNames.WATCH, () => _container.Resolve<IWatchViewModel>().View);
            _regionManager.RegisterViewWithRegion(RegionNames.LOCALS, () => _container.Resolve <ILocalsViewModel>().View);
            _regionManager.RegisterViewWithRegion(RegionNames.CONSOLE, () => _container.Resolve <IConsoleViewModel>().View);
            _regionManager.RegisterViewWithRegion(RegionNames.REMOTE, () => _container.Resolve <IRemoteViewModel>().View);
            _regionManager.RegisterViewWithRegion(RegionNames.CYGWIN, () => _container.Resolve <ICygwinViewModel>().View);
            _regionManager.RegisterViewWithRegion(RegionNames.SCREENSHOT, () => _container.Resolve <IScreenshotViewModel>().View);

            _eventAggregator.GetEvent <CommandEvent>().Subscribe(SendCommand);

            _eventAggregator.GetEvent <ConnectEvent>().Subscribe(ip =>
            {
                _ip = ip;

                var args = JsonConvert.SerializeObject(new { ip = ip });
                _remoteService.SetArgs(args);

                Task.Delay(1000).Wait();
                Connect(ip, 8085).Wait();
            }, ThreadOption.BackgroundThread);

            _eventAggregator.GetEvent <DisconnectEvent>().Subscribe(obj =>
            {
                _telnetTasks.Values.ToList().ForEach(t => t.Disconnect());
                _telnetTasks.Clear();
                _parserTasks.Values.ToList().ForEach(p => p.Stop());
                _parserTasks.Clear();
                _screenshotService.Stop();
                _connected = false;
            }, ThreadOption.BackgroundThread);

            _eventAggregator.GetEvent <SendCommandEvent>().Subscribe(cmd =>
            {
                _remoteService.SendAsync(cmd);
            });

            //_eventAggregator.GetEvent<DebugEvent>().Subscribe(enabled => _debug = enabled);

            _eventAggregator.GetEvent <DeployEvent>().Subscribe(model => Deploy(model.Ip, model.Folder), ThreadOption.BackgroundThread);

            _eventAggregator.GetEvent <ShowConfigEvent>().Subscribe(f => ShowConfig(f));

            _eventAggregator.GetEvent <BusyShowEvent>().Subscribe(m => _screenshotService.Stop());
            _eventAggregator.GetEvent <BusyHideEvent>().Subscribe(obj =>
            {
                if (_screenshotRunning)
                {
                    _screenshotService.Start(_ip);
                }
            });

            _eventAggregator.GetEvent <ScreenshotStartEvent>().Subscribe(obj =>
            {
                _screenshotRunning = true;
                _screenshotService.Start(_ip);
            });

            _eventAggregator.GetEvent <ScreenshotStopEvent>().Subscribe(obj =>
            {
                _screenshotRunning = false;
                _screenshotService.Stop();
            });

            _eventAggregator.GetEvent <OutputChangeEvent>().Subscribe(p => _selectedPort = p);
            _eventAggregator.GetEvent <OutputChangeEvent>().Publish(8085);

            RegisterCommands();
        }
Пример #4
0
 public ToolbarView(IToolbarViewModel vm)
     : this()
 {
     DataContext = vm;
 }