예제 #1
0
        protected override void OnStartup(StartupEventArgs e)
        {
            base.OnStartup(e);

            Config config = new Config();

            try
            {
                config.LoadWithoutEvent();
            }
            catch
            {
            }

            if (config.FirstTimeStarted)
            {
                SplashView splash = new SplashView();
                splash.IsVisibleChanged += splash_IsVisibleChanged;
                splash.Show();
            }
            else
            {
                StartMain(config.IsTradingPostDataProvider);
            }
        }
예제 #2
0
 private void ShowSplash()
 {
     var splashScreenWindow = new SplashView();
     SplashScreen = splashScreenWindow;
     splashScreenWindow.Show();
     _resetSplashCreated.Set();
     Dispatcher.Run();
 }
예제 #3
0
        private void ShowSplash()
        {
            var splashScreenWindow = new SplashView();

            SplashScreen = splashScreenWindow;
            splashScreenWindow.Show();
            _resetSplashCreated.Set();
            Dispatcher.Run();
        }
예제 #4
0
        void ShowSplash()
        {
            // Create the window
            var repository = ServerRepository.Instance;
            var server     = repository.Source;

            server.ConnectAsync().Wait(3000);
            CustomContainer.Register(server);
            CustomContainer.Register(repository);

            var textToDisplay = Warewolf.Studio.Resources.Languages.Core.StandardStyling.Replace("\r\n", "") +
                                Warewolf.Studio.Resources.Languages.HelpText.WarewolfDefaultHelpDescription +
                                Warewolf.Studio.Resources.Languages.Core.StandardBodyParagraphClosing;

            CustomContainer.Register <IEventAggregator>(new EventAggregator());
            CustomContainer.Register <IPopupController>(new PopupController());
            CustomContainer.Register <IAsyncWorker>(new AsyncWorker());
            CustomContainer.Register <IExplorerTooltips>(new ExplorerTooltips());
            CustomContainer.Register <IWarewolfWebClient>(new WarewolfWebClient(new WebClient {
                Credentials = CredentialCache.DefaultCredentials
            }));
            CustomContainer.Register <IActivityParser>(new ActivityParser());
            CustomContainer.Register <IServiceDifferenceParser>(new ServiceDifferenceParser());

            var toolBoxViewModel = new ToolboxViewModel(new ToolboxModel(server, server, null), new ToolboxModel(server, server, null));

            CustomContainer.Register <IToolboxViewModel>(toolBoxViewModel);

            var helpViewModel = new HelpWindowViewModel(new HelpDescriptorViewModel(new HelpDescriptor("", textToDisplay, null)), new HelpModel(new EventAggregator()));

            CustomContainer.Register <IHelpWindowViewModel>(helpViewModel);

            CustomContainer.RegisterInstancePerRequestType <IRequestServiceNameView>(() => new RequestServiceNameView());
            CustomContainer.RegisterInstancePerRequestType <IJsonObjectsView>(() => new JsonObjectsView());
            CustomContainer.RegisterInstancePerRequestType <IChooseDLLView>(() => new ChooseDLLView());
            CustomContainer.RegisterInstancePerRequestType <IFileChooserView>(() => new FileChooserView());

            var splashViewModel = new SplashViewModel(server, new ExternalProcessExecutor());

            var splashPage = new SplashPage {
                DataContext = splashViewModel
            };

            SplashView = splashPage;
            // Show it
            SplashView.Show(false);

            _resetSplashCreated?.Set();
            splashViewModel.ShowServerStudioVersion();
            Dispatcher.Run();
        }
예제 #5
0
        public void Generate()
        {
            ThreadStart display = () =>
            {
                Dispatcher.CurrentDispatcher.BeginInvoke((Action)(() =>
                {
                    SplashView view = this.container.Resolve <SplashView>();
                    this.eventAggregator.GetEvent <CloseSplashView>().Subscribe(x => view.Dispatcher.BeginInvoke((Action)view.Close), ThreadOption.PublisherThread, true);
                    view.Show();
                    this.waitOnCreation.Set();
                }));
                Dispatcher.Run();
            };

            Thread thread = new Thread(display)
            {
                Name = "Splash Screen Thread", IsBackground = true
            };

            thread.SetApartmentState(ApartmentState.STA);
            thread.Start();

            this.waitOnCreation.WaitOne();
        }