/// <summary> /// Registers a new command bar control. /// </summary> /// <remarks> /// The UI manager will begin listening out for events happening to this control /// and dispatch them to the correct listeners. /// </remarks> /// <param name="control">The CommandBarControl created.</param> /// <param name="window">The OfficeWindow holding the control.</param> /// <param name="tcontrol">The ToolbarControl that the control was created from.</param> internal void RegisterCommandBarControl(CommandBarControl control, OfficeWindow window, ToolbarControl tcontrol) { if (!controlControlMap.Contains(control.Tag)) { controlControlMap[control.Tag] = tcontrol; } else { CommandBarControl oldcontrol = (CommandBarControl)controlProxyMap[control.Tag]; UnbindControl(oldcontrol); #if (COMRELEASE) System.Runtime.InteropServices.Marshal.ReleaseComObject(oldcontrol); #endif } BindControl(control); controlProxyMap[control.Tag] = control; controlWindowMap[control.Tag] = window; }
/// <summary> /// Deletes a control from the menu. /// </summary> /// <param name="control">The control to delete.</param> internal void Delete(ToolbarControl control) { controls.Remove(control); }