private void CollectLayoutItemVisibleCaptions <T>(IList <string> captions, IEnumerable <T> layoutInfo, ViewItemsCollection viewItems, bool recursively) { foreach (T itemInfo in layoutInfo) { if (itemInfo is IModelLayoutViewItem) { IModelLayoutViewItem layoutItemModel = (IModelLayoutViewItem)itemInfo; ViewItem viewItem = FindViewItem(viewItems, layoutItemModel); if (viewItem != null && GetIsLayoutItemCaptionVisible(layoutItemModel, viewItem) && GetIsItemForCaptionCalculation(layoutItemModel, viewItem)) { MarkRequiredFieldCaptionEventArgs args = new MarkRequiredFieldCaptionEventArgs(viewItem, false); OnMarkRequiredFieldCaption(args); captions.Add(BuildItemCaption(viewItem, args.NeedMarkRequiredField, args.RequiredFieldMark)); } } else if (recursively) { if (itemInfo is IEnumerable <IModelViewLayoutElement> ) { CollectLayoutItemVisibleCaptions <IModelViewLayoutElement>(captions, (IEnumerable <IModelViewLayoutElement>)itemInfo, viewItems, recursively); } else if (itemInfo is IEnumerable <IModelLayoutGroup> ) { CollectLayoutItemVisibleCaptions <IModelLayoutGroup>(captions, (IEnumerable <IModelLayoutGroup>)itemInfo, viewItems, recursively); } } } }
private static ViewItem FindViewItem(ViewItemsCollection viewItems, IModelLayoutViewItem layoutItemModel) { IModelViewItem viewItem = layoutItemModel.ViewItem; string viewItemId = viewItem != null ? viewItem.Id : layoutItemModel.Id; return(viewItems[viewItemId]); }
public override void UpdateNode(DevExpress.ExpressApp.Model.Core.ModelNode node) { IModelViewLayout layoutNode = (IModelViewLayout)node; IModelLayoutGroup mainGroup = layoutNode.GetNode(ModelDetailViewLayoutNodesGenerator.MainLayoutGroupName) as IModelLayoutGroup; mainGroup.Direction = FlowDirection.Horizontal; IModelLayoutViewItem myItem = mainGroup.AddNode <IModelLayoutViewItem>("Icon"); myItem.Index = int.MinValue; myItem.MaxSize = new System.Drawing.Size(64, 64); myItem.SizeConstraintsType = XafSizeConstraintsType.Custom; myItem.ViewItem = ((IModelCompositeView)layoutNode.Parent).Items.GetNode("Icon") as IModelViewItem; }
private void DetailViewTabCountController_ItemCreated(object sender, ItemCreatedEventArgs e) { if (e.Item is LayoutGroup layoutGroup && e.ModelLayoutElement.Parent is IModelTabbedGroup) { foreach (IModelLayoutItem item in ((IModelLayoutGroup)e.ModelLayoutElement)) { IModelLayoutViewItem layoutViewItem = item as IModelLayoutViewItem; if (layoutViewItem == null) { continue; } ListPropertyEditor propertyEditor = View.FindItem(layoutViewItem.ViewItem.Id) as ListPropertyEditor; if (propertyEditor != null) { propertyEditor.Frame.GetController <NestedListViewTabCountController>().Initialize(layoutGroup); } } } }
private void AddLayoutItemNode(IModelLayoutGroup layoutGroup, IModelPropertyEditor editor) { ModelDefaultAttribute modelDefaultAttribute = FindModelDefaultAttribute(editor.ModelMember.MemberInfo, CustomDetailViewItemsGenarator.ActionsContainerAttribute); if (modelDefaultAttribute != null) { IModelViewItem container = editor.Parent.GetNode(modelDefaultAttribute.PropertyValue) as IModelViewItem; if ((container != null)) { IModelLayoutViewItem item = layoutGroup.AddNode <IModelLayoutViewItem>(container.Id); item.ViewItem = container; item.Index = editor.Index; } } else { IModelLayoutViewItem item = layoutGroup.AddNode <IModelLayoutViewItem>(editor.PropertyName); item.ViewItem = editor; item.Index = editor.Index; } }
private void AddStateMachineActionsContainerToDetailViewLayout(DetailView detailView, string actionsContainerId, string caption) { if (detailView.Model.Items[actionsContainerId] != null) { return; } var containerViewItem1 = detailView.Model.Items.AddNode <IModelActionContainerViewItem>(actionsContainerId); var modelApplicationBase = ( ModelApplicationBase )detailView.Model.Application; string currentAspect = modelApplicationBase.CurrentAspect; modelApplicationBase.SetCurrentAspect(""); containerViewItem1.Caption = caption; modelApplicationBase.SetCurrentAspect(currentAspect); IModelViewLayoutElement viewLayoutElement = detailView.Model.Layout.Count > 0 ? detailView.Model.Layout[0] : null; IModelLayoutViewItem modelLayoutViewItem = !(viewLayoutElement is IModelLayoutGroup) ? detailView.Model.Layout.AddNode <IModelLayoutViewItem>(containerViewItem1.Id) : viewLayoutElement.AddNode <IModelLayoutViewItem>(containerViewItem1.Id); modelLayoutViewItem.ViewItem = containerViewItem1; modelLayoutViewItem.ShowCaption = true; var containerViewItem2 = ( ActionContainerViewItem )detailView.AddItem(containerViewItem1); }
private DevExpress.Utils.VertAlignment GetCaptionVerticalAlignment(IModelLayoutViewItem layoutItemModel) { DevExpress.Utils.VertAlignment captionVerticalAlignment = layoutItemModel.CaptionVerticalAlignment; return(Equals(captionVerticalAlignment, DevExpress.Utils.VertAlignment.Default) ? DefaultLayoutItemCaptionVerticalAlignment : captionVerticalAlignment); }
private DevExpress.Utils.Locations GetCaptionLocation(IModelLayoutViewItem layoutItemModel) { Locations captionLocation = layoutItemModel.CaptionLocation; return(Equals(captionLocation, Locations.Default) ? DefaultLayoutItemCaptionLocation : (DevExpress.Utils.Locations)captionLocation); }
protected override LayoutItemTemplateContainer LayoutItem(ViewItemsCollection viewItems, IModelLayoutViewItem layoutItemModel) { LayoutItemTemplateContainer templateContainer = new LayoutItemTemplateContainer(this, viewItems, layoutItemModel); templateContainer.Template = LayoutItemTemplate; templateContainer.ID = WebIdHelper.GetCorrectedLayoutItemId(layoutItemModel); ViewItem viewItem = FindViewItem(viewItems, layoutItemModel); templateContainer.ViewItem = viewItem; if (viewItem != null) { MarkRequiredFieldCaptionEventArgs args = new MarkRequiredFieldCaptionEventArgs(viewItem, false); OnMarkRequiredFieldCaption(args); templateContainer.Caption = BuildItemCaption(viewItem, args.NeedMarkRequiredField, args.RequiredFieldMark); } templateContainer.ShowCaption = GetIsLayoutItemCaptionVisible(layoutItemModel, viewItem); templateContainer.CaptionWidth = CalculateCaptionWidth(viewItem, viewItems, layoutItemModel); templateContainer.CaptionLocation = GetCaptionLocation(layoutItemModel); templateContainer.CaptionHorizontalAlignment = GetCaptionHorizontalAlignment(layoutItemModel); templateContainer.CaptionVerticalAlignment = GetCaptionVerticalAlignment(layoutItemModel); OnLayoutItemCreatedNew(templateContainer, layoutItemModel, viewItem); return(templateContainer); }
private System.Web.UI.WebControls.Unit CalculateCaptionWidth(ViewItem viewItem, ViewItemsCollection viewItems, IModelLayoutViewItem layoutItemModel) { var item = layoutItemModel as IModelWebLayoutItem; if (item != null) { if (item.TextAlignMode == TextAlignModeItem.AutoSize) { return(this.GetMaxStringWidth(new string[] { this.EnsureCaptionColon(viewItem.Caption) })); } else { IModelViewLayoutElement current = layoutItemModel; while (current != null) { var group = current.Parent as IModelWebLayoutGroup; if (group != null) { if (group.TextAlignMode == TextAlignModeGroup.AutoSize) { return(this.GetMaxStringWidth(new string[] { this.EnsureCaptionColon(viewItem.Caption) })); } if (group.TextAlignMode == TextAlignModeGroup.AlignLocal) { return(CalculateLayoutItemCaptionWidthNew((IModelLayoutGroup)group, viewItems, false)); } if (group.TextAlignMode == TextAlignModeGroup.AlignWithChildren) { return(CalculateLayoutItemCaptionWidthNew((IModelLayoutGroup)group, viewItems, true)); } } current = current.Parent as IModelViewLayoutElement; } } } return(this.LayoutItemCaptionWidth); }