Ejemplo n.º 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();
                }
            }
        }
Ejemplo n.º 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);
        }
Ejemplo n.º 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();
        }
Ejemplo n.º 4
0
 public WindowManagerEx(
     IViewLocator viewLocator,
     IViewModelBinder viewModelBinder,
     IScreenFactory screenFactory) : base(viewLocator, viewModelBinder)
 {
     _screenFactory = screenFactory;
 }
Ejemplo n.º 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);
        }
Ejemplo n.º 8
0
 internal override DialogScreenResult ProcessInvocation <T>(
     DialogServiceInvocation invocation,
     IScreenFactory <T> screen
     )
 {
     return(_dialogResult);
 }
Ejemplo n.º 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();
        }
Ejemplo n.º 10
0
        private void Show(IScreenFactory <IScreenBase> screenFactory)
        {
            _modal = false;

            _screen = screenFactory.Create(_aggregator);
            Initialize();
            _windowService.ShowWindow(_window, modal: false);
        }
Ejemplo n.º 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));
        }
Ejemplo n.º 12
0
        public Game1()
        {
            _graphics             = new GraphicsDeviceManager(this);
            Content.RootDirectory = "Content";
            screenFactory         = new ScreenFactory(_graphics);

            CurrentScreen = ScreenManager.MainWindow;
        }
Ejemplo n.º 13
0
 internal virtual bool ProcessScreenDialogInvocationCore <TScreen>(
     DialogServiceInvocation invocation,
     IScreenFactory <TScreen> screen,
     out DialogScreenResult result
     ) where TScreen : IScreenBase
 {
     result = null;
     return(false);
 }
Ejemplo n.º 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));
        }
Ejemplo n.º 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;
 }
Ejemplo n.º 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);
        }
Ejemplo n.º 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);
        }
Ejemplo n.º 20
0
        private ScreenCreationBehavior GetCreationBehavior(IScreenFactory <IScreenBase> screenFactory)
        {
            var attr = (ScreenCreationBehaviorAttribute)Attribute.GetCustomAttribute(
                screenFactory.ScreenType,
                typeof(ScreenCreationBehaviorAttribute)
                );

            return(attr != null ?
                   attr.CreationBehavior :
                   ScreenCreationBehavior.MultipleInstances);
        }
Ejemplo n.º 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));
        }
Ejemplo n.º 22
0
        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);
        }
Ejemplo n.º 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);
        }
Ejemplo n.º 24
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);
        }
Ejemplo n.º 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);
                }
            }
        }
Ejemplo n.º 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);
        }
Ejemplo n.º 28
0
 public virtual DialogScreenResult Show(
     Window window,
     IScreenFactory <IScreenBase> screen,
     bool modal
     )
 {
     return(WindowLifecycle.Show(
                _aggregator,
                _windowService,
                window,
                screen,
                modal
                ));
 }
Ejemplo n.º 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)
                );
        }
Ejemplo n.º 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);
        }
Ejemplo n.º 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;
        }
Ejemplo n.º 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();
        }
Ejemplo n.º 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();
        }
Ejemplo n.º 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);
        }
Ejemplo n.º 36
0
 public ScreenConductor(IScreenCollection screenCollection, IScreenFactory screenFactory, IScreenObjectRegistry screenObjectRegistry)
 {
     _screens = screenCollection;
     _screenFactory = screenFactory;
     _screenObjectRegistry = screenObjectRegistry;
 }
Ejemplo n.º 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);
        }
Ejemplo n.º 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();
        }