/// <summary> /// Initializes a new <see cref="ToolsCollectionUIAdapter"/> /// </summary> /// <param name="tools">Tools collection represented by the ui adapter</param> public ToolsCollectionUIAdapter(ToolsCollectionBase tools) { Guard.ArgumentNotNull(tools, "tools"); if (tools.Owner is UltraTaskPaneToolbar || (tools.Owner is PopupMenuTool == false && tools.Owner is RibbonGroup == false && tools.Owner is ApplicationMenuArea == false && tools.Owner is UltraToolbarBase == false)) { throw new ArgumentException(Properties.Resources.InvalidToolsCollectionForElements, "tools"); } if (tools.ToolbarsManager == null) { throw new ArgumentException(Properties.Resources.ToolsCollectionNotPartOfManager, "tools"); } if (tools.Owner is PopupMenuTool) { this.toolsAdapter = GetMenuToolsAdapter(tools); } else if (tools.Owner is RibbonGroup) { this.toolsAdapter = GetRibbonGroupToolsAdapter(tools); } else if (tools.Owner is ApplicationMenuArea) { string area = ((ApplicationMenuArea)tools.Owner).ApplicationMenu.ToolAreaLeft.Equals(tools.Owner) ? ApplicationMenuAreaLeft : ApplicationMenuAreaRight; this.toolsAdapter = GetApplicationMenuToolsAdapter(tools, area); } else if (tools.Owner is ApplicationMenuFooterToolbar) { this.toolsAdapter = GetApplicationMenuToolsAdapter(tools, ApplicationMenuAreaFooter); } else if (tools.Owner is QuickAccessToolbar) { this.toolsAdapter = GetApplicationMenuToolsAdapter(tools, SpecialToolbarQuickAccessToolbar); } else if (tools.Owner is MiniToolbar) { this.toolsAdapter = GetApplicationMenuToolsAdapter(tools, SpecialToolbarMiniToolbar); } else if (tools.Owner is RibbonTabItemToolbar) { this.toolsAdapter = GetApplicationMenuToolsAdapter(tools, SpecialToolbarTabItemToolbar); } else { this.toolsAdapter = GetToolbarToolsAdapter(tools); } }
private static ToolsCollectionAdapterImpl GetToolsAdapter(ToolsCollectionBase tools, Dictionary <ToolsCollectionKey, ToolsCollectionAdapterImpl> adapters, string ownerKey) { ToolsCollectionKey key = new ToolsCollectionKey(tools.ToolbarsManager, ownerKey); ToolsCollectionAdapterImpl collectionAdapter; if (adapters.TryGetValue(key, out collectionAdapter) == false) { collectionAdapter = new ToolsCollectionAdapterImpl(tools); adapters.Add(key, collectionAdapter); } return(collectionAdapter); }
internal ToolsCollectionAdapterImpl(ToolsCollectionBase tools) { // for a menu, store the tools collection of the root tool // in case the instance we were created for has been removed. if (tools.Owner is PopupMenuTool) { PopupMenuTool menu = tools.Owner as PopupMenuTool; tools = ((PopupMenuTool)menu.SharedProps.RootTool).Tools; } this.tools = new WeakReference(tools); this.manager = new WeakReference(tools.ToolbarsManager); }
private static ToolsCollectionAdapterImpl GetRibbonGroupToolsAdapter(ToolsCollectionBase tools) { Debug.Assert(tools.Owner is RibbonGroup, "Unexpected owner type."); RibbonGroup group = (RibbonGroup)tools.Owner; ToolsCollectionKey tabKey = new ToolsCollectionKey(tools.ToolbarsManager, group.Tab.Key); Dictionary <ToolsCollectionKey, ToolsCollectionAdapterImpl> groupsCollectionAdapters; if (ribbonGroupToolsAdapters.TryGetValue(tabKey, out groupsCollectionAdapters) == false) { groupsCollectionAdapters = new Dictionary <ToolsCollectionKey, ToolsCollectionAdapterImpl>(); ribbonGroupToolsAdapters.Add(tabKey, groupsCollectionAdapters); } return(GetToolsAdapter(tools, groupsCollectionAdapters)); }
private void removeButtonBeforeReadd(ToolsCollectionBase tools, ButtonTool buttonTool) { int iIndex = tools.IndexOf(buttonTool.Key); if (iIndex != -1) tools.RemoveAt(iIndex); }
private static ToolsCollectionAdapterImpl GetToolsAdapter(ToolsCollectionBase tools, Dictionary <ToolsCollectionKey, ToolsCollectionAdapterImpl> adapters) { Debug.Assert(tools.Owner is KeyedSubObjectBase, "Unexpected owner type."); return(GetToolsAdapter(tools, adapters, ((KeyedSubObjectBase)tools.Owner).Key)); }
private static ToolsCollectionAdapterImpl GetSpecialToolbarToolsAdapter(ToolsCollectionBase tools, string key) { return(GetToolsAdapter(tools, specialToolbarAdapters, key)); }
private static ToolsCollectionAdapterImpl GetApplicationMenuToolsAdapter(ToolsCollectionBase tools, string key) { return(GetToolsAdapter(tools, applicationMenuAdapters, key)); }
private static ToolsCollectionAdapterImpl GetToolbarToolsAdapter(ToolsCollectionBase tools) { return(GetToolsAdapter(tools, toolbarToolsAdapters)); }
public CommandBarItemCollection(ToolsCollectionBase decoratedItem) { this.decoratedItem = decoratedItem; }
/// <summary> /// Internal inherited method for initializing the tool when de-serialization completes. /// Automatically called by toolbars manager. /// </summary> protected override void Initialize(ToolsCollectionBase parentCollection) { // Let the base do its processing. base.Initialize(parentCollection); }