/// ------------------------------------------------------------------------------------ /// <summary> /// Tells the side bar adapter to setup it's menus so they show up on the application's /// view menu. This method should be called after all the tabs and tab items have been /// created. /// </summary> /// <param name="menuAdapter">Menu adapter used by the application.</param> /// <param name="insertBeforeItem">Name of the menu item before which the sidebar /// menus will be added.</param> /// ------------------------------------------------------------------------------------ public void SetupViewMenuForSideBarTabs(ITMAdapter adapter, string insertBeforeItem) { TMAdapter dnbAdapter = adapter as TMAdapter; if (dnbAdapter == null || dnbAdapter.m_dnbMngr == null) { // Use this block when the menu adapter isn't one or our DNB ones defined in // this assembly. TODO: Need to call AddItem for each subitem in each tab's menu. foreach (SideBarTab tab in m_navPane.Items) { adapter.AddMenuItem(tab.MenuItemProperties, null, insertBeforeItem); } } // When the menu adapter is one of a type from our assembly, then use it's DNB // manager instead of the one instantiated in SetupSideBarsContextMenu. Add the // side bar's context menu to the DNB manager and set it to popup for as the // side bar's default context menu. m_dnbMngr = dnbAdapter.m_dnbMngr; m_dnbMngr.ContextMenus.Add(m_contextMenu); m_dnbMngr.SetContextMenuEx(m_navPane, "sbcontextmenu"); // Insert our tab's menus before the specified item. foreach (SideBarTab tab in m_navPane.Items) { dnbAdapter.InsertMenuItem(tab.Menu, insertBeforeItem, false); tab.Menu.Visible = true; } }
/// ------------------------------------------------------------------------------------ /// <summary> /// /// </summary> /// ------------------------------------------------------------------------------------ private void SetupSideBarsContextMenu() { // Do nothing if the context menu has already been created. if (m_contextMenu != null) { return; } m_dnbMngr = new DotNetBarManager(); m_contextMenu = new ButtonItem("sbcontextmenu"); m_contextMenu.PopupShowing += new EventHandler(HandleSideBarContextMenuShowing); m_contextMenu.PopupOpen += new DotNetBarManager.PopupOpenEventHandler(HandleSideBarContextMenuPopup); ButtonItem item = new ButtonItem(kLargeIconModeItem, "Large Icons"); item.OptionGroup = m_contextMenu.Name; item.Click += new EventHandler(HandleSideBarContextMenuClick); m_contextMenu.SubItems.Add(item); item = new ButtonItem(kSmallIconModeItem, "Small Icons"); item.OptionGroup = m_contextMenu.Name; item.Click += new EventHandler(HandleSideBarContextMenuClick); m_contextMenu.SubItems.Add(item); item = new ButtonItem(kHideSideBar, "Hide Side Bar"); item.BeginGroup = true; item.Click += new EventHandler(HandleSideBarContextMenuClick); m_contextMenu.SubItems.Add(item); SetContextMenuImages(); m_dnbMngr.ContextMenus.Add(m_contextMenu); m_dnbMngr.SetContextMenuEx(m_navPane, "sbcontextmenu"); }