/// <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); } } }
/// <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)); } }
public ShellViewModel(IMenuItemCollection iMenu) { _iMenu = iMenu; SideMenu = iMenu.GetSideMenu(); TopMenu = iMenu.GetTopMenu(); SubMenu = iMenu.GetSubMenu(); }
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); }
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); }
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); }
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); }
/// <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; } }; } }
/// <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); }
/// <summary> /// Constructs a <see cref="CollapsibleMenuWin"/> /// </summary> public CollapsibleMenuWin() { _menuItemCollection = new CollapsibleMenuItemCollectionWin(this); }
/// <summary> /// Constructs a <see cref="CollapsibleMenuVWG"/> /// </summary> public CollapsibleMenuVWG() { _menuItemCollection = new CollapsibleMenuItemCollectionVWG(this); }