private void BindMergeAction(PopupWindowShowAction pswAction) { IActionControlsSite site = Frame.Template as IActionControlsSite; IActionControlContainer container = GetTargetActionContainer(site, pswAction); if (container != null && container.FindActionControl(pswAction.Id) == null) { if (bAddAction) { // Action noch nicht da ISimpleActionControl actionControl = container.AddSimpleActionControl(pswAction.Id); actionControl.NativeControlDisposed += ActionControl_NativeControlDisposed; ActionBinding actionBinding = ActionBindingFactory.Instance.Create(pswAction, actionControl); if (!dictBinding.ContainsKey(pswAction)) { dictBinding.Add(pswAction, actionBinding); } } } if (container != null && container.FindActionControl(pswAction.Id) == null) { if (bAddAction) { if (!dictBinding.ContainsKey(pswAction)) { ISimpleActionControl actionControl = container.AddSimpleActionControl(pswAction.Id); actionControl.NativeControlDisposed += ActionControl_NativeControlDisposed; ActionBinding actionBinding = ActionBindingFactory.Instance.Create(pswAction, actionControl); dictBinding.Add(pswAction, actionBinding); } } } }
private IActionControlContainer GetTargetActionContainer(IActionControlsSite site) { if (site == null) { return(null); } foreach (IActionControlContainer container in site.ActionContainers) { if (container.ActionCategory == PredefinedCategory.View.ToString()) { return(container); } } return(null); }
private IActionControlContainer GetTargetActionContainer(IActionControlsSite site, PopupWindowShowAction pwsAction) { if (site == null) { return(null); } foreach (IActionControlContainer container in site.ActionContainers) { if (container.ActionCategory == pwsAction.Category) { return(container); } } return(null); }
public BarItemLink GetBarItemLinkForBarItem(IActionControlsSite actionControlsSite, BarItem barItem) { BarItemLink result = null; foreach (IActionControlContainer controlContainer in actionControlsSite.ActionContainers) { if (controlContainer is BarLinkActionControlContainer) { result = ((BarLinkActionControlContainer)controlContainer).BarContainerItem.ItemLinks.FirstOrDefault <BarItemLink>(x => x.Item == barItem); if (result != null) { break; } } } return(result); }
private IActionControl AddActionControl(ActionBase action, IActionControlsSite site) { var container = GetTargetActionContainer(site); if (action is SimpleAction) { return(container.AddSimpleActionControl(action.Id)); } if (action is SingleChoiceAction singleChoiceAction) { return(container.AddSingleChoiceActionControl(action.Id, false, singleChoiceAction.ItemType)); } var parametrizedAction = ((ParametrizedAction)action); return(container.AddParametrizedActionControl(parametrizedAction.Id, parametrizedAction.ValueType)); }
private static void WinApplication_CustomizeTemplate(object sender, CustomizeTemplateEventArgs e) { if (e.Context == TemplateContext.ApplicationWindow || e.Context == TemplateContext.View) { RibbonForm ribbonForm = e.Template as RibbonForm; IActionControlsSite actionControlsSite = ribbonForm as IActionControlsSite; if ((ribbonForm != null) && (actionControlsSite != null)) { IActionControlContainer filtersActionControlContainer = actionControlsSite.ActionContainers.FirstOrDefault <IActionControlContainer>(x => x.ActionCategory == "Filters"); if (filtersActionControlContainer is BarLinkActionControlContainer) { BarLinkActionControlContainer barFiltersActionControlContainer = (BarLinkActionControlContainer)filtersActionControlContainer; BarLinkContainerItem barFiltersItem = barFiltersActionControlContainer.BarContainerItem; RibbonControl ribbonControl = ribbonForm.Ribbon; foreach (RibbonPage page in ribbonControl.Pages) { foreach (RibbonPageGroup group in page.Groups) { BarItemLink barFiltersItemLink = group.ItemLinks.FirstOrDefault <BarItemLink>(x => x.Item == barFiltersItem); if (barFiltersItemLink != null) { group.ItemLinks.Remove(barFiltersItemLink); } } } ribbonForm.Ribbon.PageHeaderItemLinks.Add(barFiltersItem); } } } else if ((e.Context == TemplateContext.LookupControl) || (e.Context == TemplateContext.LookupWindow)) { LookupControlTemplate lookupControlTemplate = e.Template as LookupControlTemplate; if (lookupControlTemplate == null && e.Template is LookupForm) { lookupControlTemplate = ((LookupForm)e.Template).FrameTemplate; } if (lookupControlTemplate != null) { lookupControlTemplate.ObjectsCreationContainer.ContainerId = "LookupNew"; lookupControlTemplate.SearchActionContainer.ContainerId = "LookupFullTextSearch"; } } }