Пример #1
0
        /// <summary>method write diagnosis row title
        /// </summary>
        /// <param name="title">diagnosis row title text</param>
        /// <param name="fontSize">diagnosis row title font size</param>
        /// <param name="leftMargin">diagnosis row title left margin</param>
        /// <param name="topMargin">diagnosis row title top margin</param>
        /// <param name="bottomMargin">diagnosis row title bottom margin</param>
        /// <param name="isUnderlined">if true, then title is underlined</param>
        /// <returns>main box first row index</returns>
        private int WriteDiagnosisRowTitle(string title, double fontSize, double leftMargin, double topMargin, double bottomMargin = 0, bool isUnderlined = false)
        {
            TextBlock text = XPSHelper.GetTextBlock(title, HorizontalAlignment.Left, VerticalAlignment.Top, new Thickness(leftMargin, topMargin, m_LeftMargin, bottomMargin), fontSize, null, FontWeights.Bold, isUnderlined);

            text.Width = ReportPage.ReportWidth * ReportPage.DisplayResolution - (leftMargin + m_LeftMargin);
            return(m_ReportDocument.WriteRowContent(text));
        }
Пример #2
0
        /// <summary>method write interpretation reference table to document grid, if it is needed
        /// </summary>
        /// <param name="reportData">report XML data object</param>
        private void WriteInterpretationRefTable(CysticFibrosisReportData reportData)
        {
            if (reportData.IsInterpretationRefTableVisible)
            {
                int    i, j;
                string cellText;
                double fontSize = m_FontSize - 0.5;

                IEnumerable <XElement> colHeaders = reportData.InterpretationRefTableColHeaders;

                int  colCount = colHeaders.Count();
                int  rowCount = reportData.InterpretationRefTableRowsCount + 1;
                Grid grid     = XPSHelper.GetGridWithEqualColumns(rowCount, colCount, 2.0 * m_LeftMargin, m_TopMargin);

                WriteSimpleSection(reportData.InterpretationRefTableHeaderText, fontSize);
                for (j = 0; j < colCount; j++)
                {
                    XPSHelper.WriteTextBlockToGrid(colHeaders.ElementAt(j).Value, grid, 0, j, HorizontalAlignment.Left, VerticalAlignment.Top, null, fontSize, null, FontWeights.Bold);
                }
                for (i = 1; i < rowCount; i++)
                {
                    for (j = 0; j < colCount; j++)
                    {
                        cellText = reportData.GetInterpretationRefTableCellText(i - 1, j);
                        XPSHelper.WriteTextBlockToGrid(cellText, grid, i, j, HorizontalAlignment.Left, VerticalAlignment.Top, new Thickness(0, -2, 0, 0), fontSize);
                    }
                }
                m_ReportDocument.WriteRowContent(grid);
            }
        }
Пример #3
0
        /// <summary>method write diagnosis row body
        /// </summary>
        /// <param name="body">diagnosis row body text</param>
        /// <param name="fontSize">diagnosis row body font size</param>
        /// <param name="leftMargin">diagnosis row body left margin</param>
        /// <param name="topMargin">diagnosis row body top margin</param>
        private void WriteDiagnosisRowBody(string body, double fontSize, double leftMargin, double topMargin)
        {
            TextBlock text = XPSHelper.GetTextBlock(body, HorizontalAlignment.Left, VerticalAlignment.Top, new Thickness(leftMargin, topMargin, m_LeftMargin, 0), fontSize, null, null, false, true);

            text.Width = ReportPage.ReportWidth * ReportPage.DisplayResolution - (leftMargin + m_LeftMargin);
            m_ReportDocument.WriteRowContent(text);
        }
Пример #4
0
        /// <summary>method write phone row of address column to address column grid
        /// </summary>
        /// <param name="grid">address column grid</param>
        /// <param name="rows">array of row's strings</param>
        /// <param name="rowIndex">row index</param>
        private void WritePhoneRow(Grid grid, string[] row, int rowIndex)
        {
            int       i;
            TextBlock text;

            int colCount = row.GetLength(0);

            GridLength[] colWidth = new GridLength[colCount];
            for (i = 0; i < colCount; i++)
            {
                if (i % 2 == 0)
                {
                    colWidth[i] = GridLength.Auto;
                }
                else
                {
                    colWidth[i] = new GridLength(0.8 * ReportPage.DisplayResolution);
                }
            }
            Grid childGrid = XPSHelper.GetGrid(colWidth, 1);

            childGrid.Margin = new Thickness(m_HorMargin, 0, 0, 0);
            for (i = 0; i < colCount; i++)
            {
                text            = XPSHelper.WriteTextBlockToGrid(row[i], childGrid, 0, i, HorizontalAlignment.Left, VerticalAlignment.Top, new Thickness((i % 2 == 0 ? 0 : 3), (rowIndex == 2 ? 0 : -5.0), 0, 0), m_FontSize);
                text.FontWeight = (i % 2 == 0 ? FontWeights.Normal : FontWeights.Bold);
            }
            XPSHelper.WriteItemToGrid(childGrid, grid, rowIndex, 0);
        }
Пример #5
0
        /// <summary>method write report's main box custom sections to document grid
        /// </summary>
        protected override int WriteCustomSectionToMainBox()
        {
            const double fontSize   = m_FontSize + 2;
            const double leftMargin = m_LeftMargin + 18;
            const double topMargin  = m_TopMargin + 6;

            int  rowsCount = m_ReportData.ResultRowsCount + 1;
            Grid grid      = XPSHelper.GetGrid(XPSHelper.GetFullWidthGridColWidthArray(new double[] { 0.4, 1.5, 2.5 }, m_LeftMargin), rowsCount);

            grid.Margin = new Thickness(leftMargin, topMargin, 0, 0);

            for (int i = 0; i < rowsCount; i++)
            {
                for (int j = 0; j < ResultColumnsHeaders.GetLength(0); j++)
                {
                    if (i == 0)
                    {
                        XPSHelper.WriteTextBlockToGrid(ResultColumnsHeaders[j], grid, i, j + 1, HorizontalAlignment.Left, VerticalAlignment.Top, null, fontSize, null, FontWeights.Bold, true);
                    }
                    else
                    {
                        XPSHelper.WriteTextBlockToGrid(m_ReportData.GetResultCellValue(i - 1, j), grid, i, j + 1, HorizontalAlignment.Left, VerticalAlignment.Top, null, fontSize);
                    }
                }
            }

            return(m_ReportDocument.WriteRowContent(grid));
        }
        /// <summary>method initilize document grid
        /// </summary>
        private void SetupDocumentLayout()
        {
            Border bodyBorder = XPSHelper.GetBorder(HorizontalAlignment.Stretch, VerticalAlignment.Stretch, new Thickness(m_MarginSize * 3, m_MarginSize * 3, m_MarginSize * 3, m_MarginSize * 3), null, new Thickness(m_PageBorderThickness));

            m_BodyRoot       = new StackPanel();
            bodyBorder.Child = m_BodyRoot;

            m_DocTitle = XPSHelper.GetTextBlock(m_PageTitle, HorizontalAlignment.Center, VerticalAlignment.Top, new Thickness(m_MarginSize * 3, m_MarginSize * 3, m_MarginSize * 3, 0), m_FontSize * 1.4, null, FontWeights.Bold);
            m_BodyRoot.Children.Add(m_DocTitle);

            string patientName = string.Format("Patient Name: {0}, {1}", this.m_PlacentalPathologyData.PLastName, this.m_PlacentalPathologyData.PFirstName);

            m_PatientName = XPSHelper.GetTextBlock(patientName, HorizontalAlignment.Center, VerticalAlignment.Top, new Thickness(m_MarginSize * 3, m_MarginSize, m_MarginSize * 3, m_MarginSize * 3), m_FontSize * 1.4, null, FontWeights.Bold);
            m_BodyRoot.Children.Add(m_PatientName);

            m_DemographicGrid = XPSHelper.GetGrid(m_DemographicGridColWidth, m_DemographicGridRowsCount, 0.0, new Thickness(m_MarginSize * 3, 0, m_MarginSize * 3, m_MarginSize * 3));
            m_BodyRoot.Children.Add(m_DemographicGrid);

            m_IndicationsGrid = XPSHelper.GetGrid(m_IndicationsGridRowsCount, m_IndicationsGridColCount, 0.0, new Thickness(m_MarginSize * 3, 0, m_MarginSize * 3, m_MarginSize * 3));
            m_BodyRoot.Children.Add(m_IndicationsGrid);

            GridLength[] gridLegths = new GridLength[] { new GridLength(DateTimeColWidth * ReportPage.DisplayResolution), new GridLength(DateTimeColWidth * ReportPage.DisplayResolution), new GridLength(1, GridUnitType.Star), GridLength.Auto };
            m_DateTimeSignGrid = XPSHelper.GetGrid(gridLegths, 1, 0.0, new Thickness(m_MarginSize * 3, m_MarginSize * 3, m_MarginSize * 6, m_MarginSize * 3));
            m_BodyRoot.Children.Add(m_DateTimeSignGrid);

            m_ReportDocument.WriteBorder(bodyBorder);
        }
Пример #7
0
 /// <summary>method write marker's cells
 /// </summary>
 /// <param name="grid">"Markers" section's main grid</param>
 /// <param name="markerIndex">marker index</param>
 /// <param name="colValues">names of XML data elements with marker columns values</param>
 /// <param name="rowIndex">marker's row index</param>
 /// <param name="startColIndex">start column index of marker's columns group</param>
 private void WriteMarker(Grid grid, int markerIndex, int rowIndex, int startColIndex)
 {
     for (int colIndex = 0; colIndex < LeukemiaLymphomaReportData.MarkerColumnsCount; colIndex++)
     {
         XPSHelper.WriteTextBlockToGrid(m_ReportData.GetMarkerCellValue(markerIndex, colIndex), grid, rowIndex, startColIndex++, HorizontalAlignment.Left, VerticalAlignment.Top, null, m_FontSize);
     }
 }
Пример #8
0
        /// <summary>method write diagnosis comment
        /// </summary>
        /// <param name="commentBody">diagnosis comment body text</param>
        /// <param name="fontSize">diagnosis comment font size</param>
        /// <param name="leftMargin">diagnosis comment left margin</param>
        /// <param name="topMargin">diagnosis comment top margin</param>
        private void WriteDiagnosisComment(string commentBody, double fontSize, double leftMargin, double topMargin)
        {
            Grid grid = XPSHelper.GetGrid(XPSHelper.GetFullWidthGridColWidthArray(new double[] { 0.8 }), 1, 0, new Thickness(leftMargin, topMargin, 0, 0));

            XPSHelper.WriteTextBlockToGrid(CommentLabel, grid, 0, 0, HorizontalAlignment.Left, VerticalAlignment.Top, null, fontSize, null, FontWeights.Bold);
            XPSHelper.WriteTextBlockToGrid(commentBody, grid, 0, 1, HorizontalAlignment.Left, VerticalAlignment.Top, null, fontSize, null, null, false, true);
            m_ReportDocument.WriteRowContent(grid);
        }
        /// <summary>method write "Gross/Complete Exam" group to "Democratic History" section
        /// </summary>
        /// <param name="rowNo">base grid row number of group</param>
        private void WriteExam1Group(int rowNo)
        {
            Grid grid = XPSHelper.GetGrid(new GridLength[] { GridLength.Auto, new GridLength(1, GridUnitType.Star) }, 1);

            XPSHelper.WriteItemToGrid(grid, m_DemographicGrid, rowNo, 0, 0, 2);
            WriteCheckBox(grid, "Gross Examination Only", this.m_PlacentalPathologyData.GrossExam, 0, 0);
            WriteCheckBox(grid, "Complete Examination (Includes Gross and Microscopic)", this.m_PlacentalPathologyData.CompleteExam, 0, 1);
        }
Пример #10
0
        /// <summary>method "Result" underlined header to main box grid
        /// </summary>
        /// <param name="grid">main box grid</param>
        /// <param name="colCount">columns count in main box grid</param>
        protected void WriteResultUnderlinedHeader(Grid grid)
        {
            int       colCount = grid.ColumnDefinitions.Count;
            Border    root     = XPSHelper.WriteUnderliningToGridCell(grid, 0, 0, null, 0.5, 0, colCount);
            TextBlock title    = XPSHelper.GetTextBlock(ResultLabel, HorizontalAlignment.Left, VerticalAlignment.Top, new Thickness(m_LeftMargin + 12, 4, 0, 4), m_FontSize + 2, null, FontWeights.Bold);

            root.Child = title;
        }
        /// <summary>method write "Cytogenetics/Other Exam" group to "Democratic History" section
        /// </summary>
        /// <param name="rowNo">base grid row number of group</param>
        private void WriteExam2Group(int rowNo)
        {
            Grid grid = XPSHelper.GetGrid(new GridLength[] { GridLength.Auto, new GridLength(1, GridUnitType.Star) }, 1);

            XPSHelper.WriteItemToGrid(grid, m_DemographicGrid, rowNo, 0, 0, 2);
            WriteCheckBox(grid, "Cytogenetics", this.m_PlacentalPathologyData.Cytogenetics, 0, 0);
            WriteCheckBoxAndTextBlock(grid, "Other", this.m_PlacentalPathologyData.OtherExam, 0, 1);
        }
        /// <summary>method write "Apgar" group to "Democratic History" section
        /// </summary>
        /// <param name="rowNo">base grid row number of group</param>
        private void WriteApgarGroup(int rowNo)
        {
            Grid grid = XPSHelper.GetGrid(new double[] { 1.3, 0.9, 1.0 }, 1);

            XPSHelper.WriteItemToGrid(grid, m_DemographicGrid, rowNo, 0);
            WriteLabelAndTextBlock(grid, "Apgar 1 min", this.m_PlacentalPathologyData.Apgar1Min, 0, 0);
            WriteLabelAndTextBlock(grid, "5 min", this.m_PlacentalPathologyData.Apgar5Min, 0, 1, false);
            WriteLabelAndTextBlock(grid, "10 min", this.m_PlacentalPathologyData.Apgar10Min, 0, 2, false);
        }
        /// <summary>method write "Gravida/Para" group to "Democratic History" section
        /// </summary>
        /// <param name="rowNo">base grid row number of group</param>
        private void WriteGravidaParaGroup(int rowNo)
        {
            double col1Width = m_DemographicGridColWidth[0] * 2 / 3;
            double col2Width = m_DemographicGridColWidth[0] - col1Width;
            Grid   grid      = XPSHelper.GetGrid(new double[] { col1Width, col2Width }, 1);

            XPSHelper.WriteItemToGrid(grid, m_DemographicGrid, rowNo, 0);
            WriteLabelAndTextBlock(grid, "Gravida", this.m_PlacentalPathologyData.Gravida, 0, 0);
            WriteLabelAndTextBlock(grid, "Para", this.m_PlacentalPathologyData.Para, 0, 1);
        }
        /// <summary>method write block with check box and text block to document grid
        /// </summary>
        /// <param name="baseGrid">block's parent grid</param>
        /// <param name="labelText">label of check box</param>
        /// <param name="stringXMLElementName">XML element name with text block value</param>
        /// <param name="rowNo">parent grid row number of block</param>
        /// <param name="colNo">parent grid column number of block</param>
        private void WriteCheckBoxAndTextBlock(Grid baseGrid, string labelText, string textValue, int rowNo, int colNo)
        {
            //string textValue = (stringXMLElementName != string.Empty ? m_PlacentalPathologyData.Element(stringXMLElementName).Value : string.Empty);
            Grid grid = XPSHelper.GetGrid(new GridLength[] { GridLength.Auto, new GridLength(1, GridUnitType.Star) }, 1, 0.0, new Thickness(0, 0, m_MarginSize * 4, 0));

            XPSHelper.WriteItemToGrid(grid, baseGrid, rowNo, colNo);
            XPSHelper.WriteCheckBox(labelText, (textValue != string.Empty), grid, 0, 0, HorizontalAlignment.Left, VerticalAlignment.Top, new Thickness(m_MarginSize, m_MarginSize * 2, m_MarginSize, m_MarginSize), m_FontSize, null, FontWeights.Normal);
            XPSHelper.WriteTextBlockToGrid(textValue, grid, 0, 1, HorizontalAlignment.Stretch, VerticalAlignment.Top, new Thickness(m_MarginSize, m_MarginSize * 2, m_MarginSize, 0), m_FontSize);
            XPSHelper.WriteUnderliningToGridCell(grid, 0, 1);
        }
Пример #15
0
 /// <summary>method write "Disclaimer" section to document grid
 /// </summary>
 /// <param name="disclaimerIndex">index of disclaimer text in disclaimer text array</param>
 protected void WriteDisclaimerSection(int disclaimerIndex)
 {
     if (disclaimerIndex > -1)
     {
         TextBlock text = XPSHelper.GetTextBlock(YpReportDataBase.DisclaimerText[disclaimerIndex], HorizontalAlignment.Left, VerticalAlignment.Top, new Thickness(m_LeftMargin, 2.0 * m_TopMargin, 0, 0), m_FontSize - 5, null, null, false, true);
         text.Width     = ReportPage.ReportWidth * ReportPage.DisplayResolution - 2 * m_LeftMargin;
         text.FontStyle = FontStyles.Italic;
         m_ReportDocument.WriteRowContent(text);
     }
 }
Пример #16
0
 /// <summary>method write report's main box reference table to document grid
 /// </summary>
 private void WriteReferenceTableSectionToMainBox(Grid grid, double fontSize, Thickness rowMargin)
 {
     XPSHelper.WriteTextBlockToGrid(ReferenceTitle, grid, 1, 3, HorizontalAlignment.Left, VerticalAlignment.Top, new Thickness(10, 15, 0, 0), fontSize, null, FontWeights.Bold, false, false, 0, 3);
     for (int i = 0; i < ReferenceRows.GetLength(0); i++)
     {
         for (int j = 0; j < ReferenceRows.GetLength(1); j++)
         {
             XPSHelper.WriteTextBlockToGrid(ReferenceRows[i, j], grid, i + 2, j + 3, HorizontalAlignment.Left, VerticalAlignment.Top, GetReferenceTableRowMargin(i, rowMargin), fontSize);
         }
     }
 }
Пример #17
0
 /// <summary>method write label/value block to second column of informational grid
 /// </summary>
 /// <param name="rowNo">row index</param>
 /// <param name="label">label text</param>
 /// <param name="value">value text</param>
 /// <param name="grid">informational grid</param>
 private void WriteLabelAndTextBlock2(Grid grid, int rowNo, string label, string value)
 {
     if (label != string.Empty)
     {
         XPSHelper.WriteTextBlockToGrid(label, grid, rowNo, 2, HorizontalAlignment.Right, VerticalAlignment.Bottom, new Thickness(0, 0, 7, 0), m_FontSize + 3);
     }
     if (value != string.Empty)
     {
         XPSHelper.WriteTextBlockToGrid(value, grid, rowNo, 3, HorizontalAlignment.Left, VerticalAlignment.Bottom, new Thickness(0, 0, 0, 1), m_FontSize + 1);
     }
 }
Пример #18
0
        /// <summary>method simple section (section with width over all page and with text wrapping) to document grid
        /// </summary>
        /// <param name="bodyText">section's body text</param>
        /// <param name="fontSize">font size</param>
        /// <param name="horMargin">horizontal (left/right) margins value, by default is equals report default left margin</param>
        /// <param name="topMargin">top margin, by default is equals 0</param>
        /// <returns>document grid row's index with this section</returns>
        protected int WriteSimpleSection(string bodyText, double fontSize = -1, double horMargin = double.MinValue, double topMargin = 0)
        {
            if (horMargin == double.MinValue)
            {
                horMargin = m_LeftMargin;
            }
            TextBlock text = XPSHelper.GetTextBlock(bodyText, HorizontalAlignment.Left, VerticalAlignment.Top, new Thickness(horMargin, topMargin, horMargin, 0), (fontSize == -1 ? m_FontSize : fontSize), null, null, false, true);

            text.Width = ReportPage.ReportWidth * ReportPage.DisplayResolution - 2.0 * horMargin;
            return(m_ReportDocument.WriteRowContent(text));
        }
Пример #19
0
        /// <summary>method write content to right column of page header
        /// </summary>
        private void WriteRightColumn(Grid grid)
        {
            const int rowIndex = 0;
            const int colIndex = 1;

            Border    root   = XPSHelper.WriteUnderliningToGridCell(grid, rowIndex, colIndex, m_RedishBrush);
            Thickness margin = new Thickness(0, 0, m_HorMargin, m_BottomMargin);
            TextBlock title  = XPSHelper.GetTextBlock(string.Empty, HorizontalAlignment.Right, VerticalAlignment.Top, margin, m_FontSize, m_RedishBrush, FontWeights.Bold);

            root.Child = title;
        }
        /// <summary>method write block with label and value to document grid
        /// </summary>
        /// <param name="baseGrid">block's parent grid</param>
        /// <param name="labelText">string value in label part of block</param>
        /// <param name="value">string value in text part of block</param>
        /// <param name="rowNo">parent grid row number of block</param>
        /// <param name="colNo">parent grid column number of block</param>
        /// <param name="addBullet">if true, then bullet added before label part of block</param>
        /// <param name="colSpan">ColSpan parameter of parent grid cell</param>
        private static void WriteLabelAndTextBlock(Grid baseGrid, string labelText, string value, int rowNo, int colNo, bool addBullet = true, int colSpan = 0)
        {
            Grid grid = XPSHelper.GetGrid(new GridLength[] { GridLength.Auto, new GridLength(1, GridUnitType.Star) }, 1);

            XPSHelper.WriteItemToGrid(grid, baseGrid, rowNo, colNo, 0, colSpan);
            string fullLabelText = string.Format("{0}{1}", (addBullet ? string.Format("{0} ", m_Bullet) : ""), labelText);

            XPSHelper.WriteTextBlockToGrid(fullLabelText, grid, 0, 0, HorizontalAlignment.Left, VerticalAlignment.Top, new Thickness(m_MarginSize, m_MarginSize + 1, m_MarginSize, m_MarginSize - 1), m_FontSize);
            XPSHelper.WriteTextBlockToGrid(value, grid, 0, 1, HorizontalAlignment.Stretch, VerticalAlignment.Top, new Thickness(m_MarginSize, m_MarginSize, m_MarginSize, m_MarginSize), m_FontSize);
            XPSHelper.WriteUnderliningToGridCell(grid, 0, 1);
        }
Пример #21
0
        /// <summary>method initilize "Markers" section's main grid layout
        /// </summary>
        /// <param name="colWidth">array of column's lenght in inches</param>
        /// <returns>"Markers" section's main grid</returns>
        private Grid SetupMarkersGrid(double[] colWidth)
        {
            int markersCount = m_ReportData.MarkerRowsCount;
            int rowCount     = (markersCount / 2) + (markersCount % 2) + 1;

            Grid grid = XPSHelper.GetGrid(colWidth, rowCount);

            grid.Margin = new Thickness(m_LeftMargin, 0, 0, 0);

            return(grid);
        }
Пример #22
0
        /// <summary>method write report number
        /// </summary>
        /// <param name="grid">logo grid</param>
        private void WriteReportNo(Grid grid)
        {
            const int rowIndex      = 1;
            const int labelColIndex = 1;
            const int valueColIndex = 2;
            double    fontSize      = m_FontSize + 7;

            Thickness margin = new Thickness(0, 2, m_HorMargin, 0);

            XPSHelper.WriteTextBlockToGrid("Report #:", grid, rowIndex, labelColIndex, HorizontalAlignment.Right, VerticalAlignment.Top, margin, fontSize);
            XPSHelper.WriteTextBlockToGrid(m_Data.GetStringValue(ReportHeaderData.ReportNo), grid, rowIndex, valueColIndex, HorizontalAlignment.Right, VerticalAlignment.Top, margin, fontSize);
        }
Пример #23
0
        /// <summary>method write "Ancillary Studies" section's table row
        /// </summary>
        /// <param name="grid">"Ancillary Studies" section's table grid</param>
        /// <param name="rowIndex">"Ancillary Studies" section's table row index</param>
        private void WriteAncillaryStudyRow(Grid grid, int rowIndex)
        {
            int colCount     = AncillaryStudiesColTitles.GetLength(0);
            int baseRowIndex = rowIndex * 3;

            XPSHelper.WriteTextBlockToGrid(m_ReportData.GetAncillaryStudyTitle(rowIndex), grid, baseRowIndex, 0, HorizontalAlignment.Left, VerticalAlignment.Top, new Thickness(17, 7, 0, 0), m_FontSize + 1, null, FontWeights.Bold, false, false, 0, grid.ColumnDefinitions.Count);
            for (int i = 0; i < colCount; i++)
            {
                XPSHelper.WriteTextBlockToGrid(AncillaryStudiesColTitles[i], grid, baseRowIndex + 1, i + 1, HorizontalAlignment.Left, VerticalAlignment.Top, new Thickness(0, -2, 0, 0), m_FontSize + 1, null, FontWeights.Bold, true);
                XPSHelper.WriteTextBlockToGrid(m_ReportData.GetAncillaryStudyCellValue(rowIndex, i), grid, baseRowIndex + 2, i + 1, HorizontalAlignment.Left, VerticalAlignment.Top, new Thickness(0, -2, 0, 2), m_FontSize);
            }
        }
Пример #24
0
        /// <summary>>method write section row (label/value block) to parent grid
        /// </summary>
        /// <param name="labelText">label text</param>
        /// <param name="valueText">value text</param>
        /// <param name="parentGrid">parent grid</param>
        /// <param name="rowNo">TextBlock cell row number in parent grid</param>
        /// <param name="colNo">TextBlock cell column number in parent grid</param>
        /// <param name="topMargin">top margin of "Cell Population Of Interest" section</param>
        protected static void WriteSectionRow(string labelText, string valueText, Grid parentGrid, double[] colWidth, int rowIndex, int colIndex, double topMargin = 0)
        {
            Grid grid = XPSHelper.GetGrid(colWidth, 1);

            grid.Margin = new Thickness(0, topMargin, 0, 0);

            TextBlock label = XPSHelper.WriteTextBlockToGrid(labelText, grid, 0, 0, HorizontalAlignment.Left, VerticalAlignment.Top, null, m_FontSize);

            label.FontWeight = FontWeights.Bold;
            XPSHelper.WriteTextBlockToGrid(valueText, grid, 0, 1, HorizontalAlignment.Left, VerticalAlignment.Top, null, m_FontSize);
            XPSHelper.WriteItemToGrid(grid, parentGrid, rowIndex, colIndex);
        }
Пример #25
0
        /// <summary>method write main box "Signature" section to document grid
        /// </summary>
        private int WriteMainBoxSignature(string pathologistSignature)
        {
            if (m_UsePathologistSignatureInMainBox)
            {
                string    signature = m_UsePathologistSignatureInMainBox ? (string.IsNullOrEmpty(m_PageHeaderData.GetStringValue("FinalTime")) ? " " : pathologistSignature) : string.Empty;
                TextBlock sign      = XPSHelper.GetTextBlock(signature, HorizontalAlignment.Left, VerticalAlignment.Top, new Thickness(m_SignLeftMargin, m_TopMargin, m_SignRightMargin, m_VerticalGap), m_FontSize + 2);
                m_ReportDocument.WriteRowContent(sign);
            }
            TextBlock esign = XPSHelper.GetTextBlock(m_UsePathologistSignatureInMainBox ? m_ElectronicSignatureLabelText : string.Empty, HorizontalAlignment.Left, VerticalAlignment.Top, new Thickness(m_SignLeftMargin + 20, 0, m_SignRightMargin, m_VerticalGap + m_TopMargin), m_FontSize - 2);

            return(m_ReportDocument.WriteRowContent(esign) + 1);
        }
Пример #26
0
        /// <summary>method write report footer to parent grid
        /// </summary>
        /// <param name="grid">document grid</param>
        public override void Write(Grid grid)
        {
            const double gridWidth = 7.5;
            const int    rowCount  = 3;

            XPSHelper.SetupGrid(grid, rowCount, m_ColHeaders.GetLength(0), gridWidth);
            XPSHelper.WriteTextBlockToGrid(m_Title, grid, 0, 0, HorizontalAlignment.Left, VerticalAlignment.Top, new Thickness(m_HorMargin, 0, 0, 0), m_FontSize + 1, m_RedishBrush);
            WriteColumnHeaders(grid);
            WriteAddressColumn(m_BillingsRows, grid, 0);
            WriteAddressColumn(m_CodyRows, grid, 1);
            WriteSiteColumn(grid);
        }
Пример #27
0
        /// <summary>method initilize "Cell Distribution/Blast Header" section's main grid layout
        /// </summary>
        /// <param name="colWidth">array of column's lenght in inches</param>
        /// <returns>"Markers" section's main grid</returns>
        private static Grid SetupCellDistributionBlastHeaderGrid(double[] colWidth)
        {
            int cellDistrRowCount   = LeukemiaLymphomaReportData.CellNames.Length;
            int reportBlastRowCount = LeukemiaLymphomaReportData.BlastNames.Length;
            int rowCount            = Math.Max(cellDistrRowCount, reportBlastRowCount) + 1;

            Grid grid = XPSHelper.GetGrid(colWidth, rowCount);

            grid.Margin = new Thickness(m_LeftMargin, 0, 0, 0);

            return(grid);
        }
Пример #28
0
        /// <summary>method write column header to document grid
        /// </summary>
        /// <param name="grid">document grid</param>
        /// <param name="text">column header's text</param>
        /// <param name="colIndex">column index</param>
        /// <param name="fontSize">header's text font size</param>
        /// <param name="colAlign">header's horizontal alignment</param>
        private void WriteColumnHeader(Grid grid, string text, int colIndex, double fontSize, HorizontalAlignment horAlign)
        {
            const int topMargin = 0;
            const int rowIndex  = 1;

            Border     border     = XPSHelper.WriteUnderliningToGridCell(grid, rowIndex, colIndex, m_RedishBrush);
            Thickness  margin     = new Thickness(horAlign == HorizontalAlignment.Left ? m_HorMargin : 0, topMargin, horAlign == HorizontalAlignment.Right ? m_HorMargin : 0, 0);
            FontWeight fontWeight = (colIndex == 2 ? FontWeights.Normal : FontWeights.Bold);
            TextBlock  colHeader  = XPSHelper.GetTextBlock(text, horAlign, VerticalAlignment.Top, margin, fontSize, m_RedishBrush, fontWeight);

            border.Child = colHeader;
        }
Пример #29
0
        /// <summary>method write content to left column of page header
        /// </summary>
        private void WriteLeftColumn(Grid grid)
        {
            const int rowIndex = 0;
            const int colIndex = 0;

            Border    root   = XPSHelper.WriteUnderliningToGridCell(grid, rowIndex, colIndex, m_RedishBrush);
            Thickness margin = new Thickness(m_HorMargin, 0, 0, m_BottomMargin);
            string    text   = string.Format("{0}, {1}", m_Data.GetPatientDisplayName(), m_Data.GetStringValue(ReportHeaderData.ReportNo));
            TextBlock title  = XPSHelper.GetTextBlock(text, HorizontalAlignment.Left, VerticalAlignment.Top, margin, m_FontSize, m_RedishBrush, FontWeights.Bold);

            root.Child = title;
        }
Пример #30
0
        private Grid GetSecondLineGrid(XElement accessionOrderElement, XElement panelSetElement)
        {
            Grid result = new Grid();

            result.Width = GridWidth;

            ColumnDefinition colPhysicianClientDisplay = new ColumnDefinition();

            colPhysicianClientDisplay.Width = GridLength.Auto;
            result.ColumnDefinitions.Add(colPhysicianClientDisplay);

            string physicianName          = XMLHelper.GetString(accessionOrderElement, "PhysicianName");
            string clientName             = XMLHelper.GetString(accessionOrderElement, "ClientName");
            string physicianClientDisplay = physicianName + " - " + clientName;

            TextBlock textBlockPhysicianClient = XPSHelper.GetTextBlock(physicianClientDisplay, HorizontalAlignment.Left, VerticalAlignment.Top, new Thickness(MarginSize * 3, MarginSize, MarginSize * 3, MarginSize));

            Grid.SetColumn(textBlockPhysicianClient, 0);
            Grid.SetRow(textBlockPhysicianClient, 0);
            result.Children.Add(textBlockPhysicianClient);

            string patientType      = XMLHelper.GetString(accessionOrderElement, "PatientType");
            string primaryInsurance = XMLHelper.GetString(accessionOrderElement, "PrimaryInsurance");

            StringBuilder patientTypeString = new StringBuilder();

            if (patientType != "Not Selected")
            {
                patientTypeString.Append(patientType);
            }
            if (primaryInsurance != "Not Selected")
            {
                if (patientTypeString.Length != 0)
                {
                    patientTypeString.Append(" ");
                }
                patientTypeString.Append(primaryInsurance);
            }

            ColumnDefinition colPatientType = new ColumnDefinition();

            colPhysicianClientDisplay.Width = GridLength.Auto;
            result.ColumnDefinitions.Add(colPatientType);

            TextBlock textBlockPatientType = XPSHelper.GetTextBlock(patientTypeString.ToString(), HorizontalAlignment.Right, VerticalAlignment.Top, new Thickness(MarginSize * 3, MarginSize, MarginSize * 3, MarginSize));

            Grid.SetColumn(textBlockPatientType, 2);
            Grid.SetRow(textBlockPatientType, 0);
            result.Children.Add(textBlockPatientType);

            return(result);
        }