From a6e86a9505be55e98146fc6e1e8f92a6f6d1a4f7 Mon Sep 17 00:00:00 2001 From: Peter Forstmeier Date: Wed, 31 Mar 2010 17:55:40 +0000 Subject: [PATCH] EventLog Report git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@5660 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- .../SampleReports/Customized/EventLog.srd | 10 +- .../src/SharpReportSamples/MainForm.cs | 139 +++++++++++------- .../Project/BaseItems/BaseRowItem.cs | 6 +- .../ExportColumns/BaseExportColumn.cs | 2 + .../Project/Printing/Graphics/BaseLine.cs | 4 + .../Project/Printing/Graphics/Border.cs | 4 + 6 files changed, 108 insertions(+), 57 deletions(-) diff --git a/samples/SharpDevelopReports/SampleReports/Customized/EventLog.srd b/samples/SharpDevelopReports/SampleReports/Customized/EventLog.srd index a2730cf213..8a152ea70e 100644 --- a/samples/SharpDevelopReports/SampleReports/Customized/EventLog.srd +++ b/samples/SharpDevelopReports/SampleReports/Customized/EventLog.srd @@ -36,18 +36,20 @@ File - 12, 26 + 83, 13 BaseImageItem2 - 75, 23 + 568, 36 False White + ..\Logos\Bannerbeige2.gif + D:\SharpDevelop3.0_WorkingCopy\SharpDevelop\samples\SharpDevelopReports\SampleReports\Logos\Bannerbeige2.gif Silver False None System - Eventlog - 83, 26 + 83, 55 TopCenter True False @@ -134,7 +136,7 @@ 697, 30 White True - ControlText + Black 50, 147 diff --git a/samples/SharpDevelopReports/src/SharpReportSamples/MainForm.cs b/samples/SharpDevelopReports/src/SharpReportSamples/MainForm.cs index f1ef228ba9..4da0a278c5 100644 --- a/samples/SharpDevelopReports/src/SharpReportSamples/MainForm.cs +++ b/samples/SharpDevelopReports/src/SharpReportSamples/MainForm.cs @@ -15,6 +15,7 @@ using System.IO; using System.Windows.Forms; using ICSharpCode.Reports.Core; +using ICSharpCode.Reports.Core.Exporter.ExportRenderer; namespace SharpReportSamples { @@ -29,7 +30,7 @@ namespace SharpReportSamples private TreeNode iListNode; private TreeNode providerIndependent; private TreeNode customized; - + private ImageList imageList; public MainForm() { @@ -40,14 +41,6 @@ namespace SharpReportSamples InitTree(); UpdateStatusbar (Application.StartupPath); this.previewControl1.Messages = new ReportViewerMessagesProvider(); - - /* - EventLog ev = new EventLog(); - ev.Log = "System"; - ev.MachineName = "."; // Lokale Maschine - ArrayList ar = new ArrayList(); - ar.AddRange(ev.Entries); - */ } @@ -57,10 +50,9 @@ namespace SharpReportSamples string startupPath = Application.StartupPath; string samplesDir = @"SharpDevelopReports\"; - int y = startupPath.IndexOf(samplesDir); - string startPath = startupPath.Substring(0,y + samplesDir.Length) + @"SampleReports\"; + int i = startupPath.IndexOf(samplesDir); + string startPath = startupPath.Substring(0,i + samplesDir.Length) + @"SampleReports\"; - //D:\Reporting3.0_branches\SharpDevelop\samples\SharpDevelopReports\SampleReports string pathToFormSheet = startPath + formSheetDir; @@ -75,9 +67,9 @@ namespace SharpReportSamples AddNodesToTree (this.iListNode,startPath + @"IList\" ); AddNodesToTree (this.providerIndependent,startPath + @"ProviderIndependent\" ); AddNodesToTree (this.customized,startPath + @"Customized\" ); - } + private void AddNodesToTree (TreeNode parent,string path) { if (!Directory.Exists(path)) { @@ -109,7 +101,8 @@ namespace SharpReportSamples } else if (s == "NoConnectionReport") { this.RunProviderIndependent(reportName); } else if (s =="EventLog") - this.RunEventlogger(reportName); + this.RunEventLogger(reportName); +// this.RunEventLogger_Pdf(reportName); else { ReportParameters parameters = ReportEngine.LoadParameters(reportName); @@ -182,11 +175,45 @@ namespace SharpReportSamples - ImageList imageList; - private void RunEventlogger (string fileName) + + + private void RunEventLogger_Pdf (string fileName) + { + EventLogger eLog = new EventLogger(fileName); + ReportModel model = ReportEngine.LoadReportModel(fileName); + IReportCreator creator = ReportEngine.CreatePageBuilder(model,eLog.EventLog,null); + creator.BuildExportList(); + using (PdfRenderer pdfRenderer = PdfRenderer.CreateInstance(creator,SelectFilename(),true)) + { + pdfRenderer.Start(); + pdfRenderer.RenderOutput(); + pdfRenderer.End(); + } + } + + private string SelectFilename() + { + using (SaveFileDialog saveDialog = new SaveFileDialog()){ + + saveDialog.FileName = "_pdf"; + saveDialog.DefaultExt = "PDF"; + saveDialog.ValidateNames = true; + if(saveDialog.ShowDialog() == DialogResult.OK){ + return saveDialog.FileName; + } else { + return String.Empty; + } + } + } + + + private void RunEventLogger (string fileName) { + Cursor.Current = Cursors.WaitCursor; EventLogger eLog = new EventLogger(fileName); + Cursor.Current = Cursors.Default; + this.imageList = eLog.Images; ReportModel model = ReportEngine.LoadReportModel(fileName); @@ -204,51 +231,76 @@ namespace SharpReportSamples //Handles SectionRenderEvent + int hour = 0; - private void PushPrinting (object sender, SectionRenderEventArgs e ) + private void PushPrinting (object sender, SectionRenderEventArgs e ) { string sectionName = e.Section.Name; if (sectionName == ReportSectionNames.ReportHeader) { - Console.WriteLine("xx " + ReportSectionNames.ReportHeader); + Console.WriteLine("PushPrinting :" + ReportSectionNames.ReportHeader); } else if (sectionName == ReportSectionNames.ReportPageHeader) { - Console.WriteLine("xx " +ReportSectionNames .ReportPageHeader); + Console.WriteLine("PushPrinting :" +ReportSectionNames .ReportPageHeader); } else if (sectionName == ReportSectionNames.ReportDetail){ + Console.WriteLine("PushPrinting :" + ReportSectionNames.ReportDetail); + // TimeWritten + BaseDataItem time = e.Section.FindItem("BaseDataItem1") as BaseDataItem; + if (time != null) { + DateTime dateTime = Convert.ToDateTime(time.DBValue); + + int newhour = dateTime.Hour; + if (hour != newhour) { + hour = newhour; + e.Section.Items[0].DrawBorder = true; + e.Section.Items[0].FrameColor = Color.Black; +// e.Section.Items[0].BackColor = Color.LightGray; + time.DBValue = dateTime.Hour.ToString(); + time.ContentAlignment = ContentAlignment.MiddleLeft; + + } else { + time.DrawBorder = false; + e.Section.Items[0].FrameColor = Color.White; +// e.Section.Items[0].BackColor = Color.White; + time.DBValue = dateTime.Minute.ToString() + ":" + dateTime.Second.ToString(); + time.ContentAlignment = ContentAlignment.MiddleRight; + + } + } - BaseDataItem item = e.Section.FindItem("EntryType") as BaseDataItem; - if (item != null) { - string s = item.DBValue; - Image im = null; - if (s == "Information") { - im = this.imageList.Images[1]; - } else if (s == "Warning") { - im = this.imageList.Images[2]; - } else if (s == "Error") + // Image + BaseDataItem dataItem = e.Section.FindItem("EntryType") as BaseDataItem; + if (dataItem != null) { + string str = dataItem.DBValue; + Image image = null; + if (str == "Information") { + image = this.imageList.Images[1]; + } else if (str == "Warning") { + image = this.imageList.Images[2]; + } else if (str == "Error") { - im = this.imageList.Images[0]; + image = this.imageList.Images[0]; } - if (im != null) + if (image != null) { - BaseImageItem bi = e.Section.FindItem("BaseImageItem1") as BaseImageItem; - if (bi != null) { - bi.Image = im; + BaseImageItem imageItem = e.Section.FindItem("BaseImageItem1") as BaseImageItem; + if (imageItem != null) { + imageItem.Image = image; } - } } } else if (sectionName == ReportSectionNames.ReportPageFooter){ - Console.WriteLine("xx " + ReportSectionNames.ReportPageFooter); + Console.WriteLine("PushPrinting :" + ReportSectionNames.ReportPageFooter); } else if (sectionName == ReportSectionNames.ReportFooter){ - Console.WriteLine("xx " + ReportSectionNames.ReportFooter); + Console.WriteLine("PushPrinting :" + ReportSectionNames.ReportFooter); } else{ @@ -294,21 +346,6 @@ namespace SharpReportSamples } } - - private string SelectFilename() - { - using (SaveFileDialog saveDialog = new SaveFileDialog()){ - - saveDialog.FileName = "_pdf"; - saveDialog.DefaultExt = "PDF"; - saveDialog.ValidateNames = true; - if(saveDialog.ShowDialog() == DialogResult.OK){ - return saveDialog.FileName; - } else { - return String.Empty; - } - } - } */ } } diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseRowItem.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseRowItem.cs index a63717b27d..53745a6ef1 100644 --- a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseRowItem.cs +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseRowItem.cs @@ -74,8 +74,10 @@ namespace ICSharpCode.Reports.Core{ if (this.BackColor != GlobalValues.DefaultBackColor) { base.FillBackground(rpea.PrintPageEventArgs.Graphics); } - - Border b = new Border(new BaseLine (this.ForeColor,System.Drawing.Drawing2D.DashStyle.Solid,1)); + + + Border b = new Border(new BaseLine (this.FrameColor,System.Drawing.Drawing2D.DashStyle.Solid,1)); + base.DrawFrame (rpea.PrintPageEventArgs.Graphics,b); this.Location = new Point(base.DrawingRectangle.Left,this.Location.Y); diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/BaseExportColumn.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/BaseExportColumn.cs index 031a335616..901de01856 100644 --- a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/BaseExportColumn.cs +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/BaseExportColumn.cs @@ -137,6 +137,8 @@ namespace ICSharpCode.Reports.Core.Exporter private void DrawFrame (Graphics graphics) { + System.Diagnostics.Trace.WriteLine("draw border {0}",this.styleDecorator.DrawBorder.ToString()); + System.Console.WriteLine("draw border {0}",this.styleDecorator.DrawBorder); if (this.styleDecorator.DrawBorder) { Border b = this.CreateDefaultBorder(); b.DrawBorder(graphics,this.styleDecorator.DisplayRectangle); diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Printing/Graphics/BaseLine.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Printing/Graphics/BaseLine.cs index 1cef3defb0..698b84d084 100644 --- a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Printing/Graphics/BaseLine.cs +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Printing/Graphics/BaseLine.cs @@ -40,6 +40,10 @@ namespace ICSharpCode.Reports.Core public BaseLine(Color color, DashStyle dashStyle,float thickness, LineCap startLineCap, LineCap endLineCap, DashCap dashLineCap) { + if (color == Color.White) { + this.color = Color.Black; + } + this.color = color; this.dashStyle = dashStyle; this.thickness = thickness; diff --git a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Printing/Graphics/Border.cs b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Printing/Graphics/Border.cs index 2ae53e20f8..c7864bde0c 100644 --- a/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Printing/Graphics/Border.cs +++ b/src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Printing/Graphics/Border.cs @@ -34,6 +34,7 @@ namespace ICSharpCode.Reports.Core { this.top = baseLine; this.right = baseLine; this.bottom = baseLine; + System.Console.WriteLine("baseline color {0}",baseline.Color); } @@ -41,7 +42,10 @@ namespace ICSharpCode.Reports.Core { if (graphics == null) { throw new ArgumentNullException("graphics"); } + System.Console.WriteLine("drawBorder color {0}",baseline.Color); + using (Pen p = baseline.CreatePen(baseline.Thickness)) { + Console.WriteLine("pen {0}",p.Color); Rectangle r = System.Drawing.Rectangle.Inflate(rectangle,1,1); graphics.DrawRectangle (p,rectangle); }