예제 #1
0
        private static void RemoveCurrentConfigurationSectionCollectionNode(IServiceProvider serviceProvider)
        {
            ConfigurationSectionCollectionNode currentNode = ServiceHelper.GetCurrentHierarchy(serviceProvider).FindNodeByType(typeof(ConfigurationSectionCollectionNode)) as ConfigurationSectionCollectionNode;

            if (currentNode != null)
            {
                currentNode.Remove();
            }
        }
        /// <summary>
        /// Gets the sate of the command based on the node.
        /// </summary>
        /// <value>
        /// One of the <see cref="CommandState"/> values.
        /// </value>
        public virtual CommandState GetCommandState(ConfigurationNode node)
        {
            if (multiplicity == NodeMultiplicity.Allow)
            {
                return(commandState);
            }

            IConfigurationUIHierarchy currentHierarchy = ServiceHelper.GetCurrentHierarchy(serviceProvider);

            return(currentHierarchy.ContainsNodeType(node, nodeType) ? CommandState.Disabled : CommandState.Enabled);
        }
예제 #3
0
        private static void CreateCommands(IServiceProvider serviceProvider)
        {
            IUIHierarchy      currentHierarchy = ServiceHelper.GetCurrentHierarchy(serviceProvider);
            ConfigurationNode rootNode         = ServiceHelper.GetCurrentRootNode(serviceProvider);
            bool containsNode = currentHierarchy.ContainsNodeType(rootNode, typeof(ConfigurationSectionCollectionNode));
            IMenuContainerService menuService = ServiceHelper.GetMenuContainerService(serviceProvider);
            ConfigurationMenuItem item        = new ConfigurationMenuItem(SR.ConfigurationSectionCollectionMenuItemText, new AddChildNodeCommand(serviceProvider, typeof(ConfigurationSectionCollectionNode)), rootNode, Shortcut.None, SR.ConfigurationSectionCollectionStatusText, InsertionPoint.New);

            item.Enabled = !containsNode;
            menuService.MenuItems.Add(item);
        }