Example #1
0
        /// <summary>
        /// Looks up the next view based on the incoming graph, view, and navigation values.
        /// </summary>
        /// <param name="navigationGraphName">Name of the navigation graph that is being worked in.</param>
        /// <param name="currentViewName">Name of the current view.</param>
        /// <param name="navigateValue">Navigate value used to determine the next view to be navigated to from the current view.</param>
        public virtual ViewSettings GetNextViewSettings(string navigationGraphName, string currentViewName, string navigateValue)
        {
            //Retrieve a navgraph class based on nav name
            NavigationGraphSettings navigationGraph = GetNavigationGraphSettings(navigationGraphName);
            ViewSettings            nextView        = null;

            //  Get the current view node settings
            NodeSettings node = navigationGraph[currentViewName];

            if (null == node)
            {
                throw new ConfigurationException(Resource.ResourceManager.FormatMessage(Resource.Exceptions.RES_ExceptionCouldNotGetNextViewType, navigationGraphName, currentViewName, navigateValue));
            }

            //  Get the next view name from the navigateTo node
            NavigateToSettings navigateTo = node[navigateValue];

            if (null == navigateTo)
            {
                nextView = GetSharedTransitionView(navigationGraph, navigateValue);
            }
            else
            {
                nextView = GetViewSettingsFromName(navigateTo.View);
            }

            if (nextView == null)
            {
                throw new ConfigurationException(Resource.ResourceManager.FormatMessage(Resource.Exceptions.RES_ExceptionCouldNotGetNextViewType, navigationGraphName, currentViewName, navigateValue));
            }

            return(nextView);
        }
Example #2
0
        /// <summary>
        /// Method used to determine if a view exists within a navigation graph.
        /// </summary>
        /// <param name="navigationGraphName">Name of the navigation graph to look in.</param>
        /// <param name="viewName">Name of the view to search for in the navigation graph.</param>
        /// <returns></returns>
        internal bool ViewExistsInNavigationGraph(string navigationGraphName, string viewName)
        {
            NavigationGraphSettings settings = GetNavigationGraphSettings(navigationGraphName);

            foreach (NodeSettings node in settings.Views())
            {
                if (node.View == viewName)
                {
                    return(true);
                }
            }

            foreach (SharedTransitionSettings sharedTransition in settings.SharedTransitions())
            {
                if (sharedTransition.View == viewName)
                {
                    return(true);
                }
            }

            foreach (SharedTransitionSettings sharedTransition in UIPConfiguration.Config.SharedTransitions)
            {
                if (sharedTransition.View == viewName)
                {
                    return(true);
                }
            }


            return(false);
        }
Example #3
0
        /// <summary>
        /// Starts a UIProcess for navigation.
        /// </summary>
        /// <param name="navGraph">The name of the navigationGraph element in app.config. </param>
        public static void StartNavigationTask(string navGraph)
        {
            NavigationGraphSettings navGraphSettings = UIPConfiguration.Config.GetNavigationGraphSettings(navGraph);
            GraphNavigator          navigator        = (navGraphSettings.RunInWizardMode) ? new WizardNavigator(navGraph) : new GraphNavigator(navGraph);

            navigator.StartTask();
        }
Example #4
0
        /// <summary>
        /// Handles any StartTask events raised by a controller.
        /// </summary>
        /// <param name="sender">Controller that raised the event.</param>
        /// <param name="e">Arguments used by the event handler.</param>
        public virtual void OnStartTask(object sender, StartTaskEventArgs e)
        {
            if (UIPConfiguration.Config.ContainsNavigationGraphSettings(e.NextNavigationGraph))
            {
                NavigationGraphSettings settings = UIPConfiguration.Config.GetNavigationGraphSettings(e.NextNavigationGraph);
                if (settings.RunInWizardMode)
                {
                    WizardNavigator navigator = new WizardNavigator(e.NextNavigationGraph);
                    navigator.StartTask(e.NextTask, e.TaskArguments);
                }
                else
                {
                    GraphNavigator navigator = new GraphNavigator(e.NextNavigationGraph);
                    navigator.StartTask(e.NextTask, e.TaskArguments);
                }


                return;
            }
            else if (UIPConfiguration.Config.ContainsHostedControlsSettings(e.NextNavigationGraph))
            {
                UserControlsNavigator navigator = new UserControlsNavigator(e.NextNavigationGraph);
                navigator.StartTask(e.NextTask);
                return;
            }
            OpenNavigator newNavigator = new OpenNavigator("new");

            newNavigator.StartTask(e.NextNavigationGraph, e.NextTask);
        }
Example #5
0
 private void Initialize(string name)
 {
     Name        = name;
     _settings   = UIPConfiguration.Config.GetNavigationGraphSettings(name);
     ViewManager = CreateViewManager(name);
     _startView  = UIPConfiguration.Config.GetFirstViewSettings(name);
 }
Example #6
0
 private void LoadWizards(XmlNode configNode, IFormatProvider formatProvider)
 {
     foreach (XmlNode wizardNode in configNode.SelectNodes(NodeWizardsXPath))
     {
         WizardSettings          wizard          = new WizardSettings(_defaultStatePersistence.Name, _defaultState.Name, wizardNode);
         NavigationGraphSettings navigationGraph = new NavigationGraphSettings(wizard.GetNavGraphXmlNode(formatProvider));
         _navigatorCollection.Add(navigationGraph.Name, navigationGraph);
     }
 }
Example #7
0
        /// <summary>
        /// Returns the settings for the navigation graph.
        /// </summary>
        /// <param name="navigationGraphName">The name of the navigation graph element.</param>
        /// <returns>The settings.</returns>
        public NavigationGraphSettings GetNavigationGraphSettings(string navigationGraphName)
        {
            NavigationGraphSettings navigationGraph = (NavigationGraphSettings)_navigatorCollection[navigationGraphName];

            if (navigationGraph == null)
            {
                throw new UIPException(Resource.ResourceManager.FormatMessage(Resource.Exceptions.RES_ExceptionNavigationGraphNotFound, navigationGraphName));
            }

            return(navigationGraph);
        }
Example #8
0
        private void LoadNavigationGraphs(XmlNode configNode)
        {
            //Get the configured navigation graphs
            NavigationGraphSettings navigationGraph;

            foreach (XmlNode navigationGraphNode in configNode.SelectNodes(NodeNavigationGraphXPath))
            {
                navigationGraph = new NavigationGraphSettings(navigationGraphNode);
                _navigatorCollection.Add(navigationGraph.Name, navigationGraph);
            }
        }
Example #9
0
        /// <summary>
        /// Returns the first view name in given navigation graph.
        /// </summary>
        /// <param name="navigationGraphName">The name of the navigation graph to retrieve the first view for.</param>
        public virtual ViewSettings GetFirstViewSettings(string navigationGraphName)
        {
            //Retrieve a navgraph class based on nav name
            NavigationGraphSettings navigationGraph = GetNavigationGraphSettings(navigationGraphName);

            //  return first view settings
            if (navigationGraph.FirstView == null)
            {
                return(null);
            }
            else
            {
                return(GetViewSettingsFromName(navigationGraph.FirstView.View));
            }
        }
Example #10
0
        private ViewSettings GetSharedTransitionView(NavigationGraphSettings navigationGraph, string navigateValue)
        {
            SharedTransitionSettings sharedTransition = null;
            ViewSettings             sharedView       = null;

            sharedTransition = navigationGraph.GetSharedTransitionSettings(navigateValue);

            if (null == sharedTransition)
            {
                sharedTransition = this.GetSharedTransitionSettings(navigateValue);
            }

            if (sharedTransition != null)
            {
                sharedView = GetViewSettingsFromName(sharedTransition.View);
            }

            return(sharedView);
        }
Example #11
0
        /// <summary>
        /// Checks if a navigation graph by that name exists.
        /// </summary>
        /// <param name="navigationGraphName">The name of the navigation graph element.</param>
        /// <returns></returns>
        public bool ContainsNavigationGraphSettings(string navigationGraphName)
        {
            NavigationGraphSettings navigationGraph = (NavigationGraphSettings)_navigatorCollection[navigationGraphName];

            return(navigationGraph != null);
        }