/// <summary>
 /// Sets the active <see cref="elementLevelFormPreset"/>
 /// </summary>
 /// <param name="preset">The preset.</param>
 public void setActiveElementLevelFormPreset(elementLevelFormPreset preset)
 {
     if (preset != elementLevelFormPreset.none)
     {
         registry[format].settings.forms = new reportOutputFormat(preset);
     }
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="builderSelector"/> class.
        /// </summary>
        /// <param name="api">The API.</param>
        /// <param name="formPreset">The form preset.</param>
        public builderSelector(reportAPI api, elementLevelFormPreset formPreset = elementLevelFormPreset.none)
        {
            ITextRender rnd = reportOutputSupport.getRenderFor(api);

            Add(rnd);
            format = registry.Keys.First();
            setActiveElementLevelFormPreset(formPreset);
        }
Exemple #3
0
        public reportOutputFormat(elementLevelFormPreset preset)
        {
            this[reportElementLevel.servicepage] = new reportElementFormSet(reportOutputForm.none);

            this.presetSource = preset;

            switch (preset)
            {
            case elementLevelFormPreset.excelDatabaseDump:
                fields.AddMultiple(templateFieldBasic.sci_projectname, templateFieldBasic.sci_projectdesc, templateFieldBasic.sci_projecttype, templateFieldBasic.test_caption, templateFieldBasic.test_description, templateFieldBasic.test_runstamp, templateFieldBasic.test_runstart, templateFieldBasic.test_runtime, templateFieldBasic.test_status, templateFieldBasic.test_versionCount);
                this[reportElementLevel.documentSet] = new reportElementFormSet(reportOutputForm.folder, reportOutputFormatName.unknown, "{{{documentset_name}}}_{{{runstamp}}}").AddProperties(fields);
                this[reportElementLevel.document]    = new reportElementFormSet(reportOutputForm.file, reportOutputFormatName.sheetExcel, "{{{document_name}}}").AddProperties(fields);
                this[reportElementLevel.page]        = new reportElementFormSet(reportOutputForm.inParentFile, reportOutputFormatName.sheetExcel, "{{{page_name}}}").AddProperties(fields);
                this[reportElementLevel.block]       = new reportElementFormSet(reportOutputForm.none);
                this[reportElementLevel.servicepage] = new reportElementFormSet(reportOutputForm.none);     // service pages take care manually about them selfs
                disableNavigationBlocks = true;

                break;

            case elementLevelFormPreset.htmlWebSite:
                fields.AddUnique();
                this[reportElementLevel.documentSet] = new reportElementFormSet(reportOutputForm.folder, reportOutputFormatName.unknown, "{{{documentset_name}}}_{{{runstamp}}}").AddProperties(fields);
                this[reportElementLevel.document]    = new reportElementFormSet(reportOutputForm.folder, reportOutputFormatName.htmlReport, "{{{document_name}}}").AddProperties(fields);
                this[reportElementLevel.page]        = new reportElementFormSet(reportOutputForm.file, reportOutputFormatName.htmlReport, "{{{page_name}}}").AddProperties(fields);
                this[reportElementLevel.block]       = new reportElementFormSet(reportOutputForm.none);
                this[reportElementLevel.servicepage] = new reportElementFormSet(reportOutputForm.file, reportOutputFormatName.sheetExcel, "{{{name}}}");
                disableNavigationBlocks = false;

                break;

            case elementLevelFormPreset.sciReport:
                fields.AddMultiple(templateFieldBasic.sci_projectname, templateFieldBasic.sci_projectdesc, templateFieldBasic.sci_projecttype, templateFieldBasic.test_caption, templateFieldBasic.test_description, templateFieldBasic.test_runstamp, templateFieldBasic.test_runstart, templateFieldBasic.test_runtime, templateFieldBasic.test_status, templateFieldBasic.test_versionCount);
                this[reportElementLevel.documentSet] = new reportElementFormSet(reportOutputForm.folder, reportOutputFormatName.unknown, "{{{documentset_name}}}_{{{runstamp}}}").AddProperties(fields);
                this[reportElementLevel.document]    = new reportElementFormSet(reportOutputForm.folder, reportOutputFormatName.htmlReport, "{{{document_name}}}").AddProperties(fields);
                this[reportElementLevel.page]        = new reportElementFormSet(reportOutputForm.file, reportOutputFormatName.htmlReport, "{{{page_name}}}").AddProperties(fields);
                this[reportElementLevel.block]       = new reportElementFormSet(reportOutputForm.none);
                this[reportElementLevel.servicepage] = new reportElementFormSet(reportOutputForm.file, reportOutputFormatName.sheetExcel, "{{{name}}}");
                disableNavigationBlocks = false;

                break;

            case elementLevelFormPreset.none:
                fields.AddMultiple(templateFieldBasic.documentset_name, templateFieldBasic.test_runstamp, templateFieldBasic.document_name, templateFieldBasic.page_name);
                this[reportElementLevel.documentSet] = new reportElementFormSet(reportOutputForm.folder, reportOutputFormatName.unknown, "{{{documentset_name}}}_{{{runstamp}}}").AddProperties(fields);
                this[reportElementLevel.document]    = new reportElementFormSet(reportOutputForm.folder, reportOutputFormatName.htmlReport, "{{{document_name}}}").AddProperties(fields);
                this[reportElementLevel.page]        = new reportElementFormSet(reportOutputForm.file, reportOutputFormatName.htmlReport, "{{{page_name}}}").AddProperties(fields);
                this[reportElementLevel.block]       = new reportElementFormSet(reportOutputForm.none);
                this[reportElementLevel.servicepage] = new reportElementFormSet(reportOutputForm.file, reportOutputFormatName.sheetExcel, "{{{name}}}");
                disableNavigationBlocks = false;

                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
        /// <summary>
        /// Sets the active output format.
        /// </summary>
        /// <param name="__format">The format.</param>
        /// <param name="formPreset">The form preset.</param>
        /// <exception cref="Exception">Builder instance has no IRender-er for format:" + __format.ToString() + ". call builder.Add() with proper builder before setting this format as active output format.</exception>
        public void setActiveOutputFormat(reportOutputFormatName __format, elementLevelFormPreset formPreset = elementLevelFormPreset.none)
        {
            if (registry.ContainsKey(__format))
            {
                format = __format;

                setActiveElementLevelFormPreset(formPreset);
            }
            else
            {
                throw new NotSupportedException("Builder instance has no IRender-er for format:" + __format.ToString() + ". call builder.Add() with proper builder before setting this format as active output format.");
            }
        }