protected override ICollection <Field> InstantiateCore() { XView xView = XTemplate.XProject.XViews.Single(); View view = InstantiateView(xView, Project); return(InstantiateFields(xView, view).ToList()); }
private void AddCheckCode(XView xView) { string checkCode = xView.CheckCode.Trim(); if (!View.CheckCode.Contains(checkCode)) { View.CheckCode = string.Concat(View.CheckCode, "\n", checkCode).Trim(); Metadata.UpdateView(View); } }
protected override ICollection <Field> InstantiateCore() { XView xView = XTemplate.XProject.XViews.Single(); AddCheckCode(xView); XPage xPage = xView.XPages.Single(); Page page = InstantiatePage(xPage, View); return(InstantiateFields(xPage, page).ToList()); }
protected void AddView(View view, XProject xProject) { Progress?.Report($"Adding view: {view.Name}"); XView xView = XView.Create(view); xProject.Add(xView); foreach (Page page in view.Pages) { AddPage(page, xView); } }
protected IEnumerable <Field> InstantiateFields(XView xView, View view) { context.SetView(view); foreach (XPage xPage in xView.XPages) { Page page = InstantiatePage(xPage, view); foreach (Field field in InstantiateFieldsInternal(xPage, page)) { yield return(field); } } }
protected View InstantiateView(XView xView, Project project) { Progress?.Report($"Adding view: {xView.Name}"); View view = xView.Instantiate(project); if (context.ViewNameGenerator.Exists(view.Name) || context.ViewNameGenerator.Conflicts(view.Name)) { view.Name = context.ViewNameGenerator.MakeUnique(view.Name); Progress?.Report($"Renamed view: {view.Name}"); } Metadata.InsertView(view); project.Views.Add(view); context.ViewIdMap[xView.ViewId] = view.Id; return(view); }
protected void AddPage(Page page, XView xView) { View view = page.GetView(); Progress?.Report($"Adding page: {view.Name}/{page.Name}"); XPage xPage = XPage.Create(page); xView.Add(xPage); foreach (DataRow field in GetFields(page)) { string fieldName = field.Field <string>(ColumnNames.NAME); Progress?.Report($"Adding field: {view.Name}/{page.Name}/{fieldName}"); xPage.Add(XField.Create(field)); } }
private View?RenderSimple(XView child, Window root, int row) { switch (child) { case XButton button: return(_elementFactory?.CreateButton(button, root, row)); case XLabel label: return(_elementFactory?.CreateLabel(label, root, row)); case XCheckBox checkBox: return(_elementFactory?.CreateCheckBox(checkBox, root, row)); default: throw new InvalidOperationException($"Unknown node type: {child.GetType().Name}"); } }
protected override XTemplate CreateCore() { XTemplate xTemplate = new XTemplate(TemplateLevel.Page) { Name = Page.Name }; XProject xProject = new XProject(); xTemplate.Add(xProject); XView xView = new XView { CheckCode = Page.GetView().CheckCode }; xProject.Add(xView); AddPage(Page, xView); return(xTemplate); }
public static void SetWidth(View view, XView xView) { if (xView.WidthHandling == WidthHandling.Auto || float.IsNaN(xView.Width)) { return; } switch (xView.WidthHandling) { case WidthHandling.Percent: view.Width = Dim.Percent(xView.Width); break; case WidthHandling.Columns: view.Width = (int)Math.Ceiling(xView.Width); break; default: return; } }