/// Adds a Navigation Item to the Navigation controller. /// </summary> /// <param name="number">Number of the Navigation Item.</param> /// <param name="alias">Alias of the Navigation Item.</param> /// <param name="idXML">IdXML of the Navigation Item.</param> /// <param name="agents">List of agents that can access to the Navigation Item.</param> /// <param name="classIUName">Class name of the Navigation Item.</param> /// <param name="iuName">Interaction unit name of the Navigation Item.</param> /// <param name="rolePath">Role path of the Navigation Item.</param> /// <param name="navigationalFilteringIdentity">Navigational filtering.</param> /// <param name="targetScenarioAlias">Alias of the target scenario.</param> /// <param name="idXMLTargetScenarioAlias">IdXML of the Target scenario</param> /// <param name="instanceAlias">Selected instance Alias</param> /// <param name="idXMLInstanceAlias">IdXML selected instance Alias</param> /// <param name="displaySetToTargetScenario">Display Set to be shown in the target scenario. Attributes separates by commas</param> /// <param name="attributesListForFormulas ">List of attributes needed for evaluating the enabling/disabling formulas.</param> /// <returns>NavigationItemController</returns> public NavigationItemController Add( int number, string alias, string idXML, string[] agents, string classIUName, string iuName, string rolePath, string navigationalFilteringIdentity, string targetScenarioAlias, string idXMLTargetScenarioAlias, string instanceAlias, string idXMLInstanceAlias, string displaySetToTargetScenario, List<KeyValuePair<string, string[]>> attributesListForFormulas, string alternateKeyName) { // Check the attributes for enabled formulas depending on the connected agent. List<string> lAttributesForFormulas = new List<string>(); if (attributesListForFormulas != null && Logic.Agent.IsActiveFacet(agents)) { foreach (KeyValuePair<string, string[]> lKeyPair in attributesListForFormulas) { // Check the connected agent visibility. if (Logic.Agent.IsActiveFacet(lKeyPair.Key)) { foreach (string lAttribute in lKeyPair.Value) { // Avoid adding repeated elements. if (!lAttributesForFormulas.Contains(lAttribute)) { lAttributesForFormulas.Add(lAttribute); } } } } } // Set the 'AnyNavigationItemEnabledByCondition' flag to true. if ((lAttributesForFormulas != null) && (lAttributesForFormulas.Count > 0)) { AnyNavigationItemEnabledByCondition = true; } List<string> lAgents = new List<string>(agents); NavigationItemController lNavigationItem = new NavigationItemController( number, alias, idXML, lAgents, classIUName, iuName, rolePath, navigationalFilteringIdentity, targetScenarioAlias, idXMLTargetScenarioAlias, instanceAlias, idXMLInstanceAlias, displaySetToTargetScenario, lAttributesForFormulas, this, alternateKeyName); lNavigationItem.SelectedInstancesRequired += new EventHandler<SelectedInstancesRequiredEventArgs>(HandleNavigationItemSelectedInstancesRequired); lNavigationItem.ContextRequired += new EventHandler<ContextRequiredEventArgs>(HandleNavigationItemContextRequired); lNavigationItem.LaunchingScenario += new EventHandler<LaunchingScenarioEventArgs>(HandleNavigationItemLaunchingScenario); lNavigationItem.RefreshRequired += new EventHandler<RefreshRequiredEventArgs>(HandleNavigationItemRefreshRequired); mNavigationItems.Add(number, lNavigationItem); return lNavigationItem; }
/// Adds a Navigation Item to the Navigation controller. /// </summary> /// <param name="number">Number of the Navigation Item.</param> /// <param name="alias">Alias of the Navigation Item.</param> /// <param name="idXML">IdXML of the Navigation Item.</param> /// <param name="agents">List of agents that can access to the Navigation Item.</param> /// <param name="classIUName">Class name of the Navigation Item.</param> /// <param name="iuName">Interaction unit name of the Navigation Item.</param> /// <param name="rolePath">Role path of the Navigation Item.</param> /// <param name="navigationalFilteringIdentity">Navigational filtering.</param> /// <param name="targetScenarioAlias">Alias of the target scenario.</param> /// <param name="idXMLTargetScenarioAlias">IdXML of the Target scenario</param> /// <param name="instanceAlias">Selected instance Alias</param> /// <param name="idXMLInstanceAlias">IdXML selected instance Alias</param> /// <param name="displaySetToTargetScenario">Display Set to be shown in the target scenario. Attributes separates by commas</param> /// <param name="attributesListForFormulas ">List of attributes needed for evaluating the enabling/disabling formulas.</param> /// <returns>NavigationItemController</returns> public NavigationItemController Add( int number, string alias, string idXML, string[] agents, string classIUName, string iuName, string rolePath, string navigationalFilteringIdentity, string targetScenarioAlias, string idXMLTargetScenarioAlias, string instanceAlias, string idXMLInstanceAlias, string displaySetToTargetScenario, List <KeyValuePair <string, string[]> > attributesListForFormulas, string alternateKeyName) { // Check the attributes for enabled formulas depending on the connected agent. List <string> lAttributesForFormulas = new List <string>(); if (attributesListForFormulas != null && Logic.Agent.IsActiveFacet(agents)) { foreach (KeyValuePair <string, string[]> lKeyPair in attributesListForFormulas) { // Check the connected agent visibility. if (Logic.Agent.IsActiveFacet(lKeyPair.Key)) { foreach (string lAttribute in lKeyPair.Value) { // Avoid adding repeated elements. if (!lAttributesForFormulas.Contains(lAttribute)) { lAttributesForFormulas.Add(lAttribute); } } } } } // Set the 'AnyNavigationItemEnabledByCondition' flag to true. if ((lAttributesForFormulas != null) && (lAttributesForFormulas.Count > 0)) { AnyNavigationItemEnabledByCondition = true; } List <string> lAgents = new List <string>(agents); NavigationItemController lNavigationItem = new NavigationItemController( number, alias, idXML, lAgents, classIUName, iuName, rolePath, navigationalFilteringIdentity, targetScenarioAlias, idXMLTargetScenarioAlias, instanceAlias, idXMLInstanceAlias, displaySetToTargetScenario, lAttributesForFormulas, this, alternateKeyName); lNavigationItem.SelectedInstancesRequired += new EventHandler <SelectedInstancesRequiredEventArgs>(HandleNavigationItemSelectedInstancesRequired); lNavigationItem.ContextRequired += new EventHandler <ContextRequiredEventArgs>(HandleNavigationItemContextRequired); lNavigationItem.LaunchingScenario += new EventHandler <LaunchingScenarioEventArgs>(HandleNavigationItemLaunchingScenario); lNavigationItem.RefreshRequired += new EventHandler <RefreshRequiredEventArgs>(HandleNavigationItemRefreshRequired); mNavigationItems.Add(number, lNavigationItem); return(lNavigationItem); }