/// <summary> /// Creates an item of the specified type and adds it to the specified collection /// </summary> /// <param name="ribbon"></param> /// <param name="collection"></param> /// <param name="t"></param> protected virtual void CreateItem(Ribbon ribbon, RibbonItemCollection collection, Type t) { IDesignerHost host = GetService(typeof(IDesignerHost)) as IDesignerHost; if (host != null && collection != null && ribbon != null) { DesignerTransaction transaction = host.CreateTransaction("AddRibbonItem_" + Component.Site.Name); MemberDescriptor member = TypeDescriptor.GetProperties(Component)["Items"]; base.RaiseComponentChanging(member); RibbonItem item = host.CreateComponent(t) as RibbonItem; if (!(item is RibbonSeparator)) { item.Text = item.Site.Name; } collection.Add(item); ribbon.OnRegionsChanged(); base.RaiseComponentChanged(member, null, null); transaction.Commit(); } }
private void CreateOrbItem(string collectionName, RibbonItemCollection collection, Type t) { if (Ribbon == null) { return; } IDesignerHost host = GetService(typeof(IDesignerHost)) as IDesignerHost; DesignerTransaction transaction = host.CreateTransaction("AddRibbonOrbItem_" + Component.Site.Name); MemberDescriptor member = TypeDescriptor.GetProperties(Ribbon.OrbDropDown)[collectionName]; RaiseComponentChanging(member); RibbonItem item = host.CreateComponent(t) as RibbonItem; if (!(item is RibbonSeparator)) { item.Text = item.Site.Name; } collection.Add(item); Ribbon.OrbDropDown.OnRegionsChanged(); RaiseComponentChanged(member, null, null); transaction.Commit(); Ribbon.OrbDropDown.SelectOnDesigner(item); Ribbon.OrbDropDown.WrappedDropDown.Size = Ribbon.OrbDropDown.Size; }