예제 #1
0
        private static UserControl RetrievePage(ApplicationPageType pageEnum)
        {
            UserControl output;

            // Try get the first application page of specific type
            try
            {
                output = pageEnum == ApplicationPageType.CameraHostPage
                    ? ApplicationPages.First(ele => ele is CameraHostView)
                    : pageEnum == ApplicationPageType.Home
                        ? ApplicationPages.First(ele => ele is HomeView)
                        : pageEnum == ApplicationPageType.LineScanHostPage
                            ? ApplicationPages.First(ele => ele is LineScanHostView)
                            : pageEnum == ApplicationPageType.ServerPage
                                ? ApplicationPages.First(ele => ele is ServerView)
                                : throw new InstanceNotFoundException("No such home page type");
            }
            // If the list not contain an instance of such type
            // Add one and return it
            catch (InvalidOperationException e)
            {
                output = pageEnum == ApplicationPageType.CameraHostPage ? new CameraHostView() :
                         pageEnum == ApplicationPageType.Home ? new HomeView() :
                         pageEnum == ApplicationPageType.LineScanHostPage ? new LineScanHostView() :
                         new ServerView() as UserControl;


                ApplicationPages.Add(output);
            }


            return(output);
        }
        /// <summary>
        /// Navigates to a specified page.
        /// </summary>
        /// <param name="page">Page to which the application will navigate.</param>
        /// <param name="arguments">Arguments that will be received by entity onto which is being navigated.</param>
        /// <exception cref="InvalidOperationException">This exception will be thrown in the navigation fails.</exception>
        public void GoToPage(ApplicationPages page, List<KeyValuePair<string, string>> arguments = null)
        {
            var frame = Application.Current.RootVisual as PhoneApplicationFrame;
            if (frame == null) throw new InvalidOperationException("Root visual frame of the application is not currently available.");

            var path = this.GetViewFromPage(page);

            frame.Navigate(new Uri(this.GetPathWithArguments(arguments, path), UriKind.Relative));
        }
 public static void NavigateTo(this NavigationController controller, ApplicationPages page)
 {
     var kernel = Initializer.GetKernel();
     var module = (Module)kernel.GetModules().Select(modul => modul).Single(modul => modul.GetType() == typeof(Module));
     CurrentPage = module.Pages
         .Select(p => p).Single(p => (ApplicationPages)p.ApplicationPage == page);
     var currentRoot = (PhoneApplicationFrame)Initializer.GetApp().RootVisual;
     controller.NavigateTo(String.Format("{0}{1}",ViewsAssembly,CurrentPage.Uri), currentRoot, SetViewModel);
 }
        public void ShowWinodw(ApplicationPages windowType, List <object> parameter = null, object parameter02 = null)
        {
            //The window that we want to be displayed to the user
            Window wantedWindow = new Window();

            switch (windowType)
            {
            case ApplicationPages.MainWindow:
                wantedWindow = new MainWindow();
                break;

            case ApplicationPages.ScoreBoarding:
                wantedWindow = new ScoreBoardingWindow(parameter, (Dictionary <FunctionsTypes, int>)parameter02);
                break;

            case ApplicationPages.Tomasulo:
                wantedWindow = new TomasoluWindow(parameter, (Dictionary <FunctionsTypes, int>)parameter02);
                break;

            case ApplicationPages.ResultWindow:
                wantedWindow = new ExamResultWindow();
                //Do not let the user to change windows
                wantedWindow.ShowDialog();
                return;

            case ApplicationPages.LoginPage:
                break;

            case ApplicationPages.AdminSettings:
                break;

            case ApplicationPages.ExamStudentInformation:
                break;

            case ApplicationPages.CodeInformationWindow:
                wantedWindow = new CodeCyclesAndFunctionalUnitInformationWindow(parameter[0] as List <object>, parameter[1] as Dictionary <FunctionsTypes, int>, parameter[2] as Dictionary <FunctionalUnitsTypes, int>);
                break;

            case ApplicationPages.LoopUnrolling:
                wantedWindow = new LoopUnrollingWindow();
                break;

            default:
                Debugger.Break();
                break;
            }
            if (IoC.Appliation.IsExamMode)
            {
                wantedWindow.ShowDialog();
            }
            else
            {
                wantedWindow.Show();
            }
        }
        public static void NavigateTo(this NavigationController controller, ApplicationPages page)
        {
            var kernel = Initializer.GetKernel();
            var module = (Module)kernel.GetModules().Select(modul => modul).Single(modul => modul.GetType() == typeof(Module));

            CurrentPage = module.Pages
                          .Select(p => p).Single(p => (ApplicationPages)p.ApplicationPage == page);
            var currentRoot = (PhoneApplicationFrame)Initializer.GetApp().RootVisual;

            controller.NavigateTo(String.Format("{0}{1}", ViewsAssembly, CurrentPage.Uri), currentRoot, SetViewModel);
        }
 /// <summary>
 /// Returns name of the file in which the specified page resides.
 /// </summary>
 /// <param name="page">Page for which a value will be returned.</param>
 /// <returns>Name of the file in which the specified page resides.</returns>
 private string GetViewFromPage(ApplicationPages page)
 {
     switch (page)
     {
         case ApplicationPages.MainPage:
             return Path.Combine(RootPath, "MainView.xaml");
         case ApplicationPages.SearchPage:
             return Path.Combine(RootPath, "SearchView.xaml");
         default:
             throw new ArgumentOutOfRangeException("page");
     }
 }
예제 #7
0
        public static Page GetPage(ApplicationPages page)
        {
            Page result = null;

            using (_pageLocker.GetUpgradeableReadLock())
            {
                if (!_pages.ContainsKey(page))
                {
                    using (_pageLocker.GetWriteLock())
                    {
                        if (!_pages.ContainsKey(page))
                        {
                            switch (page)
                            {
                            case ApplicationPages.UserFormPage:
                                _pages[page] = (result = new UserFormPage {
                                    DataContext = new UserFormViewModel()
                                });
                                break;

                            case ApplicationPages.IssuePage:
                                _pages[page] = (result = new IssuePage {
                                    DataContext = new IssueViewModel()
                                });
                                break;

                            case ApplicationPages.TimeOverPage:
                                _pages[page] = (result = new TimeOverPage());
                                break;

                            case ApplicationPages.ResultPage:
                                _pages[page] = (result = new ResultPage {
                                    DataContext = new ResultViewModel()
                                });
                                break;
                            }
                        }
                    }
                }
                else
                {
                    result = _pages[page];
                }
            }

            return(result);
        }
예제 #8
0
 /// <summary>
 /// Goes to page.
 /// </summary>
 /// <param name="applicationPage">The application page.</param>
 public static void GoToPage(this PhoneApplicationPage phoneApplicationPage, ApplicationPages applicationPage, int tabIndex)
 {
     String destination = "";
     switch (applicationPage)
     {
         case ApplicationPages.SetSound:
             //phoneApplicationPage.NavigationService.Navigate(new Uri("/Sound/SetSoundPage.xaml", UriKind.Relative));
             destination = "/Sound/SetSoundPage.xaml";
             destination += "?tab=" + tabIndex;
             break;
         case ApplicationPages.SetClock:
             //phoneApplicationPage.NavigationService.Navigate(new Uri("/Clock/SetTimePage.xaml", UriKind.Relative));
             destination = "/Clock/SetTimePage.xaml";
             break;
     }
     phoneApplicationPage.NavigationService.Navigate(new Uri(destination, UriKind.Relative));
 }
예제 #9
0
        public static void GoToPage(this PhoneApplicationPage phoneApplicationPage, ApplicationPages applicationPage)
        {
            switch (applicationPage)
            {
            case ApplicationPages.Settings:
                phoneApplicationPage.NavigationService.Navigate(new Uri("/Views/SettingsPage.xaml", UriKind.Relative));
                break;

            case ApplicationPages.Help:
                phoneApplicationPage.NavigationService.Navigate(new Uri("/Views/HelpPage.xaml", UriKind.Relative));
                break;

            case ApplicationPages.About:
                phoneApplicationPage.NavigationService.Navigate(new Uri("/Views/AboutPage.xaml", UriKind.Relative));
                break;

            case ApplicationPages.Meeting:
                phoneApplicationPage.NavigationService.Navigate(new Uri("/Views/MeetingPage.xaml", UriKind.Relative));
                break;
            }
        }
예제 #10
0
        //public static void GoToPage(this PhoneApplicationPage phoneApplicationPage, ApplicationPages applicationPage)
        public static void GoToPage(PhoneApplicationPage phoneApplicationPage, ApplicationPages applicationPage)
        {
            switch (applicationPage)
            {
                case ApplicationPages.Digg:
                    phoneApplicationPage.NavigationService.Navigate(new Uri("/Views/DiggPage.xaml", UriKind.Relative));
                    break;

                case ApplicationPages.Trends:
                    phoneApplicationPage.NavigationService.Navigate(new Uri("/Views/TrendsPage.xaml", UriKind.Relative));
                    break;

                case ApplicationPages.Twitter:
                    phoneApplicationPage.NavigationService.Navigate(new Uri("/Views/TwitterPage.xaml", UriKind.Relative));
                    break;

                case ApplicationPages.Blog:
                    phoneApplicationPage.NavigationService.Navigate(new Uri("/Views/BlogPage.xaml", UriKind.Relative));
                    break;
            }
        }
예제 #11
0
        public static Page GetPage(ApplicationPages page)
        {
            Page result = null;

            using (_pageLocker.GetUpgradeableReadLock())
            {
                if (!_pages.ContainsKey(page))
                {
                    using (_pageLocker.GetWriteLock())
                    {
                        if (!_pages.ContainsKey(page))
                        {
                            switch (page)
                            {
                                case ApplicationPages.UserFormPage:
                                    _pages[page] = (result = new UserFormPage {DataContext = new UserFormViewModel()});
                                    break;
                                case ApplicationPages.IssuePage:
                                    _pages[page] = (result = new IssuePage {DataContext = new IssueViewModel()});
                                    break;
                                case ApplicationPages.TimeOverPage:
                                    _pages[page] = (result = new TimeOverPage());
                                    break;
                                case ApplicationPages.ResultPage:
                                    _pages[page] = (result = new ResultPage {DataContext = new ResultViewModel()});
                                    break;
                            }
                        }
                    }
                }
                else
                    result = _pages[page];
            }

            return result;
        }
예제 #12
0
        public static Page GetPage(ApplicationPages page)
        {
            Page result = null;

            using (_pageLocker.GetUpgradeableReadLock())
            {
                if (!_pages.ContainsKey(page))
                {
                    using (_pageLocker.GetWriteLock())
                    {
                        if (!_pages.ContainsKey(page))
                        {
                            switch (page)
                            {
                                case ApplicationPages.IssueSet1Page:
                                    _pages[page] = (result = new IssuePage {DataContext = new IssueViewModel(IssueSets.Set1)});
                                    break;
                                case ApplicationPages.IssueSet2Page:
                                    _pages[page] = (result = new IssuePage {DataContext = new IssueViewModel(IssueSets.Set2)});
                                    break;
                                case ApplicationPages.IssueSet3Page:
                                    _pages[page] = (result = new IssuePage {DataContext = new IssueViewModel(IssueSets.Set3)});
                                    break;
                                case ApplicationPages.IssueSet4Page:
                                    _pages[page] = (result = new IssuePage {DataContext = new IssueViewModel(IssueSets.Set4)});
                                    break;
                                case ApplicationPages.IssueSet5Page:
                                    _pages[page] = (result = new IssuePage {DataContext = new IssueViewModel(IssueSets.Set5)});
                                    break;
                                case ApplicationPages.IssueSet6Page:
                                    _pages[page] = (result = new IssuePage {DataContext = new IssueViewModel(IssueSets.Set6)});
                                    break;
                                case ApplicationPages.IssueSet7Page:
                                    _pages[page] = (result = new IssuePage {DataContext = new IssueViewModel(IssueSets.Set7)});
                                    break;
                                case ApplicationPages.SettingsPage:
                                    _pages[page] = (result = new SettingsPage {DataContext = new SettingsViewModel()});
                                    break;
                            }
                        }
                    }
                }
                else
                    result = _pages[page];
            }

            return result;
        }
 public static void NavigateToHome(this NavigationController controller, ApplicationPages page)
 {
     NavigateTo(controller, ApplicationPages.Home);
 }
예제 #14
0
        public static Page GetPage(ApplicationPages page)
        {
            Page result = null;

            using (_pageLocker.GetUpgradeableReadLock())
            {
                if (!_pages.ContainsKey(page))
                {
                    using (_pageLocker.GetWriteLock())
                    {
                        if (!_pages.ContainsKey(page))
                        {
                            switch (page)
                            {
                            case ApplicationPages.IssueSet1Page:
                                _pages[page] = (result = new IssuePage {
                                    DataContext = new IssueViewModel(IssueSets.Set1)
                                });
                                break;

                            case ApplicationPages.IssueSet2Page:
                                _pages[page] = (result = new IssuePage {
                                    DataContext = new IssueViewModel(IssueSets.Set2)
                                });
                                break;

                            case ApplicationPages.IssueSet3Page:
                                _pages[page] = (result = new IssuePage {
                                    DataContext = new IssueViewModel(IssueSets.Set3)
                                });
                                break;

                            case ApplicationPages.IssueSet4Page:
                                _pages[page] = (result = new IssuePage {
                                    DataContext = new IssueViewModel(IssueSets.Set4)
                                });
                                break;

                            case ApplicationPages.IssueSet5Page:
                                _pages[page] = (result = new IssuePage {
                                    DataContext = new IssueViewModel(IssueSets.Set5)
                                });
                                break;

                            case ApplicationPages.IssueSet6Page:
                                _pages[page] = (result = new IssuePage {
                                    DataContext = new IssueViewModel(IssueSets.Set6)
                                });
                                break;

                            case ApplicationPages.IssueSet7Page:
                                _pages[page] = (result = new IssuePage {
                                    DataContext = new IssueViewModel(IssueSets.Set7)
                                });
                                break;

                            case ApplicationPages.SettingsPage:
                                _pages[page] = (result = new SettingsPage {
                                    DataContext = new SettingsViewModel()
                                });
                                break;
                            }
                        }
                    }
                }
                else
                {
                    result = _pages[page];
                }
            }

            return(result);
        }
 public static void NavigateToHome(this NavigationController controller, ApplicationPages page)
 {
     NavigateTo(controller, ApplicationPages.Home);
 }