Esempio n. 1
0
        //add path to BACK/FORWARD history (skipping all checks) and update current TAB's pathString. Is called by BrowserTab.cs to indicate page have finish loading
        public void AddToHistoryStack(String finalURL, String firstURL, Object obj)
        {
            INavigatable nav = GetINavigatableFromControl(obj);

            lastTabPaths[nav] = finalURL;  //if user navigate away from this TAB, display this page when he return

            if (CurrentNavigatable == nav) //is in current TAB
            {
                if (CurrentPage != null && CurrentPage.ToString() != finalURL)
                {
                    backStack.Push(CurrentPage);                                                            //add current-page to HISTORY if new
                }
                if (finalURL != firstURL && backStack.Count > 0 && backStack.Peek().ToString() == firstURL)
                {
                    backStack.Pop();                                                                                         //remove previous-page (from HISTORY) if current-page is just a duplicate of previous-page
                }
                CurrentPage = new NavigationStep {
                    Path = finalURL.Split('/')
                };                                                               //add new-page as current-page
            }
        }
        //add path to BACK/FORWARD history (skipping all checks) and update current TAB's pathString. Is called by BrowserTab.cs to indicate page have finish loading
        public void AddToHistoryStack(string finalURL, string firstURL, object obj) {
            var nav = GetINavigatableFromControl(obj);
            lastTabPaths[nav] = finalURL; //if user navigate away from this TAB, display this page when he return

            if (CurrentNavigatable == nav) //is in current TAB
            {
                if (CurrentPage != null && CurrentPage.ToString() != finalURL) backStack.Push(CurrentPage); //add current-page to HISTORY if new
                if (finalURL != firstURL && backStack.Count > 0 && backStack.Peek().ToString() == firstURL) backStack.Pop(); //remove previous-page (from HISTORY) if current-page is just a duplicate of previous-page
                CurrentPage = new NavigationStep { Path = finalURL.Split('/') }; //add new-page as current-page
            }
        }