private void Form1_Load(object sender, EventArgs e) { string s = "XtraPrinting Library"; BrickGraphics brickGraph = printingSystem1.Graph; VisualBrick visBrick = new VisualBrick(); // Specify the style BrickStyle bStyle = new BrickStyle(BorderSide.Bottom, 2, Color.Gold, Color.Navy, Color.DodgerBlue, new Font("Arial", 14, FontStyle.Bold | FontStyle.Italic), new BrickStringFormat(StringAlignment.Far, StringAlignment.Near)); // Start the report generation. printingSystem1.Begin(); // Create bricks. brickGraph.Modifier = BrickModifier.Detail; visBrick = brickGraph.DrawString(s, new RectangleF(0, 0, 250, 40)); visBrick = brickGraph.DrawString(s, new RectangleF(0, 40, 250, 40)); // Apply the style to the current brick. visBrick.Style = bStyle; // Finish the report generation. printingSystem1.End(); }
protected override VisualBrick CreateCellBrick(XRDataContainerControl control, VisualBrick parentBrick, XRDataRecord record, int fieldIndex, bool isHeader) { VisualBrick valueBrick = base.CreateCellBrick(control, parentBrick, record, fieldIndex, isHeader); float columnWidth = ((XRTreeListColumn)control.VisibleHeaders[fieldIndex]).Width; float columnPos = 0; if (fieldIndex > 0) { columnPos -= ((XRTreeListNode)record).Level * TreeList.NodeIndent; } for (int j = 0; j < fieldIndex; j++) { columnPos += ((XRTreeListColumn)control.VisibleHeaders[j]).Width; } float curColWidth = fieldIndex == 0 ? columnWidth - ((XRTreeListNode)record).Level * TreeList.NodeIndent : columnWidth; valueBrick.Style = CreateBrickStyle(control, parentBrick, valueBrick, record, fieldIndex, isHeader); float brickHeight = GetBrickHeight(valueBrick, columnWidth, isHeader); valueBrick.Rect = new RectangleF(columnPos, 0, curColWidth, brickHeight); return(valueBrick); }
static void DrawPopulationInfo(PanelBrick panel, RectangleF r, string text, double portion, double scale) { RectangleF barRect = GetBarRect(r, portion, scale); r.Height = barRect.Top - r.Top; TextBrick textBrick = new TextBrick(); textBrick.Sides = BorderSide.None; textBrick.BackColor = panel.BackColor; textBrick.Rect = r; textBrick.ForeColor = panel.Style.ForeColor; textBrick.Text = text; textBrick.Font = panel.Style.Font; textBrick.Padding = new PaddingInfo(1, 0, 0, 0); textBrick.StringFormat = panel.Style.StringFormat; panel.Bricks.Add(textBrick); VisualBrick barBrick = new VisualBrick(); barBrick.Sides = BorderSide.All; barBrick.BackColor = Color.FromArgb(232, 216, 195); barBrick.Rect = barRect; barBrick.BorderColor = Color.FromArgb(173, 148, 116); barBrick.BorderStyle = BrickBorderStyle.Inset; panel.Bricks.Add(barBrick); }
static void DrawPopulationInfo(PanelBrick panel, RectangleF r, string text, double portion, double scale) { RectangleF barRect = GetBarRect(r, portion, scale); r.Height = barRect.Top - r.Top; BrickStyle textStyle = new BrickStyle() { ForeColor = panel.Style.ForeColor, BackColor = Color.Transparent, Font = panel.Style.Font }; textStyle.ChangeAlignment(TextAlignment.BottomLeft); TextBrick textBrick = new TextBrick(textStyle); textBrick.Rect = r; textBrick.Text = text; panel.Bricks.Add(textBrick); BrickStyle barStyle = new BrickStyle() { Sides = BorderSide.All, BorderColor = Color.FromArgb(173, 148, 116), BorderStyle = BrickBorderStyle.Inset, BorderWidth = 1, BackColor = Color.FromArgb(232, 216, 195), }; VisualBrick barBrick = new VisualBrick(barStyle); barBrick.Rect = barRect; panel.Bricks.Add(barBrick); }
protected override bool AfterPrintOnPage(IList <int> indices, RectangleF brickBounds, RectangleF clipRect, Page page, int pageIndex, int pageCount, Action <Brick, RectangleF> callback) { if (!IsHeaderBrick) { RecordPrintCache headerCache = parentBrick.PrintCache.HeaderCache; VisualBrick headerBrick = headerCache.Brick; RectangleF headerBrickBounds = page.GetBrickBounds(headerBrick); RectangleF brickRect = page.GetBrickBounds(this); RecordPrintCache currentCache = parentBrick.PrintCache.GetCacheByBrick(this); int cacheIndex = parentBrick.PrintCache.RecordsCache.IndexOf(currentCache); float delta = brickRect.Top - headerBrickBounds.Bottom; RecordPrintCache prevCache = null; float prevNodeHeight = 1; if (cacheIndex > 0) { prevCache = parentBrick.PrintCache.RecordsCache[cacheIndex - 1] as RecordPrintCache; prevNodeHeight = prevCache.Brick.Rect.Height; } if (delta >= 0 && delta < prevNodeHeight) { this.AddCellPosition(XRDataCellPosition.FirstOnPage); if (prevCache != null) { ((DataRecordBrick)prevCache.Brick).AddCellPosition(XRDataCellPosition.LastOnPage); } } } return(base.AfterPrintOnPage(indices, brickBounds, clipRect, page, pageIndex, pageCount, callback)); }
protected override void CreateBricksForRecord(XRDataRecord record, PanelBrick parentBrick, bool isHeader, ref float actualHeight) { XRTreeListNode node = record as XRTreeListNode; PrintNodeEventArgs args = new PrintNodeEventArgs(node); if (!isHeader) { TreeList.OnPrintNode(args); } if (args.SuppressType == NodeSuppressType.Leave) { int nodeLevel = node.Level; TreeListNodeBrick nodeBrick = new TreeListNodeBrick(TreeList, (DataContainerBrick)parentBrick, isHeader); nodeBrick.Style = XRControlStyle.Default.Clone() as XRControlStyle; nodeBrick.Separable = false; RecordPrintCache cache = new TreeListNodePrintCache(nodeBrick, node.Level); List <VisualBrick> childBricks = new List <VisualBrick>(); List <XRFieldHeader> visibleHeaders = TreeList.VisibleHeaders; for (int i = 0; i < visibleHeaders.Count; i++) { VisualBrick valueBrick = CreateCellBrick(TreeList, parentBrick, node, i, isHeader); childBricks.Add(valueBrick); } CorrectBrickBounds(nodeBrick, childBricks, nodeLevel * TreeList.NodeIndent, actualHeight); float nodeHeight = nodeBrick.Rect.Height; VisualBrickHelper.SetBrickBounds(nodeBrick, nodeBrick.Rect, TreeList.Dpi); parentBrick.Bricks.Add(nodeBrick); actualHeight += nodeHeight; if (!IsDesignMode) { if (isHeader) { ((DataContainerBrick)parentBrick).PrintCache.HeaderCache = cache; } else { ((DataContainerBrick)parentBrick).PrintCache.RecordsCache.Add(cache); } } } if (args.SuppressType != NodeSuppressType.SuppressWithChildren) { foreach (XRTreeListNode childNode in node.Nodes) { CreateBricksForRecord(childNode, parentBrick, isHeader, ref actualHeight); } } }
// Override the XRControl.PutStateToBrick method. protected override void PutStateToBrick(VisualBrick brick, PrintingSystemBase ps) { // Call the PutStateToBrick method of the base class. base.PutStateToBrick(brick, ps); // Get the Panel brick which represents the current progress receiveBar control. PanelBrick panel = (PanelBrick)brick; panel.BackColor = Color.Transparent; int width = Convert.ToInt32(Math.Round(panel.Rect.Width)); int height = Convert.ToInt32(Math.Round(panel.Rect.Height)); Bitmap bitmap = new Bitmap(width, height); bitmap.SetResolution(300, 300); GdiGraphics gBmp = new GdiGraphics(Graphics.FromImage(bitmap), ps); //int colorWidth = Convert.ToInt32(Math.Round(width * (Position / MaxValue))); //int colorWid = Convert.ToInt32(Math.Round((MaxValue-width) * (Position / MaxValue))); gBmp.FillEllipse(new SolidBrush(panel.Style.ForeColor), new Rectangle(0, 0, width, height)); //gBmp.FillRectangle(new SolidBrush(panel.Style.ForeColor), new Rectangle(0, 0, colorWidth, height)); // gBmp.FillRectangle(new SolidBrush(panel.Style.BackColor), new Rectangle(0,colorWidth, colorWid, height)); //String drawString = Position.ToString(); //// //drawString += " %"; //Font drawFont = new Font("Frutiger LT Arabic 55", 9); //SolidBrush drawBrush = new SolidBrush(Color.Black); //StringFormat drawFormat = new StringFormat(); //drawFormat.Alignment = StringAlignment.Center; //drawFormat.LineAlignment = StringAlignment.Center; //gBmp.DrawString(drawString, drawFont, drawBrush, new Rectangle(0, 0, width, height), drawFormat); gBmp.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias; ImageBrick image = new ImageBrick(); image.Rect = new RectangleF(0, 0, panel.Rect.Width, panel.Rect.Height); image.SizeMode = ImageSizeMode.Squeeze; image.Image = bitmap; image.BackColor = Color.Transparent; image.Sides = BorderSide.None; panel.Bricks.Add(image); panel.BackColor = Color.Transparent; }
private static void CreateLinks(XtraReport report) { List <VisualBrick> linkBricks = new List <VisualBrick>(); List <VisualBrick> pageBricks = new List <VisualBrick>(); List <TargetBrick> targetBricks = new List <TargetBrick>(); foreach (Page page in report.Pages) { NestedBrickIterator iterator = new NestedBrickIterator(page.InnerBricks); while (iterator.MoveNext()) { VisualBrick brick = iterator.CurrentBrick as VisualBrick; if (brick != null && brick.Value != null) { string valueString = brick.Value.ToString(); if (valueString.StartsWith("Link_")) { linkBricks.Add(brick); } if (valueString.StartsWith("Target_")) { targetBricks.Add(new TargetBrick() { Brick = brick, Page = page }); } if (valueString.StartsWith("PageBrick_")) { pageBricks.Add(brick); } } } } foreach (VisualBrick link in linkBricks) { string key = link.Value.ToString().Substring(5); TargetBrick target = targetBricks.Find(targetBrick => (string)targetBrick.Brick.Value == String.Concat("Target_", key)); if (target != null) { target.Brick.AnchorName = key; link.Url = key; link.NavigationPair = BrickPagePair.Create(target.Brick, target.Page); VisualBrick pageBrick = pageBricks.Find(brick => (string)brick.Value == String.Concat("PageBrick_", key)); if (pageBrick != null) { pageBrick.Text = (target.Page.Index + 1).ToString(); } } } }
protected override void PutStateToBrick(VisualBrick brick, PrintingSystemBase ps) { base.PutStateToBrick(brick, ps); PanelBrick panel = (PanelBrick)brick; VisualBrick progressBar = new VisualBrick(this); progressBar.Sides = BorderSide.None; progressBar.BackColor = panel.Style.ForeColor; progressBar.Rect = new RectangleF(0, 0, panel.Rect.Width * (Position / MaxValue), panel.Rect.Height); panel.Bricks.Add(progressBar); }
public RecordPrintCache GetCacheByBrick(VisualBrick brick) { foreach (RecordPrintCache recordCache in RecordsCache) { if (recordCache.Brick == brick) { return(recordCache); } } return(null); }
protected override void PutStateToBrick(VisualBrick brick, PrintingSystemBase ps) { base.PutStateToBrick(brick, ps); float itemHeight = GetItemHeight(brick.Rect); RectangleF r = GetGraphicsRect(brick.Rect, itemHeight); double scale = GetScale(); for (int i = 0; i <= controlData.GetUpperBound(0); i++) { DrawPopulationInfo((PanelBrick)brick, r, (string)controlData[i, 0], (double)controlData[i, 1], scale); r.Offset(0, itemHeight); } }
protected override void PutStateToBrick(VisualBrick brick, PrintingSystemBase ps) { base.PutStateToBrick(brick, ps); PanelBrick panelBrick = (PanelBrick)brick; Graphics gr = Graphics.FromHwnd(new IntPtr(0)); gr.PageUnit = GraphicsUnit.Document; RectangleF rect = RectangleF.Empty; try { if (displayTitle && !string.IsNullOrEmpty(TitleText) && titleFont != null) { rect.Size = gr.MeasureString(TitleText, titleFont, (int)panelBrick.Rect.Width); TextBrick textBrick = CreateTextBrick(panelBrick); textBrick.Rect = rect; textBrick.ForeColor = TitleColor; textBrick.Font = TitleFont; textBrick.Text = TitleText; } if (!string.IsNullOrEmpty(this.Text)) { TextBrick textBrick2 = CreateTextBrick(panelBrick); textBrick2.ForeColor = this.ForeColor; textBrick2.Font = this.Font; textBrick2.Text = this.Text; if (this.contextTextAlignment == ContextTextAlignmentEnum.NextToTitleText) { float width = Math.Max(0, panelBrick.Rect.Width - rect.Width); SizeF size = gr.MeasureString(this.Text, this.Font, (int)width); textBrick2.Rect = new RectangleF(rect.Right + 10f, rect.Top, width, size.Height); } else { StringFormat sf = new StringFormat(); sf.LineAlignment = GraphicsConvertHelper.ToVertStringAlignment(this.TextAlignment); sf.Alignment = GraphicsConvertHelper.ToHorzStringAlignment(this.TextAlignment); SizeF size = gr.MeasureString(this.Text, this.Font, (int)panelBrick.Rect.Width, sf); textBrick2.Rect = new RectangleF(rect.Left, rect.Bottom + 10f, panelBrick.Rect.Width, size.Height); textBrick2.StringFormat = new BrickStringFormat(sf); } } } catch { } finally { gr.Dispose(); } }
public override void PutStateToBrick(VisualBrick brick, PrintingSystemBase ps) { if (brick is PanelBrick) { float actualHeight = 0f; brick.PrintingSystem = ps; CreateHeaders((PanelBrick)brick, ref actualHeight); CreateDetails((PanelBrick)brick, ref actualHeight); CorrectBrickBounds(brick, actualHeight); } }
void Viewer_DocumentPreviewMouseClick(DependencyObject d, DocumentPreviewMouseEventArgs e) { if (e.Brick is LabelBrick) { VisualBrick brick = e.Brick as VisualBrick; if (e.Brick.Value != null && e.Brick.Value.ToString() != String.Empty) { Sort(e.Brick.Value.ToString(), Viewer.DocumentSource as XtraReport); } else { MessageBox.Show(String.Format("Cell value: {0}", brick.TextValue.ToString())); } } }
protected virtual void CorrectBrickBounds(VisualBrick brick, float actualHeight) { RectangleF actualBounds; if (IsDesignMode) { actualBounds = ContainerControl.BoundsF; } else { actualBounds = new RectangleF(0, 0, ContainerControl.BoundsF.Width, actualHeight); } VisualBrickHelper.SetBrickBounds(brick, actualBounds, ContainerControl.Dpi); }
protected override void CreateBricksForRecord(XRDataRecord record, PanelBrick parentBrick, bool isHeader, ref float actualHeight) { PrintRecordEventArgs args = new PrintRecordEventArgs(record); if (!isHeader) { Grid.OnPrintRecord(args); } if (!args.Cancel) { GridRecordBrick recordBrick = new GridRecordBrick(Grid, (DataContainerBrick)parentBrick, isHeader); recordBrick.Style = XRControlStyle.Default.Clone() as XRControlStyle; recordBrick.Separable = false; RecordPrintCache cache = new RecordPrintCache(recordBrick); List <VisualBrick> childBricks = new List <VisualBrick>(); List <XRFieldHeader> visibleHeaders = Grid.VisibleHeaders; for (int i = 0; i < visibleHeaders.Count; i++) { VisualBrick valueBrick = CreateCellBrick(Grid, parentBrick, record, i, isHeader); childBricks.Add(valueBrick); } CorrectBrickBounds(recordBrick, childBricks, 0, actualHeight); float recordHeight = recordBrick.Rect.Height; VisualBrickHelper.SetBrickBounds(recordBrick, recordBrick.Rect, Grid.Dpi); parentBrick.Bricks.Add(recordBrick); actualHeight += recordHeight; if (!IsDesignMode) { if (isHeader) { ((DataContainerBrick)parentBrick).PrintCache.HeaderCache = cache; } else { ((DataContainerBrick)parentBrick).PrintCache.RecordsCache.Add(cache); } } } }
protected float GetBrickHeight(VisualBrick valueBrick, float columnWidth, bool isHeader) { float brickHeight; if ((!isHeader && TableControl.CellAutoHeight) || (isHeader && TableControl.HeaderAutoHeight)) { SizeF tempSize = this.MeasureTextSize(valueBrick.Text, columnWidth, TableControl.Dpi, valueBrick.Style, TableControl.RootReport.PrintingSystem); brickHeight = tempSize.Height; } else { brickHeight = GraphicsUnitConverter.Convert(isHeader ? TableControl.HeaderHeight : TableControl.CellHeight, GraphicsDpi.HundredthsOfAnInch, TableControl.Dpi); } return(brickHeight); }
protected override void PutStateToBrick(VisualBrick brick, PrintingSystemBase ps) { if (this.LineStyle != System.Drawing.Drawing2D.DashStyle.Custom) { base.PutStateToBrick(brick, ps); } else { PanelBrick panel = (PanelBrick)brick; panel.BackColor = Color.Transparent; panel.Sides = BorderSide.None; int i; if (this.LineDirection == LineDirection.Horizontal) { for (i = 0; i < Convert.ToInt32(panel.Rect.Width / (this.Dash + this.Space)); i++) { LineBrick dashBrick = new LineBrick(); dashBrick.Sides = BorderSide.None; dashBrick.BackColor = panel.Style.ForeColor; dashBrick.Rect = new RectangleF(i * (this.Dash + this.Space), panel.Rect.Height / 2 - this.LineWidth / 2, this.dash, this.LineWidth); panel.Bricks.Add(dashBrick); } LineBrick endBrick = new LineBrick(); endBrick.Sides = BorderSide.None; endBrick.BackColor = panel.Style.ForeColor; endBrick.Rect = new RectangleF(i * (this.Dash + this.Space), panel.Rect.Height / 2 - this.LineWidth / 2, panel.Rect.Width - i * (this.Dash + this.Space), this.LineWidth); panel.Bricks.Add(endBrick); } else if (this.LineDirection == LineDirection.Vertical) { for (i = 0; i < Convert.ToInt32(panel.Rect.Height / (this.Dash + this.Space)); i++) { LineBrick dashBrick = new LineBrick(); dashBrick.Sides = BorderSide.None; dashBrick.BackColor = panel.Style.ForeColor; dashBrick.Rect = new RectangleF(panel.Rect.Width / 2 - this.LineWidth / 2, i * (this.Dash + this.Space), this.LineWidth, this.Dash); panel.Bricks.Add(dashBrick); } LineBrick endBrick = new LineBrick(); endBrick.Sides = BorderSide.None; endBrick.BackColor = panel.Style.ForeColor; endBrick.Rect = new RectangleF(panel.Rect.Width / 2 - this.LineWidth / 2, i * (this.Dash + this.Space), this.LineWidth, panel.Rect.Height - i * (this.Dash + this.Space)); panel.Bricks.Add(endBrick); } } }
private static List <ReportControlDescriptor> GetControlsOnPage(XtraReport r, int pageNumber) { Dictionary <string, ReportControlDescriptor> controls = new Dictionary <string, ReportControlDescriptor>(); Page p = r.PrintingSystem.Document.Pages[pageNumber - 1]; BrickEnumerator be = p.GetEnumerator(); while (be.MoveNext()) { VisualBrick vb = be.Current as VisualBrick; ReportControlDescriptor mo = new ReportControlDescriptor(((XRControl)vb.BrickOwner).Name, ((XRControl)vb.BrickOwner).Report.ToString()); if (!controls.ContainsKey(mo.FullName)) { controls.Add(mo.FullName, mo); } } return(controls.Values.ToList()); }
protected override void WriteContentTo(XRWriteInfo writeInfo, VisualBrick brick) { if ((writeInfo != null) && (brick is SubreportBrick)) { XRDataContainerPrintCache printCache = new XRDataContainerPrintCache(this); SubreportDocumentBand controlBand = new SubreportDocumentBand(brick.Rect); ((SubreportBrick)brick).DocumentBand = controlBand; InitializeControlArea(DocumentBandKind.PageHeader, controlBand, writeInfo, printCache); InitializeControlArea(DocumentBandKind.Detail, controlBand, writeInfo, printCache); this.WriteContentToCore(writeInfo, brick); } else { base.WriteContentTo(writeInfo, brick); } }
protected override VisualBrick CreateCellBrick(XRDataContainerControl control, VisualBrick parentBrick, XRDataRecord record, int fieldIndex, bool isHeader) { VisualBrick valueBrick = base.CreateCellBrick(control, parentBrick, record, fieldIndex, isHeader); float columnWidth = ((XRGridColumn)control.VisibleHeaders[fieldIndex]).Width; float columnPos = 0; for (int j = 0; j < fieldIndex; j++) { columnPos += ((XRGridColumn)control.VisibleHeaders[j]).Width; } valueBrick.Style = CreateBrickStyle(control, parentBrick, valueBrick, record, fieldIndex, isHeader); float brickHeight = GetBrickHeight(valueBrick, columnWidth, isHeader); valueBrick.Rect = new RectangleF(columnPos, 0, columnWidth, brickHeight); return(valueBrick); }
public static void GenerateSinglePageReport(XtraReport report, bool createDocument, int additionHeight) { float sumHeight = 0; if (createDocument) { report.CreateDocument(); } XtraPageSettingsBase pageSettings = report.PrintingSystem.PageSettings; XtraPageSettingsBase.ApplyPageSettings(pageSettings, PaperKind.Custom, new Size(pageSettings.Bounds.Width, pageSettings.Bounds.Height * report.Pages.Count), pageSettings.Margins, pageSettings.MinMargins, pageSettings.Landscape); NestedBrickIterator iterator = new NestedBrickIterator(report.Pages[0].InnerBricks); while (iterator.MoveNext()) { if (iterator.CurrentBrick is VisualBrick) { VisualBrick brick = (VisualBrick)iterator.CurrentBrick; float bottomPos = brick.Rect.Bottom; if (bottomPos > sumHeight) { sumHeight = bottomPos; } } } sumHeight = GraphicsUnitConverter.Convert(sumHeight, GraphicsUnit.Document, GraphicsUnit.Inch) * 100; int totalPageHeight = pageSettings.Margins.Top + pageSettings.Margins.Bottom + Convert.ToInt32(sumHeight); totalPageHeight += additionHeight; XtraPageSettingsBase.ApplyPageSettings(pageSettings, PaperKind.Custom, new Size(pageSettings.Bounds.Width, totalPageHeight), pageSettings.Margins, pageSettings.MinMargins, pageSettings.Landscape); }
public float GetTopIndent() { float sumHeight = 0; XtraReportMain mainReport = documentViewer1.DocumentSource as XtraReportMain; NestedBrickIterator iterator = new NestedBrickIterator(mainReport.Pages[mainReport.Pages.Count - 1].InnerBricks); while (iterator.MoveNext()) { if (iterator.CurrentBrick is VisualBrick) { VisualBrick brick = (VisualBrick)iterator.CurrentBrick; float bottomPos = brick.Rect.Bottom; if (bottomPos > sumHeight) { sumHeight = bottomPos; } } } sumHeight = GraphicsUnitConverter.Convert(sumHeight, GraphicsUnit.Document, GraphicsUnit.Inch) * 100; return(sumHeight); }
protected override void PutStateToBrick(VisualBrick brick, PrintingSystemBase ps) { base.PutStateToBrick(brick, ps); UpdateData(); if (!isCompatible.HasValue) { isCompatible = CheckCompatibility(); } if (controlData.Count == 0 || !isCompatible.Value) { return; } float itemHeight = GetItemHeight(brick.Rect); RectangleF r = GetGraphicsRect(brick.Rect, itemHeight); double scale = GetScale(); for (int i = 0; i < controlData.Count; i++) { DrawPopulationInfo((PanelBrick)brick, r, controlData[i].Item1, controlData[i].Item2, scale); r.Offset(0, itemHeight); } }
// Override the XRControl.PutStateToBrick method. protected override void PutStateToBrick(VisualBrick brick, PrintingSystemBase ps) { // Call the PutStateToBrick method of the base class. base.PutStateToBrick(brick, ps); // Get the Panel brick which represents the current progress bar control. PanelBrick panel = (PanelBrick)brick; // Create a new VisualBrick to be inserted into the panel brick. VisualBrick progressBar = new VisualBrick(this); // Hide borders. progressBar.Sides = BorderSide.None; // Set the foreground color to fill the completed area of a progress bar. progressBar.BackColor = panel.Style.ForeColor; // Calculate the rectangle to be filled by the foreground color. progressBar.Rect = new RectangleF(0, 0, panel.Rect.Width * (Position / MaxValue), panel.Rect.Height); // Add the VisualBrick to the panel. panel.Bricks.Add(progressBar); }
public PrintNodeCellEventArgs(XRTreeListNode currentNode, XRTreeListColumn column, VisualBrick brick, BrickStyle style) : base(column, brick, style) { this.node = currentNode; }
protected virtual VisualBrick CreateCellBrick(XRDataContainerControl control, VisualBrick parentBrick, XRDataRecord record, int fieldIndex, bool isHeader) { VisualBrick valueBrick; int absoluteIndex = fieldIndex; if (!isHeader && !IsDesignMode) { XRFieldHeader header = control.VisibleHeaders[fieldIndex]; absoluteIndex = control.Headers.IndexOf(header); } object value = record[absoluteIndex]; if (value is bool) { valueBrick = new DataCellCheckBrick(ContainerControl); ((DataCellCheckBrick)valueBrick).Checked = Convert.ToBoolean(value); } else { valueBrick = new DataCellTextBrick(ContainerControl); valueBrick.Text = Convert.ToString(value); } valueBrick.TextValue = value; if (fieldIndex == 0) { ((IDataCellBrick)valueBrick).CellPosition |= XRDataCellPosition.LeftMost; } if (fieldIndex == control.VisibleHeaders.Count - 1) { ((IDataCellBrick)valueBrick).CellPosition |= XRDataCellPosition.RightMost; } return(valueBrick); }
protected override BrickStyle CreateBrickStyle(XRDataContainerControl control, VisualBrick parentBrick, VisualBrick valueBrick, XRDataRecord record, int fieldIndex, bool isHeader) { BrickStyle style = base.CreateBrickStyle(control, parentBrick, valueBrick, record, fieldIndex, isHeader); if (!isHeader) { PrintCellEventArgs printCellArgs = new PrintNodeCellEventArgs((XRTreeListNode)record, (XRTreeListColumn)control.VisibleHeaders[fieldIndex], valueBrick, style); TreeList.OnPrintNodeCell((PrintNodeCellEventArgs)printCellArgs); } return(style); }
public TreeListNodePrintCache(VisualBrick brick, int nodeLevel) : base(brick) { this.nodeLevel = nodeLevel; }
// Render the control in the Designer's Preview and in the document. protected override void PutStateToBrick(VisualBrick brick, PrintingSystemBase ps) { base.PutStateToBrick(brick, ps); brick.Text = this.Number.ToString(); }