Ejemplo n.º 1
0
        /// <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);
            }
        }
Ejemplo n.º 2
0
        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);
        }