Example #1
0
        private DataViewTemplate GetDataViewTemplate(DataViewCategory category)
        {
            DataViewTemplate dataViewTemplate = this.dataViewTemplates.Find((Predicate <DataViewTemplate>)(t => t.Category == category));

            if (dataViewTemplate == null)
            {
                dataViewTemplate = new DataViewTemplate(this.Platform, category);
                this.dataViewTemplates.Add(dataViewTemplate);
            }
            return(dataViewTemplate);
        }
Example #2
0
 public DocumentCompositeNode GenerateDataView(IDocumentContext documentContext, IList <DataSchemaNodePath> entries, DataViewCategory category, DocumentCompositeNode containerNode, IDataViewLayoutBuilder layoutBuilder)
 {
     try
     {
         DataViewTemplate dataViewTemplate = this.GetDataViewTemplate(category);
         if (containerNode == null)
         {
             containerNode = (DocumentCompositeNode)dataViewTemplate.RootNode.Clone(documentContext);
         }
         this.layoutBuilder = layoutBuilder != null ? layoutBuilder : (!PlatformTypes.Grid.IsAssignableFrom((ITypeId)containerNode.Type) ? (IDataViewLayoutBuilder) new PanelDataViewLayoutBuilder() : (IDataViewLayoutBuilder) new GridDataViewLayoutBuilder());
         DataViewBuilderContext context = new DataViewBuilderContext(containerNode, category);
         for (int index = 0; index < entries.Count; ++index)
         {
             this.ProcessSingleSchemaPath(context, entries[index], dataViewTemplate);
         }
     }
     catch (Exception ex)
     {
     }
     return(containerNode);
 }
Example #3
0
        private void ProcessSingleSchemaPath(DataViewBuilderContext context, DataSchemaNodePath schemaPath, DataViewTemplate dataViewTemplate)
        {
            DataViewTemplateEntry templateEntryInternal = this.GetDataViewTemplateEntryInternal(schemaPath.Type, dataViewTemplate);

            if (templateEntryInternal == null)
            {
                return;
            }
            context.CurrentSchemaPath = schemaPath;
            context.CurrentLabelNode  = (DocumentCompositeNode)null;
            context.CurrentFieldNode  = (DocumentCompositeNode)null;
            this.CreateLabelElement(context, templateEntryInternal);
            this.CreateFieldElement(context, templateEntryInternal);
            this.layoutBuilder.SetElementLayout(context);
        }
Example #4
0
        public DataViewTemplateEntry GetDataViewTemplateEntry(IType dataType, DataViewCategory category)
        {
            DataViewTemplate dataViewTemplate = this.GetDataViewTemplate(category);

            return(this.GetDataViewTemplateEntryInternal(dataType, dataViewTemplate));
        }
Example #5
0
        private DataViewTemplateEntry GetDataViewTemplateEntryInternal(IType platformType, DataViewTemplate dataViewTemplate)
        {
            if (platformType == null)
            {
                return((DataViewTemplateEntry)null);
            }
            DataViewTemplateEntry viewTemplateEntry = dataViewTemplate.TemplateEntries.Find((Predicate <DataViewTemplateEntry>)(entry => entry.DataType.IsAssignableFrom((ITypeId)platformType)));

            if (viewTemplateEntry == null)
            {
                if (!DataViewBuilder.ShouldTreatAsStringType(platformType))
                {
                    return((DataViewTemplateEntry)null);
                }
                platformType      = this.Platform.Metadata.ResolveType(PlatformTypes.String);
                viewTemplateEntry = dataViewTemplate.TemplateEntries.Find((Predicate <DataViewTemplateEntry>)(entry => entry.DataType.IsAssignableFrom((ITypeId)platformType)));
            }
            return(viewTemplateEntry);
        }