예제 #1
0
        /// <summary>
        /// Given a toolbox item "unique ID" and a data format identifier, returns the content of
        /// the data format.
        /// </summary>
        /// <param name="itemId">The unique ToolboxItem to retrieve data for</param>
        /// <param name="format">The desired format of the resulting data</param>
        public virtual object GetToolboxItemData(string itemId, DataFormats.Format format)
        {
            DslDesign::ModelingToolboxItem item = null;

            global::System.Resources.ResourceManager resourceManager = global::Microsoft.Data.Entity.Design.EntityDesigner.MicrosoftDataEntityDesignDomainModel.SingletonResourceManager;
            global::System.Globalization.CultureInfo resourceCulture = global::System.Globalization.CultureInfo.CurrentUICulture;

            System.Windows.Forms.IDataObject tbxDataObj;

            //get the toolbox item
            item = GetToolboxItem(itemId);

            if (item != null)
            {
                ToolboxItemContainer container = new ToolboxItemContainer(item);
                tbxDataObj = container.ToolboxData;

                if (tbxDataObj.GetDataPresent(format.Name))
                {
                    return(tbxDataObj.GetData(format.Name));
                }
                else
                {
                    string invalidFormatString = resourceManager.GetString("UnsupportedToolboxFormat", resourceCulture);
                    throw new InvalidOperationException(string.Format(resourceCulture, invalidFormatString, format.Name));
                }
            }

            string errorFormatString = resourceManager.GetString("UnresolvedToolboxItem", resourceCulture);

            throw new InvalidOperationException(string.Format(resourceCulture, errorFormatString, itemId));
        }
예제 #2
0
            public int Add(object value)
            {
                ToolboxItemContainer item = (ToolboxItemContainer)value;

                if (item != null)
                {
                    HostItem hostItem = new HostItem(item.GetToolboxItem(null));
                    if (this._tab != null)
                    {
                        this._tab.Items.Add(hostItem);
                    }
                    else if (this._toolbox.GeneralCategory != null)
                    {
                        this._toolbox.GeneralCategory.Items.Add(hostItem);
                    }
                    else
                    {
                        if (this._toolbox.Categories.Count == 0)
                        {
                            this._toolbox.Categories.Add(this._toolbox.CreateNewTab(Resources.ToolboxTabDefaultName));
                        }
                        this._toolbox.Categories[this._toolbox.Categories.Count - 1].Items.Add(hostItem);
                    }
                }
                return(-1);
            }
예제 #3
0
            public void Remove(object value)
            {
                ToolboxItemContainer item = (ToolboxItemContainer)value;

                if (item != null)
                {
                    ToolboxItem toolboxItem = item.GetToolboxItem(null);
                    this._toolbox.RemoveToolboxItem(toolboxItem, (this._tab != null) ? this._tab.Text : null);
                }
            }
            /// <summary>
            /// Creates a new toolbox item container from a saved data object.
            /// </summary>
            /// <param name="dataObject">A data object containing saved toolbox data.</param>
            /// <returns>A new toolbox item container.</returns>
            protected override ToolboxItemContainer CreateItemContainer(IDataObject dataObject)
            {
                HostItem item = this._toolbox.GetDragDropTool(dataObject) as HostItem;

                if (item != null)
                {
                    ToolboxItemContainer container = this.CreateItemContainer(item.ToolboxItem, null);
                    return(container);
                }
                return(base.CreateItemContainer(dataObject));
            }