/// ------------------------------------------------------------------------------------ /// <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; } }
/// ------------------------------------------------------------------------------------ private void SetContextMenus() { if (TabsContainer.ContextMenuStrip != null) { TabsContainer.ContextMenuStrip.Opening -= ContextMenuStrip_Opening; } if (TMAdapter != null) { TMAdapter.SetContextMenuForControl(TabsContainer, "cmnuSearchResultTabGroup"); } if (TabsContainer.ContextMenuStrip != null) { TabsContainer.ContextMenuStrip.Opening += ContextMenuStrip_Opening; } }
/// ------------------------------------------------------------------------------------ /// <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 silAdapter = adapter as TMAdapter; foreach (SBTabProperties tab in m_tabProps) { ToolStripMenuItem viewTab = new ToolStripMenuItem(); viewTab.Text = tab.Text; viewTab.Enabled = tab.Enabled; foreach (SBTabItemProperties item in m_tabItemProps) { if (item.OwningTabName == tab.Name) { ToolStripMenuItem menuItem = new ToolStripMenuItem(); // just one space if any version of newline is present menuItem.Text = item.Text.Replace("\r\n", " ").Replace('\r', ' ').Replace('\n', ' '); menuItem.Image = this.m_smallItemImages.Images[item.ImageIndex]; menuItem.Tag = item; //menuItem.Image = this.m_smallItemImages[]; viewTab.DropDown.Items.Add(menuItem); menuItem.Click += SideBarItemOnMenuClick; } } if (tab.ConfigureMenuVisible && !String.IsNullOrEmpty(tab.ConfigureMessage) && !String.IsNullOrEmpty(tab.ConfigureMenuText)) { var menuItem = new ToolStripMenuItem(); menuItem.Text = tab.ConfigureMenuText; menuItem.Tag = tab; menuItem.Click += new EventHandler(ConfigureItem_Click); viewTab.DropDown.Items.Add(new ToolStripSeparator()); viewTab.DropDown.Items.Add(menuItem); } viewTab.DropDownOpened += new EventHandler(TabMenu_DropDownOpened); silAdapter.InsertMenuItem(viewTab, insertBeforeItem); } adapter.MessageMediator.AddColleague(this); }