public void DeleteSelectedControl() { if (selectedControl != null) { SelectedControl.ParentSection.RemoveControlView(selectedControl); SelectedControl.ControlModel = null; SelectedControl = null; WorkspaceService.InvalidateDesignArea(); } }
public void ButtonRelease(double x, double y) { EndPressPoint = new Cairo.PointD(x / Zoom, y / Zoom); IsPressed = false; IsMoving = false; if (SelectedTool != null) { SelectedTool.OnMouseUp(); } if (SelectedControl != null) { WorkspaceService.ShowInPropertyGrid(SelectedControl.ControlModel); } WorkspaceService.InvalidateDesignArea(); }
public void MouseMove(double x, double y) { MousePoint = new Cairo.PointD(x / Zoom, y / Zoom); IsMoving = true; if (SelectedTool != null) { SelectedTool.OnMouseMove(); } DeltaPoint = new PointD(-PreviousMousePoint.X + MousePoint.X, -PreviousMousePoint.Y + MousePoint.Y); if (!IsPressed) { bool isOnGripper = false; foreach (SectionView sectionView in SectionViews) { if (sectionView.GripperAbsoluteBound.ContainsPoint(MousePoint)) { sectionView.SectionGripperHighlighted = true; isOnGripper = true; } else { sectionView.SectionGripperHighlighted = false; } } if (isOnGripper) { WorkspaceService.SetCursor(Gdk.CursorType.BottomSide); } else { WorkspaceService.SetCursor(Gdk.CursorType.LeftPtr); } } WorkspaceService.InvalidateDesignArea(); PreviousMousePoint = MousePoint; }
public void ZoomChanged(double zoom) { Zoom = zoom; WorkspaceService.InvalidateDesignArea(); }
public void ButtonPress(double x, double y, int clicks) { StartPressPoint = new Cairo.PointD(x / Zoom, y / Zoom); IsPressed = true; IsMoving = false; if (!IsMoving) { PreviousMousePoint = StartPressPoint; DeltaPoint = new PointD(0, 0); for (int i = 0; i < SectionViews.Count; i++) { var sectionView = SectionViews [i]; if (sectionView.AbsoluteBound.ContainsPoint(StartPressPoint.X, StartPressPoint.Y)) { if (sectionView.HeaderAbsoluteBound.ContainsPoint(StartPressPoint.X, StartPressPoint.Y)) { SelectedControl = sectionView; SelectedTool = null; continue; } else if (sectionView.GripperAbsoluteBound.ContainsPoint(StartPressPoint.X, StartPressPoint.Y)) { SelectedControl = sectionView; } else { if (SelectedTool != null && SelectedTool.CreateMode) { SelectedTool.CreateNewControl(sectionView); SelectedTool.CreateMode = false; } else { SelectedControl = null; for (int j = 0; j < sectionView.Controls.Count; j++) { var controlView = sectionView.Controls [j]; if (controlView.ContainsPoint(StartPressPoint.X, StartPressPoint.Y)) { SelectedControl = controlView; break; } } } } } } } if (SelectedTool != null) { if (clicks == 1) { SelectedTool.OnMouseDown(); } else { SelectedTool.OnDoubleClick(); } } WorkspaceService.InvalidateDesignArea(); }
public MonoreportsDesignerControl() { Build (); MonoReports.Model.Engine.ReportEngine.EvaluatorInit(); Report startReport = newReportTemplate(); double resolutionX = ((double) Gdk.Screen.Default.Width) / ((double) Gdk.Screen.Default.WidthMm) * 25.4; compilerService = new CompilerService(ReportExtensions.ScriptTemplateForDataSourceEvaluation); pixbufRepository = new PixbufRepository () { Report = startReport }; workspaceService = new WorkspaceService (this,maindesignview1.DesignDrawingArea,maindesignview1.PreviewDrawingArea,mainPropertygrid, StatusBarLabel); var reportRenderer = new ReportRenderer(){ ResolutionX = resolutionX}; reportRenderer.RegisterRenderer(typeof(Controls.TextBlock), new TextBlockRenderer()); reportRenderer.RegisterRenderer(typeof(Controls.Line), new LineRenderer()); reportRenderer.RegisterRenderer(typeof(MonoReports.Model.Controls.Image), new ImageRenderer(){ PixbufRepository = pixbufRepository}); SectionRenderer sr = new SectionRenderer(); 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); designService = new DesignService (workspaceService,reportRenderer,pixbufRepository,compilerService, startReport); toolBoxService = new ToolBoxService (); designService.ToolBoxService = toolBoxService; maindesignview1.DesignService = designService; maindesignview1.WorkSpaceService = workspaceService; 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)); //TODO 3tk: currently not supported //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",Catalog.GetString("Export to pdf")); exportPdfToolButton.Clicked += delegate(object sender, EventArgs e) { designService.ExportToPdf(); }; var sep = new Gtk.SeparatorToolItem(); mainToolbar.Insert (sep,mainToolbar.NItems); mainToolbar.Insert (exportPdfToolButton,mainToolbar.NItems); //ToolBarButton btn = new ToolBarButton("gtk-media-play","execute","Execute report"); //mainToolbar.Insert (btn,mainToolbar.NItems); mainPropertygrid.LoadMonoreportsExtensions(); designService.Report = startReport; }
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(); }