/// <summary>
        /// Sets event handlers for menu items
        /// </summary>
        private void InitMenu(IMenuItemCollection items)
        {
            if (items == null)
            {
                return;
            }

            foreach (var item in items)
            {
                if (item.Tag != null)
                {
                    if (item.Tag.GetType() != typeof(PluginIdentity))
                    {
                        continue; // those items are handled by somebody else
                    }
                }

                item.ItemClicked += ItemClick;

                var dropDown = item as IDropDownMenuItem;
                if (dropDown != null)
                {
                    InitMenu(dropDown.SubItems);
                }
            }
        }
Exemple #2
0
 /// <summary>
 /// Builds the Sub Menu based on the <paramref name="habaneroMenu"/> definition.
 /// The Sub Menu items created are added to the menuItems Collection <see cref="IMenuItemCollection"/>
 /// </summary>
 /// <param name="habaneroMenu">The definition of the Sub Menu</param>
 /// <param name="menuItems">The collection to which the Sub Menu items are added</param>
 public virtual void BuildSubMenu(HabaneroMenu habaneroMenu, IMenuItemCollection menuItems)
 {
     foreach (HabaneroMenu submenu in habaneroMenu.Submenus)
     {
         menuItems.Add(BuildMenu(submenu));
     }
 }
Exemple #3
0
        public ShellViewModel(IMenuItemCollection iMenu)
        {
            _iMenu = iMenu;



            SideMenu = iMenu.GetSideMenu();
            TopMenu  = iMenu.GetTopMenu();
            SubMenu  = iMenu.GetSubMenu();
        }
Exemple #4
0
        public void Test_Construct_ShouldSetMenuItem()
        {
            //---------------Set up test pack-------------------
            IMenuItem menuItem = CreateMenuItem();
            //---------------Assert Precondition----------------
            //---------------Execute Test ----------------------
            IMenuItemCollection collapsibleMenuItemCollection = CreateControl(menuItem);

            //---------------Test Result -----------------------
            Assert.AreSame(menuItem, collapsibleMenuItemCollection.OwnerMenuItem);
        }
Exemple #5
0
        public void Test_ConstructMenuItem_WithHabaneroMenuItem_ShouldSetName()
        {
            //---------------Set up test pack-------------------
            string name = TestUtil.GetRandomString();

            HabaneroMenu.Item item     = new HabaneroMenu.Item(null, name);
            IMenuItem         menuItem = CreateMenuItem(item);
            //---------------Assert Precondition----------------
            //---------------Execute Test ----------------------
            IMenuItemCollection collapsibleMenuItemCollection = CreateControl(menuItem);

            //---------------Test Result -----------------------
            Assert.AreSame(menuItem, collapsibleMenuItemCollection.OwnerMenuItem);
        }
Exemple #6
0
        public void Test_MenuItems_ShouldAlwaysReturnTheSameInstance()
        {
            //---------------Set up test pack-------------------
            IMainMenuHabanero   mainMenu          = CreateControl();
            IMenuItemCollection expectedMenuItems = mainMenu.MenuItems;

            //---------------Assert Precondition----------------
            Assert.IsNotNull(mainMenu);
            Assert.IsNotNull(expectedMenuItems);
            //---------------Execute Test ----------------------
            IMenuItemCollection secondCallToMenuItems = mainMenu.MenuItems;

            //---------------Test Result -----------------------
            Assert.AreSame(expectedMenuItems, secondCallToMenuItems);
        }
Exemple #7
0
        public static void RemoveItems(IMenuItemCollection items, PluginIdentity identity)
        {
            for (int j = items.Count() - 1; j >= 0; j--)
            {
                var dropDownMenuItem = items[j] as IDropDownMenuItem;
                if (dropDownMenuItem != null)
                {
                    RemoveItems(dropDownMenuItem.SubItems, identity);
                    dropDownMenuItem.Update();
                }

                if (!items[j].Skip && items[j].PluginIdentity == identity)
                {
                    items.Remove(j);
                }
            }
        }
        public void Test_MenuItems_ShouldAlwaysReturnTheSameInstance()
        {
            //---------------Set up test pack-------------------
            string name = TestUtil.GetRandomString();

            HabaneroMenu.Item   item = new HabaneroMenu.Item(null, name);
            IMenuItem           collapsibleMenuItem = CreateControl(item);
            IMenuItemCollection expectedMenuItems   = collapsibleMenuItem.MenuItems;

            //---------------Assert Precondition----------------
            Assert.IsNotNull(collapsibleMenuItem);
            Assert.IsNotNull(expectedMenuItems);
            //---------------Execute Test ----------------------
            IMenuItemCollection secondCallToMenuItems = collapsibleMenuItem.MenuItems;

            //---------------Test Result -----------------------
            Assert.AreSame(expectedMenuItems, secondCallToMenuItems);
        }
Exemple #9
0
        /// <summary>
        /// Add the toggle feature menu item.
        /// </summary>
        /// <param name="parent">The parent node.</param>
        /// <param name="items">The menu item collection.</param>
        /// <param name="featureDetails">The feature info.</param>
        void AddToggleFeatureMenuItem(IExplorerNode parent, IMenuItemCollection items, FeatureInfo featureDetails)
        {
            bool isEnabled = parent.Context.SharePointConnection.ExecuteCommand <FeatureInfo, bool>(FeatureSharePointCommandIds.IsFeatureEnabled, featureDetails);

            if (isEnabled == false)
            {
                IMenuItem item = items.Add(
                    String.Format(CKSProperties.FeatureNodeExtension_ActivateNodeName, featureDetails.Scope));
                item.Click +=
                    delegate
                {
                    try
                    {
                        Cursor.Current = Cursors.WaitCursor;
                        parent.Context.SharePointConnection.ExecuteCommand <FeatureInfo>(
                            FeatureSharePointCommandIds.EnableFeature, featureDetails);
                    }
                    finally
                    {
                        Cursor.Current = Cursors.Default;
                    }
                };
            }
            else
            {
                IMenuItem item = items.Add(
                    String.Format(CKSProperties.FeatureNodeExtension_DeactivateNodeName, featureDetails.Scope));
                item.Click +=
                    delegate
                {
                    try
                    {
                        Cursor.Current = Cursors.WaitCursor;
                        parent.Context.SharePointConnection.ExecuteCommand <FeatureInfo>(
                            FeatureSharePointCommandIds.DisableFeature, featureDetails);
                    }
                    finally
                    {
                        Cursor.Current = Cursors.Default;
                    }
                };
            }
        }
Exemple #10
0
        /// <summary>
        /// Add the copy Id menu item.
        /// </summary>
        /// <param name="parent">The parent node.</param>
        /// <param name="items">The menu item collection.</param>
        /// <param name="nodeInfo">The feature info.</param>
        void AddCopyIDMenuItem(IExplorerNode parent, IMenuItemCollection items, IFeatureNodeInfo nodeInfo)
        {
            IMenuItem copyIdItem = items.Add(CKSProperties.FeatureNodeExtension_CopyIdNodeName, 1);

            copyIdItem.Click += new EventHandler <MenuItemEventArgs>(CopyIdItem_Click);
        }
Exemple #11
0
 /// <summary>
 /// Constructs a <see cref="CollapsibleMenuWin"/>
 /// </summary>
 public CollapsibleMenuWin()
 {
     _menuItemCollection = new CollapsibleMenuItemCollectionWin(this);
 }
Exemple #12
0
 /// <summary>
 /// Constructs a <see cref="CollapsibleMenuVWG"/>
 /// </summary>
 public CollapsibleMenuVWG()
 {
     _menuItemCollection = new CollapsibleMenuItemCollectionVWG(this);
 }