/// <summary> /// Display the page and call /// </summary> /// <param name="page"></param> protected OperationState openPage(Controllable page) { FunctionalityType functionalityType = page.NavigationToken != null ? page.NavigationToken.FunctionalityType : FunctionalityType.MAIN_FONCTIONALITY; bool isSubFonctionality = functionalityType == FunctionalityType.SUB_FONCTIONALITY; if (page == null) { return(OperationState.CONTINUE); } if (ActivePage != null && ActivePage is FileController) { page.ParentController = ActivePage; } if (ActivePage == null || (!page.Equals(ActivePage) || !page.FunctionalityCode.Equals(ActivePage.FunctionalityCode))) { if (isSubFonctionality) { page.ParentController = ActivePage; } ActivePage = page; ApplicationManager.MainWindow.displayPage(page); if (!OpenedPages.Contains(page)) { OpenedPages.Add(page); } } return(OperationState.CONTINUE); }