Пример #1
0
        private DialogScreenResult ShowModal(IScreenFactory <IScreenBase> screenFactory)
        {
            _modal = true;

            DialogLifecycle dialogLifecycle = null;

            try {
                _screen = screenFactory.Create(
                    _aggregator,
                    s => {
                    dialogLifecycle = new DialogLifecycle(s);
                    s.Children.Add(dialogLifecycle);
                }
                    );

                Initialize();

                try {
                    _windowService.ShowWindow(_window, modal: true);
                } catch (Exception ex) {
                    // If an exception is thrown in the UI code of the dialog window (e.g. in
                    // a command handler or on a Dispatcher action), ShowDialog rethrows this
                    // exception but leaves the Window open and visible.
                    if (!ex.IsCritical() && _window.IsVisible)
                    {
                        CloseWindowImmediatately();
                    }

                    // It's possible that 'HandleClose' or 'HandleWindowClosed' was already executed
                    // but 'ShowDialog' still threw an exception. In that case we have to check the
                    // current state of the screen to prevent invalid state transitions.
                    // TODO: Write a Unit Test when it's known how to reproduce it!
                    CloseScreen(checkState: true);

                    throw;
                }

                if (_lastWindowHandlerException != null)
                {
                    throw _lastWindowHandlerException;
                }

                return(dialogLifecycle.ScreenResult ?? new DialogScreenResult(false));
            } finally {
                Disconnect();

                if (_screen != null)
                {
                    _screen
                    .Children
                    .Remove(dialogLifecycle);
                }

                if (_window.Owner != null)
                {
                    // Fix for http://stackoverflow.com/questions/3144004/wpf-app-loses-completely-focus-on-window-close
                    _window.Owner.Activate();
                }
            }
        }
Пример #2
0
        public void TestInitialize()
        {
            ScreenFactory     = Substitute.For <IScreenFactory>();
            WindowManager     = Substitute.For <IWindowManagerEx>();
            QueueExplorer     = Substitute.For <IQueueExplorerViewModel>();
            EndpointExplorer  = Substitute.For <IEndpointExplorerViewModel>();
            MessageList       = Substitute.For <IMessageListViewModel>();
            NetworkOperations = Substitute.For <INetworkOperations>();
            ExceptionHandler  = Substitute.For <IExceptionHandler>();
            StatusbarManager  = Substitute.For <StatusBarManager>();
            EventAggregator   = Substitute.For <IEventAggregator>();
            MessageFlow       = Substitute.For <IMessageFlowViewModel>();
            MessageBodyView   = Substitute.For <IMessageBodyViewModel>();
            MessageProperties = Substitute.For <IMessagePropertiesViewModel>();
            View               = Substitute.For <IShellViewStub>();
            SettingsProvider   = Substitute.For <ISettingsProvider>();
            LicenseManager     = Substitute.For <ILicenseManager>();
            LogWindow          = Substitute.For <ILogWindowViewModel>();
            ConnectToViewModel = Substitute.For <ConnectToMachineViewModel>(NetworkOperations);
            SettingsProvider.GetSettings <ProfilerSettings>().Returns(DefaultAppSetting());
            App   = Substitute.For <IAppCommands>();
            shell = new ShellViewModel(App, ScreenFactory, WindowManager, QueueExplorer, EndpointExplorer, MessageList,
                                       StatusbarManager, EventAggregator, LicenseManager, MessageFlow, MessageBodyView,
                                       SettingsProvider, MessageProperties, LogWindow);

            ScreenFactory.CreateScreen <ConnectToMachineViewModel>().Returns(ConnectToViewModel);

            shell.AttachView(View, null);
        }
Пример #3
0
        public const int AutoRefreshInterval = 15000; //TODO: Wire to configuration/settings

        public ShellViewModel(
            IScreenFactory screenFactory,
            IWindowManagerEx windowManager,
            IExplorerViewModel explorer,
            IMessageListViewModel messages,
            IStatusBarManager statusBarManager,
            IEventAggregator eventAggregator,
            IConversationViewModel conversation,
            IMessageBodyViewModel messageBodyViewer,
            IEnumerable <IHeaderInfoViewModel> headers)
        {
            _screenFactory   = screenFactory;
            _windowManager   = windowManager;
            _eventAggregator = eventAggregator;
            Headers          = headers;
            Conversation     = conversation;
            StatusBarManager = statusBarManager;
            Explorer         = explorer;
            MessageBody      = messageBodyViewer;
            Messages         = messages;

            Items.Add(messageBodyViewer);
            Items.Add(conversation);
            Items.Add(explorer);
            Items.Add(messages);

            InitializeAutoRefreshTimer();
        }
Пример #4
0
 public WindowManagerEx(
     IViewLocator viewLocator,
     IViewModelBinder viewModelBinder,
     IScreenFactory screenFactory) : base(viewLocator, viewModelBinder)
 {
     _screenFactory = screenFactory;
 }
Пример #5
0
 public void RegisterFactory(Guid guid, IScreenFactory screenFactory)
 {
     if (!_screenFactoryDictionary.ContainsKey(guid))
     {
         _screenFactoryDictionary.Add(guid, screenFactory);
     }
 }
        protected override void setup()
        {
            _locator = MockRepository.GenerateMock <IScreenLocator>();

            // Let's say we have a ScreenCollection with open screens
            otherActiveScreen1 = MockRepository.GenerateMock <IScreen>();
            otherActiveScreen2 = MockRepository.GenerateMock <IScreen>();
            theActiveScreen    = MockRepository.GenerateMock <IScreen>();

            Screens.Active = theActiveScreen;
            Screens.Add(otherActiveScreen1);
            Screens.Add(otherActiveScreen2);
            Screens.Add(theActiveScreen);

            // and the requested ScreenSubject does not match any of the screens
            _locator.Expect(x => x.Matches(otherActiveScreen1)).Return(false);
            _locator.Expect(x => x.Matches(otherActiveScreen2)).Return(false);
            _locator.Expect(x => x.Matches(theActiveScreen)).Return(false);

            factory = MockFor <IScreenFactory>();

            newScreen = MockRepository.GenerateMock <IScreen>();
            _locator.Expect(x => x.CreateScreen(factory)).Return(newScreen);


            TheScreenConductor.OpenScreen(_locator);
        }
        public void TestInitialize()
        {
            ScreenFactory     = Substitute.For <IScreenFactory>();
            WindowManager     = Substitute.For <IWindowManagerEx>();
            QueueExplorer     = Substitute.For <IQueueExplorerViewModel>();
            EndpointExplorer  = Substitute.For <IEndpointExplorerViewModel>();
            MessageList       = Substitute.For <IMessageListViewModel>();
            StatusbarManager  = Substitute.For <IStatusBarManager>();
            EventAggregator   = Substitute.For <IEventAggregator>();
            MessageFlow       = Substitute.For <IMessageFlowViewModel>();
            SagaWindow        = Substitute.For <ISagaWindowViewModel>();
            MessageBodyView   = Substitute.For <IMessageBodyViewModel>();
            MessageProperties = Substitute.For <IMessagePropertiesViewModel>();
            View               = Substitute.For <IShellViewStub>();
            HeaderView         = Substitute.For <IMessageHeadersViewModel>();
            SettingsProvider   = Substitute.For <ISettingsProvider>();
            LicenseManager     = Substitute.For <AppLicenseManager>();
            LogWindow          = Substitute.For <ILogWindowViewModel>();
            ConnectToViewModel = Substitute.For <IConnectToMachineViewModel>();
            SettingsProvider.GetSettings <ProfilerSettings>().Returns(DefaultAppSetting());
            App = Substitute.For <IAppCommands>();
            CommandLineArgParser = MockEmptyStartupOptions();

            shell = new ShellViewModel(App, ScreenFactory, WindowManager, QueueExplorer,
                                       EndpointExplorer, MessageList, StatusbarManager,
                                       EventAggregator, LicenseManager, MessageFlow, SagaWindow,
                                       MessageBodyView, HeaderView, SettingsProvider, MessageProperties,
                                       LogWindow, CommandLineArgParser);

            ScreenFactory.CreateScreen <IConnectToMachineViewModel>().Returns(ConnectToViewModel);

            shell.AttachView(View, null);
        }
Пример #8
0
 internal override DialogScreenResult ProcessInvocation <T>(
     DialogServiceInvocation invocation,
     IScreenFactory <T> screen
     )
 {
     return(_dialogResult);
 }
Пример #9
0
        public ShellViewModel(
            ISolutionManager solutionManager,
            IScreenFactory <DragViewModel> dragScreenFactory,
            IScreenFactory <ErrorViewModel> errorScreenFactory,
            IScreenFactory <SolutionViewModel> solutionScreenFactory)
        {
            _solutionManager       = solutionManager;
            _dragScreenFactory     = dragScreenFactory;
            _errorScreenFactory    = errorScreenFactory;
            _solutionScreenFactory = solutionScreenFactory;

            _solutionManager.PropertyChanged +=
                (_, args) =>
            {
                // TODO: WRITE SOMETHING THAT BINDS THE PROPERTYNAME TO AN EXPRESSION<T> OF SENDER, this kind of code with the switch(**MAGIC STRING**) is a piece of crap.
                switch (args.PropertyName)
                {
                case "HasError":
                    if (_solutionManager.HasError)
                    {
                        ActivateItem(_errorScreenFactory.Create());
                    }
                    break;

                case "CurrentSolution":
                    ActivateItem(_solutionScreenFactory.Create());
                    break;
                }
            };

            SwitchToDragView();
        }
Пример #10
0
        private void Show(IScreenFactory <IScreenBase> screenFactory)
        {
            _modal = false;

            _screen = screenFactory.Create(_aggregator);
            Initialize();
            _windowService.ShowWindow(_window, modal: false);
        }
Пример #11
0
        DialogScreenResult IDialogService.ShowDialog(IScreenFactory <IScreenBase> screen, IScreenBase parent, string title)
        {
            var invocation = new DialogServiceInvocation(DialogServiceMethod.OpenDialog);

            invocation.Caption.SetValue(title);
            invocation.Parent.SetValue(parent);
            return(DequeueResponder().ProcessScreenDialogInvocation(invocation, screen));
        }
Пример #12
0
        public Game1()
        {
            _graphics             = new GraphicsDeviceManager(this);
            Content.RootDirectory = "Content";
            screenFactory         = new ScreenFactory(_graphics);

            CurrentScreen = ScreenManager.MainWindow;
        }
Пример #13
0
 internal virtual bool ProcessScreenDialogInvocationCore <TScreen>(
     DialogServiceInvocation invocation,
     IScreenFactory <TScreen> screen,
     out DialogScreenResult result
     ) where TScreen : IScreenBase
 {
     result = null;
     return(false);
 }
Пример #14
0
        public void ScreenFactoriesForConcreteScree_CanBeAssignedToScreenBaseFactoryVariable()
        {
            IScreenFactory <TestScreen>  concreteFactory = ScreenFactory.For <TestScreen>();
            IScreenFactory <IScreenBase> factory         = concreteFactory;

            IScreenBase screen = factory.Create(Aggregator);

            Assert.IsInstanceOfType(screen, typeof(TestScreen));
        }
Пример #15
0
 public ScreenConductor(IEventAggregator events, IScreenCollection screens, IScreenObjectLocator screenObjectLocator, IMessageCreator messageBox, IShellService shellService, IScreenFactory factory)
 {
     _events              = events;
     _screens             = screens;
     _screenObjectLocator = screenObjectLocator;
     _messageBox          = messageBox;
     _shellService        = shellService;
     _factory             = factory;
 }
Пример #16
0
        public void Create_ScreenFactoryForInstance_CallsInitialize()
        {
            var expected = new InitializableScreen(Aggregator);

            IScreenFactory <InitializableScreen> factory = ScreenFactory.For <InitializableScreen>(Locator);

            var actual = factory.Create(Aggregator);

            Assert.IsTrue(actual.InitializeWasCalled);
        }
Пример #17
0
        public void Create_ScreenFactoryForInstance_ReturnsThisInstance()
        {
            var expected = new InitializableScreen(Aggregator);

            IScreenFactory <InitializableScreen> factory = ScreenFactory.For(expected);

            var actual = factory.Create(Aggregator);

            Assert.AreEqual(expected, actual);
        }
        public TScreen AddScreen <TScreen>(IScreenFactory <TScreen> screen)
            where TScreen : T, IScreenBase
        {
            TScreen s = screen.Create(_aggregator);

            // The screen is added AFTER it was initialized by the screen
            // factory.
            Attach(s);

            return(s);
        }
        public IScreenFactory Get(ScreenKeyType screenType)
        {
            IScreenFactory screenFactory = null;

            if (this.HasFactory(screenType))
            {
                Type registeredScreenFactory = ScreenFactoryCollection[screenType];
                screenFactory = (IScreenFactory)Container.Resolve(registeredScreenFactory);
            }
            return(screenFactory);
        }
Пример #20
0
        private ScreenCreationBehavior GetCreationBehavior(IScreenFactory <IScreenBase> screenFactory)
        {
            var attr = (ScreenCreationBehaviorAttribute)Attribute.GetCustomAttribute(
                screenFactory.ScreenType,
                typeof(ScreenCreationBehaviorAttribute)
                );

            return(attr != null ?
                   attr.CreationBehavior :
                   ScreenCreationBehavior.MultipleInstances);
        }
Пример #21
0
        public TestScreenResult ShowDialog <TScreen>(
            IScreenFactory <TScreen> screen
            ) where TScreen : IScreenBase
        {
            IScreenBase s         = screen.Create(_aggregator);
            var         lifecycle = new DialogLifecycle(s);

            s.Children.Add(lifecycle);
            s.Children.Add(new ScreenCloseHandler(_ => { })); // TODO: Remove code duplication between here and responder
            return(new TestScreenResult(lifecycle));
        }
        protected override void setup()
        {
            Screens.Active.ShouldBeNull();
            _locator  = MockRepository.GenerateMock <IScreenLocator>();
            newScreen = MockRepository.GenerateMock <IScreen>();

            factory = MockFor <IScreenFactory>();

            _locator.Expect(x => x.CreateScreen(factory)).Return(newScreen);

            TheScreenConductor.OpenScreen(_locator);
        }
Пример #23
0
        /// <summary>
        /// Constructs a new MainMenu object.
        /// </summary>
        public MainMenuScreen(Viewport viewport, SpriteBatch spriteBatch, SpriteFont font, IGameSessionFactory gameSessionFactory, IScreenFactory screenFactory, Quitter quitter) 
            : base(viewport, spriteBatch, font)
        {
            // TODO: There must be a way to reduce the number of parameters here???
            _gameSessionFactory = gameSessionFactory;
            _screenFactory = screenFactory;
            _quitter = quitter;

            // set the transition times
            TransitionOnTime = TimeSpan.FromSeconds(1.0);
            TransitionOffTime = TimeSpan.FromSeconds(0.0);
        }
        protected override void setup()
        {
            _locator  = MockRepository.GenerateMock <IScreenLocator>();
            theScreen = MockRepository.GenerateMock <IScreen>();

            Screens.Active = theScreen;
            _locator.Expect(x => x.Matches(theScreen)).Return(true);

            factory = MockRepository.GenerateMock <IScreenFactory>();

            TheScreenConductor.OpenScreen(_locator);
        }
Пример #25
0
        public void OpenScreen_WithBaseClassScreenFactory_DoesNotOpenScreenIfActualTypesMatch()
        {
            ScreenConductor c = CreateConductor();

            c.OpenScreen(ScreenFactory.For <SingleInstanceScreen>(Locator));

            IScreenFactory <IScreenBase> baseFactory = ScreenFactory
                                                       .For <SingleInstanceScreen>(Locator);

            c.OpenScreen(baseFactory);

            Assert.AreEqual(1, c.Screens.Count());
        }
        public ShellViewModel(IConnectionService connectionService, IScreenFactory screenFactory,
                              IDialogService dialogService, IConcurrencyService concurrencyService,
                              IWorkspaceFactory workspaceFactory, ISelectionService selectionService)
        {
            DisplayName = "Reactivity Monitor";

            var concreteDialogService = (DialogService)dialogService;

            WhenActivated(disposables =>
            {
                connectionService.WhenConnectionChanges
                .ObserveOnDispatcher()
                .Select(GetViewModelForConnection)
                .Subscribe(ActivateItem)
                .DisposeWith(disposables);

                this.ObservableForProperty(x => x.ActiveItem).Value()
                .Select(item => item.WhenAnyValue(x => x.DisplayName))
                .Switch()
                .Select(itemTitle => $"{itemTitle} - Reactivity Monitor")
                .Subscribe(title => DisplayName = title)
                .DisposeWith(disposables);

                this.WhenAnyValue(x => x.ActiveItem)
                .Subscribe(item => selectionService.ChangeSelection(s => s.SetWorkspace((item as IHomeScreen)?.Workspace)))
                .DisposeWith(disposables);

                Disposable.Create(connectionService.Close).DisposeWith(disposables);

                concreteDialogService.WhenDialogViewModelChanges
                .ObserveOn(concurrencyService.DispatcherRxScheduler)
                .Subscribe(vm => DialogViewModel = vm)
                .DisposeWith(disposables);
            });

            CancelDialogCommand = ReactiveCommand.Create(concreteDialogService.CancelActiveDialog);

            IScreen GetViewModelForConnection(IConnectionModel conn)
            {
                if (conn == null)
                {
                    return(screenFactory.CreateConnectionScreen());
                }
                else
                {
                    var workspace  = workspaceFactory.CreateWorkspace(conn);
                    var homeScreen = screenFactory.CreateHomeScreen(workspace);
                    return(homeScreen);
                }
            }
        }
Пример #27
0
        internal DialogScreenResult ProcessScreenDialogInvocation <TScreen>(
            DialogServiceInvocation invocation,
            IScreenFactory <TScreen> screen
            ) where TScreen : IScreenBase
        {
            DialogScreenResult dialogResult;

            if (!ProcessScreenDialogInvocationCore(invocation, screen, out dialogResult))
            {
                ThrowAssertionException(invocation);
            }

            return(dialogResult);
        }
Пример #28
0
 public virtual DialogScreenResult Show(
     Window window,
     IScreenFactory <IScreenBase> screen,
     bool modal
     )
 {
     return(WindowLifecycle.Show(
                _aggregator,
                _windowService,
                window,
                screen,
                modal
                ));
 }
Пример #29
0
        public void OpenScreen <TScreen>(IScreenFactory <TScreen> factory)
            where TScreen : class, IScreenBase
        {
            ScreenCreationBehavior creationBehavior  = GetCreationBehavior(factory);
            IScreenBase            alreadyOpenScreen = null;

            switch (creationBehavior)
            {
            case ScreenCreationBehavior.MultipleInstances:
                break;

            case ScreenCreationBehavior.SingleInstance:
                alreadyOpenScreen = _screens
                                    .SingleOrDefault(x => x.GetType() == factory.ScreenType);
                break;

            case ScreenCreationBehavior.UseScreenLocation:
                alreadyOpenScreen = Screens
                                    .FirstOrDefault(x => factory.CreatesScreensEquivalentTo(x));
                break;
            }

            bool wasAlreadyOpen = alreadyOpenScreen != null;

            IScreenBase s;

            if (wasAlreadyOpen)
            {
                s = alreadyOpenScreen;
            }
            else
            {
                // If the constructor or Initialize handler of the screen throws an
                // exception we exit here and 'ActiveScreen' is not changed. The screen
                // itself makes sure that is consistently closed in case of an exception.
                s = _screens.AddScreen(factory);
                s.Children
                .Add(new ScreenCloseHandler(requestClose => CloseScreen(s, requestClose)));
            }

            // Activate does handle exceptions correctly and rethrows them, so we skip
            // the publishing of the 'ScreenOpenedEvent'.
            ActiveScreen = s;

            _eventAggregator.Publish(
                ScreenOpenedEvent,
                new ScreenOpenedEventArgs(this, s, wasAlreadyOpen)
                );
        }
Пример #30
0
        public GameplayScreen(GameSessionControllerAndView clientGameSessionCandV, GameSessionControllerAndView serverGameSessionCandV, IScreenFactory screenFactory)
        {
            _clientGameSessionController = clientGameSessionCandV.GameSessionController;
            _clientGameSessionView = clientGameSessionCandV.GameSessionView;
            if (serverGameSessionCandV != null)
            {
                _serverGameSessionController = serverGameSessionCandV.GameSessionController;
                _serverGameSessionView = serverGameSessionCandV.GameSessionView;
            }

            _screenFactory = screenFactory;

            // set the transition times
            TransitionOnTime = TimeSpan.FromSeconds(1.0);
            TransitionOffTime = TimeSpan.FromSeconds(1.0);
        }
Пример #31
0
        public ShellViewModel(IEventAggregator eventAggregator, Visibilities visibilities,
                              ConnectionLostDialogViewModel connectionLostDialog, IModel model, IScreenFactory factory)
        {
            Visibilities = visibilities;
            eventAggregator.Subscribe(this);

            //_employeeCard = employeeCard;
            this._factory = factory;
            this._connectionLostDialog = connectionLostDialog;
            _model = model;
            this.Handle(Screens.Login);
            _paletteHelper = new PaletteHelper();

            model.Connected      += OnConnected;
            model.ConnectionLost += OnConnectionLost;
        }
Пример #32
0
        public ShellViewModel(
            IAppCommands appCommander,
            IScreenFactory screenFactory,
            IWindowManagerEx windowManager,
            IQueueExplorerViewModel queueExplorer,
            IEndpointExplorerViewModel endpointExplorer,
            IMessageListViewModel messages,
            IStatusBarManager statusBarManager,
            IEventAggregator eventAggregator,
            AppLicenseManager licenseManager,
            IMessageFlowViewModel messageFlow,
            ISagaWindowViewModel sagaWindow,
            IMessageBodyViewModel messageBodyViewer,
            IMessageHeadersViewModel messageHeadersViewer,
            ISettingsProvider settingsProvider,
            IMessagePropertiesViewModel messageProperties,
            ILogWindowViewModel logWindow,
            ICommandLineArgParser comandLineArgParser)
        {
            _appCommander        = appCommander;
            _screenFactory       = screenFactory;
            _windowManager       = windowManager;
            _eventAggregator     = eventAggregator;
            _licenseManager      = licenseManager;
            _settingsProvider    = settingsProvider;
            _comandLineArgParser = comandLineArgParser;
            MessageProperties    = messageProperties;
            MessageFlow          = messageFlow;
            SagaWindow           = sagaWindow;
            StatusBarManager     = statusBarManager;
            QueueExplorer        = queueExplorer;
            EndpointExplorer     = endpointExplorer;
            MessageHeaders       = messageHeadersViewer;
            MessageBody          = messageBodyViewer;
            Messages             = messages;
            LogWindow            = logWindow;

            Items.Add(queueExplorer);
            Items.Add(endpointExplorer);
            Items.Add(messages);
            Items.Add(messageHeadersViewer);
            Items.Add(messageBodyViewer);
            Items.Add(messageFlow);

            InitializeAutoRefreshTimer();
            InitializeIdleTimer();
        }
Пример #33
0
        //Controls
        public Quarantine()
        {
            graphics = new GraphicsDeviceManager(this);
            Content.RootDirectory = "Content";

            this.IsMouseVisible = true;
            graphics.PreferredBackBufferWidth = 1440;
            graphics.PreferredBackBufferHeight = 900;
            graphics.ApplyChanges();

            // Create the screen factory and add it to the Services
            screenFactory = new ScreenFactory();
            Services.AddService(typeof(IScreenFactory), screenFactory);

            // Create the screen manager component.
            screenManager = new ScreenManager(this);
            Components.Add(screenManager);

            AddInitialScreens();
        }
Пример #34
0
 public GameManager(
     EntityWorld world,
     SpriteBatch spriteBatch,
     IGraphicsManager graphicsManager,
     ISystemLoader systemLoader,
     IScreenManager screenManager,
     IScreenFactory screenFactory,
     IInputManager inputManager,
     ICameraManager cameraManager,
     IScriptManager scriptManager
     )
 {
     _world = world;
     _spriteBatch = spriteBatch;
     _graphicsManager = graphicsManager;
     _systemLoader = systemLoader;
     _screenManager = screenManager;
     _screenFactory = screenFactory;
     _inputManager = inputManager;
     _cameraManager = cameraManager;
     _scriptManager = scriptManager;
 }
        private MessageFlowViewModel CreateSUT()
        {
            _serviceControl = Substitute.For<IServiceControl>();
            _eventAggregator = Substitute.For<IEventAggregator>();
            _clipboard = Substitute.For<IClipboard>();
            _windowManager = Substitute.For<IWindowManagerEx>();
            _screenFactory = Substitute.For<IScreenFactory>();
            _searchBar = Substitute.For<ISearchBarViewModel>();
            _messageList = Substitute.For<IMessageListViewModel>();
            _settingProvider = Substitute.For<ISettingsProvider>();
            _endpointExplorer = Substitute.For<IEndpointExplorerViewModel>();

            return new MessageFlowViewModel(_serviceControl,
                                            _eventAggregator,
                                            _clipboard,
                                            _windowManager,
                                            _screenFactory,
                                            _searchBar,
                                            _messageList,
                                            _settingProvider,
                                            _endpointExplorer);
        }
Пример #36
0
 public ScreenConductor(IScreenCollection screenCollection, IScreenFactory screenFactory, IScreenObjectRegistry screenObjectRegistry)
 {
     _screens = screenCollection;
     _screenFactory = screenFactory;
     _screenObjectRegistry = screenObjectRegistry;
 }
Пример #37
0
        public void TestInitialize()
        {
            ScreenFactory = Substitute.For<IScreenFactory>();
            WindowManager = Substitute.For<IWindowManagerEx>();
            QueueExplorer = Substitute.For<IQueueExplorerViewModel>();
            EndpointExplorer = Substitute.For<IEndpointExplorerViewModel>();
            MessageList = Substitute.For<IMessageListViewModel>();
            NetworkOperations = Substitute.For<INetworkOperations>();
            ExceptionHandler = Substitute.For<IExceptionHandler>();
            StatusbarManager = Substitute.For<StatusBarManager>();
            EventAggregator = Substitute.For<IEventAggregator>();
            MessageFlow = Substitute.For<IMessageFlowViewModel>();
            MessageBodyView = Substitute.For<IMessageBodyViewModel>();
            MessageProperties = Substitute.For<IMessagePropertiesViewModel>();
            View = Substitute.For<IShellViewStub>();
            SettingsProvider = Substitute.For<ISettingsProvider>();
            LicenseManager = Substitute.For<ILicenseManager>();
            LogWindow = Substitute.For<ILogWindowViewModel>();
            ConnectToViewModel = Substitute.For<ConnectToMachineViewModel>(NetworkOperations);
            SettingsProvider.GetSettings<ProfilerSettings>().Returns(DefaultAppSetting());
            App = Substitute.For<IAppCommands>();
            shell = new ShellViewModel(App, ScreenFactory, WindowManager, QueueExplorer, EndpointExplorer, MessageList,
                                       StatusbarManager, EventAggregator, LicenseManager, MessageFlow, MessageBodyView,
                                       SettingsProvider, MessageProperties, LogWindow);

            ScreenFactory.CreateScreen<ConnectToMachineViewModel>().Returns(ConnectToViewModel);

            shell.AttachView(View, null);
        }
Пример #38
0
 public void Setup()
 {
     stubGameSessionFactory = MockRepository.GenerateStub<IGameSessionFactory>();
     stubScreenFactory = MockRepository.GenerateStub<IScreenFactory>();
     mainMenuScreen = new MainMenuScreen(new Viewport(), null, null, stubGameSessionFactory, stubScreenFactory, null);
 }
        public void TestInitialize()
        {
            ScreenFactory = Substitute.For<IScreenFactory>();
            WindowManager = Substitute.For<IWindowManagerEx>();
            QueueExplorer = Substitute.For<IQueueExplorerViewModel>();
            EndpointExplorer = Substitute.For<IEndpointExplorerViewModel>();
            MessageList = Substitute.For<IMessageListViewModel>();
            StatusbarManager = Substitute.For<IStatusBarManager>();
            EventAggregator = Substitute.For<IEventAggregator>();
            MessageFlow = Substitute.For<IMessageFlowViewModel>();
            SagaWindow = Substitute.For<ISagaWindowViewModel>();
            MessageBodyView = Substitute.For<IMessageBodyViewModel>();
            MessageProperties = Substitute.For<IMessagePropertiesViewModel>();
            View = Substitute.For<IShellViewStub>();
            HeaderView = Substitute.For<IMessageHeadersViewModel>();
            SettingsProvider = Substitute.For<ISettingsProvider>();
            LicenseManager = Substitute.For<AppLicenseManager>();
            LogWindow = Substitute.For<ILogWindowViewModel>();
            ConnectToViewModel = Substitute.For<IConnectToMachineViewModel>();
            SettingsProvider.GetSettings<ProfilerSettings>().Returns(DefaultAppSetting());
            App = Substitute.For<IAppCommands>();
            CommandLineArgParser = MockEmptyStartupOptions();

            shell = new ShellViewModel(App, ScreenFactory, WindowManager, QueueExplorer,
                                       EndpointExplorer, MessageList, StatusbarManager,
                                       EventAggregator, LicenseManager, MessageFlow, SagaWindow,
                                       MessageBodyView, HeaderView, SettingsProvider, MessageProperties,
                                       LogWindow, CommandLineArgParser);

            ScreenFactory.CreateScreen<IConnectToMachineViewModel>().Returns(ConnectToViewModel);

            shell.AttachView(View, null);
        }
        public void SetUp()
        {
            ProjectPersistor.DeleteHistoryFile();
            Bootstrapper.Restart();

            _objectLocator = ObjectFactory.GetInstance<IScreenObjectLocator>();
            factory = ObjectFactory.GetInstance<IScreenFactory>();

            DataMother.LoadMathProject();
        }