public static void ExportToPdf(this Report report, string path) { using (PdfSurface pdfSurface = new PdfSurface( path, report.WidthWithMargins, report.HeightWithMargins)) { Cairo.Context cr = new Cairo.Context(pdfSurface); cr.Translate(report.Margin.Left, report.Margin.Top); ReportRenderer renderer = new ReportRenderer() { Context = cr }; renderer.RegisterRenderer(typeof(TextBlock), new TextBlockRenderer()); renderer.RegisterRenderer(typeof(Line), new LineRenderer()); renderer.RegisterRenderer(typeof(Image), new ImageRenderer() { PixbufRepository = new PixbufRepository(report.ResourceRepository) }); SectionRenderer sr = new SectionRenderer(); renderer.RegisterRenderer(typeof(ReportHeaderSection), sr); renderer.RegisterRenderer(typeof(ReportFooterSection), sr); renderer.RegisterRenderer(typeof(DetailSection), sr); renderer.RegisterRenderer(typeof(PageHeaderSection), sr); renderer.RegisterRenderer(typeof(PageFooterSection), sr); MonoReports.Model.Engine.ReportEngine engine = new MonoReports.Model.Engine.ReportEngine(report, renderer); engine.Process(); for (int i = 0; i < report.Pages.Count; ++i) { renderer.RenderPage(report.Pages [i]); cr.ShowPage(); } pdfSurface.Finish(); (cr as IDisposable).Dispose(); } }
private static MvcHtmlString RegisterResource(HttpContextBase httpContext, string resourcePath, ResourceType resourceType, string sectionName, bool throwException) { throwException = throwException && httpContext.CurrentHandler != null; var registerName = string.Empty; if (resourceType == ResourceType.Js) { registerName = ResourceHelper.JsRegisterName; } else if (resourceType == ResourceType.Css) { registerName = ResourceHelper.CssRegisterName; } var register = new ResourceRegister(registerName, httpContext); MvcHtmlString result = MvcHtmlString.Empty; // No section name renders the script inline if it hasn't been rendered if (string.IsNullOrEmpty(sectionName) || !SectionRenderer.IsAvailable(httpContext.Handler.GetPageHandler(), sectionName)) { if (!register.IsRegistered(resourcePath, sectionName: null)) { result = MvcHtmlString.Create(ResourceHelper.BuildSingleResourceMarkup(resourcePath, resourceType)); } } // Register the resource even if it had to be rendered inline (avoid repetitions). register.Register(resourcePath, sectionName, throwException); return(result); }
private static SectionRenderer GetSection(string section, bool create = false) { Dictionary<string, SectionRenderer> sections; lock (globalSections) { HttpContext httpContext = HttpContext.Current; if (!globalSections.TryGetValue(httpContext, out sections)) { sections = new Dictionary<string, SectionRenderer>(); globalSections.Add(httpContext, sections); httpContext.DisposeOnPipelineCompleted(new RemoveContext(httpContext)); } } if (string.IsNullOrEmpty(section)) section = string.Empty; SectionRenderer sectionObj; if (!sections.TryGetValue(section, out sectionObj)) if (create) { sectionObj = new SectionRenderer(); sections.Add(section, sectionObj); } else sectionObj = null; return sectionObj; }
public void Init(ChunkManager chunk, int y) { Y = y; _chunk = chunk; _sectionRenderer = new SectionRenderer(this); MeshRenderer = GetComponent <MeshRenderer>(); }
public static System.Web.Mvc.MvcHtmlString Section(this HtmlHelper helper, string name) { if (helper.ViewContext.HttpContext != null) { SectionRenderer.MarkAvailability(helper.ViewContext.HttpContext.Handler.GetPageHandler(), name); } return(new System.Web.Mvc.MvcHtmlString(LayoutsHelpers.SectionHtml.Arrange(name))); }
private static MvcHtmlString RegisterResource(HttpContextBase httpContext, string resourcePath, ResourceType resourceType, string sectionName, bool throwException, List <KeyValuePair <string, string> > attributes = null) { throwException = throwException && httpContext.CurrentHandler != null; var registerName = string.Empty; if (resourceType == ResourceType.Js) { registerName = ResourceHelper.JsRegisterName; } else if (resourceType == ResourceType.Css) { registerName = ResourceHelper.CssRegisterName; } var register = new ResourceRegister(registerName, httpContext); MvcHtmlString result = MvcHtmlString.Empty; if (!string.IsNullOrWhiteSpace(sectionName)) { var pageHandler = httpContext.Handler.GetPageHandler(); if (pageHandler != null && pageHandler.Master is MvcMasterPage) { if (!throwException && !SectionRenderer.IsAvailable(pageHandler, sectionName)) { sectionName = null; } } else { if (!SectionRenderer.IsAvailable(pageHandler, sectionName)) { sectionName = null; } } } else { sectionName = null; } // No section name renders the script inline if it hasn't been rendered if (sectionName == null || ResourceHelper.RenderScriptSection) { if (!register.IsRegistered(resourcePath)) { result = MvcHtmlString.Create(ResourceHelper.BuildSingleResourceMarkup(resourcePath, resourceType, sectionName, attributes)); } } // Register the resource even if it had to be rendered inline (avoid repetitions). register.Register(resourcePath, sectionName, throwException, attributes); return(result); }
/// <summary> /// Registers a client resource. A return value indicates whether the registration succeeded. /// </summary> /// <param name="resourceKey">The attributes associated with the resource.</param> /// <param name="sectionName">The section name in which the resource should be rendered.</param> /// <param name="throwException">The section name in which the resource should be rendered.</param> /// <returns> /// <value>true</value> if s was registered successfully; otherwise, <value>false</value>. /// </returns> public bool Register(string resourceKey, string sectionName = null, bool throwException = false) { if (sectionName != null && !ResourceHelper.RenderScriptSection) { var page = this.Context.Handler.GetPageHandler(); if (throwException && page != null && (page.Master is MvcMasterPage) && !SectionRenderer.IsAvailable(page, sectionName)) { throw new ArgumentException("A section with name \"{0}\" could not be found.".Arrange(sectionName), sectionName); } else if (page == null) { sectionName = null; } } if (string.IsNullOrEmpty(sectionName)) { sectionName = ResourceRegister.DefaultSectionNameKey; } bool successfullyRegistered = true; if (this.Container.ContainsKey(sectionName)) { if (this.Container[sectionName].Contains(resourceKey)) { successfullyRegistered = false; } else { this.Container[sectionName].Add(resourceKey); } } else { this.Container.Add(sectionName, new List <string>() { resourceKey }); } return(successfullyRegistered); }
public BedRenderer(SectionRenderer renderer) : base(renderer) { }
public ARenderer(SectionRenderer renderer) { Renderer = renderer; LightingHelper = renderer.LightingHelper; }
public FluidRenderer(SectionRenderer renderer) : base(renderer) { }
public GrassRenderer(SectionRenderer renderer) : base(renderer) { }
public RailRenderer(SectionRenderer renderer) : base(renderer) { }
public SaplingRenderer(SectionRenderer renderer) : base(renderer) { }
public BlockRenderer(SectionRenderer renderer) : base(renderer) { }
public MonoreportsDesignerControl() { Build(); dpi = Gdk.Screen.Default.Resolution; Report startReport = new Report() { DataScript = @" datasource = new [] { new { Name=""Alfred"", Surname = ""Tarski"", Age = ""82"" }, new { Name=""Saul"", Surname = ""Kripke"", Age = ""70"" }, new { Name=""Gotlob"", Surname = ""Frege"", Age = ""85"" }, new { Name=""Kurt"", Surname = ""Gödel"", Age = ""72"" }, }; parameters.Add(""Title"",new { Title = ""The Logicans"", SubTitle = ""...and philosophers...""}); " }; string template = @" using System; using System.Collections.Generic; {0} public sealed class GenerateDataSource {{ public object Generate() {{ object datasource = null; Dictionary<string,object> parameters = new Dictionary<string,object>(); {1} return new object[] {{datasource,parameters}}; }} }} "; compilerService = new CompilerService(template); workspaceService = new WorkspaceService(this, maindesignview1.DesignDrawingArea, maindesignview1.PreviewDrawingArea, mainPropertygrid, StatusBarLabel); designService = new DesignService(workspaceService, compilerService, startReport); toolBoxService = new ToolBoxService(); designService.ToolBoxService = toolBoxService; maindesignview1.DesignService = designService; maindesignview1.WorkSpaceService = workspaceService; maindesignview1.Compiler = compilerService; var reportRenderer = new ReportRenderer(); reportRenderer.RegisterRenderer(typeof(Controls.TextBlock), new TextBlockRenderer() { DPI = dpi }); reportRenderer.RegisterRenderer(typeof(Controls.Line), new LineRenderer() { DPI = dpi }); reportRenderer.RegisterRenderer(typeof(MonoReports.Model.Controls.Image), new ImageRenderer() { PixbufRepository = designService.PixbufRepository, DPI = dpi }); SectionRenderer sr = new SectionRenderer() { DPI = dpi }; reportRenderer.RegisterRenderer(typeof(Controls.ReportHeaderSection), sr); reportRenderer.RegisterRenderer(typeof(Controls.ReportFooterSection), sr); reportRenderer.RegisterRenderer(typeof(Controls.DetailSection), sr); reportRenderer.RegisterRenderer(typeof(Controls.PageHeaderSection), sr); reportRenderer.RegisterRenderer(typeof(Controls.PageFooterSection), sr); maindesignview1.ReportRenderer = reportRenderer; workspaceService.InvalidateDesignArea(); reportExplorer.DesignService = designService; reportExplorer.Workspace = workspaceService; toolBoxService.AddTool(new ZoomTool(designService)); toolBoxService.AddTool(new LineTool(designService)); toolBoxService.AddTool(new LineToolV(designService)); toolBoxService.AddTool(new LineToolH(designService)); toolBoxService.AddTool(new TextBlockTool(designService)); toolBoxService.AddTool(new SubreportTool(designService)); toolBoxService.AddTool(new SectionTool(designService)); toolBoxService.AddTool(new ImageTool(designService)); toolBoxService.AddTool(new RectTool(designService)); toolBoxService.BuildToolBar(mainToolbar); ToolBarButton exportPdfToolButton = new ToolBarButton("pdf.png", "exportPdf", "export to pdf"); exportPdfToolButton.Clicked += delegate(object sender, EventArgs e) { designService.ExportToPdf(); }; mainToolbar.Insert(exportPdfToolButton, 7); mainPropertygrid.LoadMonoreportsExtensions(); }