Browse Source

Render mixed Containers

pull/478/head
Peter Forstmeier 12 years ago
parent
commit
acd5d10ad9
  1. 45
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Designer/ContainerDesigner.cs
  2. 20
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/ICSharpCode.Reporting.csproj
  3. 14
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Wpf/Visitor/WpfVisitor.cs

45
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Designer/ContainerDesigner.cs

@ -14,19 +14,18 @@ using System.Windows.Forms;
using System.Windows.Forms.Design; using System.Windows.Forms.Design;
using ICSharpCode.Reporting.Addin.TypeProvider; using ICSharpCode.Reporting.Addin.TypeProvider;
namespace ICSharpCode.Reporting.Addin.Designer namespace ICSharpCode.Reporting.Addin.Designer{
{
/// <summary> /// <summary>
/// Description of RectangleDesigner. /// Description of RectangleDesigner.
/// </summary> /// </summary>
public class ContainerDesigner:ParentControlDesigner public class ContainerDesigner:ParentControlDesigner{
{
ISelectionService selectionService; ISelectionService selectionService;
IComponentChangeService componentChangeService; IComponentChangeService componentChangeService;
public override void Initialize(IComponent component) public override void Initialize(IComponent component){
{
if (component == null) { if (component == null) {
throw new ArgumentNullException("component"); throw new ArgumentNullException("component");
} }
@ -35,24 +34,34 @@ namespace ICSharpCode.Reporting.Addin.Designer
} }
protected override void PostFilterProperties(System.Collections.IDictionary properties) protected override void PostFilterProperties(System.Collections.IDictionary properties){
{
TypeProviderHelper.RemoveProperties(properties); TypeProviderHelper.RemoveProperties(properties);
base.PostFilterProperties(properties); base.PostFilterProperties(properties);
} }
protected override void OnDragDrop(DragEventArgs de) protected override void OnDragDrop(DragEventArgs de){
{
base.OnDragDrop(de); base.OnDragDrop(de);
var toolboxService = (IToolboxService)this.GetService(typeof(IToolboxService)); var toolboxService = (IToolboxService)this.GetService(typeof(IToolboxService));
toolboxService.SetSelectedToolboxItem(null); toolboxService.SetSelectedToolboxItem(null);
} }
// public override bool CanBeParentedTo(IDesigner parentDesigner)
// {
// base.CanBeParentedTo(parentDesigner);
// }
public override bool CanParent(Control control)
{
return base.CanParent(control);
}
void OnSelectionChanged(object sender, EventArgs e) public override bool CanParent(ControlDesigner controlDesigner)
{ {
return base.CanParent(controlDesigner);
}
void OnSelectionChanged(object sender, EventArgs e){
Control.Invalidate( ); Control.Invalidate( );
} }
@ -65,8 +74,7 @@ namespace ICSharpCode.Reporting.Addin.Designer
} }
void GetService () void GetService (){
{
selectionService = GetService(typeof(ISelectionService)) as ISelectionService; selectionService = GetService(typeof(ISelectionService)) as ISelectionService;
if (selectionService != null) if (selectionService != null)
{ {
@ -74,16 +82,17 @@ namespace ICSharpCode.Reporting.Addin.Designer
} }
componentChangeService = (IComponentChangeService)GetService(typeof(IComponentChangeService)); componentChangeService = (IComponentChangeService)GetService(typeof(IComponentChangeService));
if (componentChangeService != null) if (componentChangeService != null) {
{
componentChangeService.ComponentRename += OnComponentRename; componentChangeService.ComponentRename += OnComponentRename;
componentChangeService.ComponentAdding += (sender, e) => {
};
} }
} }
#region Dispose #region Dispose
protected override void Dispose(bool disposing) protected override void Dispose(bool disposing){
{
if (selectionService != null) { if (selectionService != null) {
selectionService.SelectionChanged -= OnSelectionChanged; selectionService.SelectionChanged -= OnSelectionChanged;
} }

20
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/ICSharpCode.Reporting.csproj

@ -43,13 +43,25 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="Irony"> <Reference Include="Irony">
<HintPath>..\Libraries\Irony.dll</HintPath> <HintPath>C:\Users\Peter Forstmeier\Documents\SharpDevelop Projects\ReportTest\packages\Irony.0.9.0\lib\net45\Irony.dll</HintPath>
</Reference> </Reference>
<Reference Include="Irony.Interpreter"> <Reference Include="Irony.Interpreter">
<HintPath>..\Libraries\Irony.Interpreter.dll</HintPath> <HintPath>C:\Users\Peter Forstmeier\Documents\SharpDevelop Projects\ReportTest\packages\Irony.Interpreter.0.9.0\lib\net45\Irony.Interpreter.dll</HintPath>
</Reference> </Reference>
<Reference Include="PdfSharp"> <Reference Include="MigraDoc.DocumentObjectModel-WPF">
<HintPath>..\Libraries\PdfSharp.dll</HintPath> <HintPath>C:\Users\Peter Forstmeier\Documents\SharpDevelop Projects\ReportTest\packages\PDFsharp-MigraDoc-WPF.1.32.2608.0\lib\net20\MigraDoc.DocumentObjectModel-WPF.dll</HintPath>
</Reference>
<Reference Include="MigraDoc.Rendering-WPF">
<HintPath>C:\Users\Peter Forstmeier\Documents\SharpDevelop Projects\ReportTest\packages\PDFsharp-MigraDoc-WPF.1.32.2608.0\lib\net20\MigraDoc.Rendering-WPF.dll</HintPath>
</Reference>
<Reference Include="MigraDoc.RtfRendering-WPF">
<HintPath>C:\Users\Peter Forstmeier\Documents\SharpDevelop Projects\ReportTest\packages\PDFsharp-MigraDoc-WPF.1.32.2608.0\lib\net20\MigraDoc.RtfRendering-WPF.dll</HintPath>
</Reference>
<Reference Include="PdfSharp-WPF">
<HintPath>C:\Users\Peter Forstmeier\Documents\SharpDevelop Projects\ReportTest\packages\PDFsharp-MigraDoc-WPF.1.32.2608.0\lib\net20\PdfSharp-WPF.dll</HintPath>
</Reference>
<Reference Include="PdfSharp.Charting-WPF">
<HintPath>C:\Users\Peter Forstmeier\Documents\SharpDevelop Projects\ReportTest\packages\PDFsharp-MigraDoc-WPF.1.32.2608.0\lib\net20\PdfSharp.Charting-WPF.dll</HintPath>
</Reference> </Reference>
<Reference Include="PresentationCore"> <Reference Include="PresentationCore">
<RequiredTargetFramework>3.0</RequiredTargetFramework> <RequiredTargetFramework>3.0</RequiredTargetFramework>

14
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Wpf/Visitor/WpfVisitor.cs

@ -28,7 +28,6 @@ using ICSharpCode.Reporting.Exporter.Visitors;
using ICSharpCode.Reporting.Interfaces.Export; using ICSharpCode.Reporting.Interfaces.Export;
using ICSharpCode.Reporting.PageBuilder.ExportColumns; using ICSharpCode.Reporting.PageBuilder.ExportColumns;
using ICSharpCode.Reporting.WpfReportViewer.Visitor.Graphics; using ICSharpCode.Reporting.WpfReportViewer.Visitor.Graphics;
using System.Windows.Shapes;
namespace ICSharpCode.Reporting.WpfReportViewer.Visitor namespace ICSharpCode.Reporting.WpfReportViewer.Visitor
{ {
@ -65,8 +64,9 @@ namespace ICSharpCode.Reporting.WpfReportViewer.Visitor
foreach (var element in container.ExportedItems) { foreach (var element in container.ExportedItems) {
if (IsContainer(element)) { if (IsContainer(element)) {
if (IsGraphicsContainer(element)) { if (IsGraphicsContainer(element)) {
var graphContainer = RenderGraphicsContainer(element); canvas.Children.Add(RenderGraphicsContainer(element));
canvas.Children.Add(graphContainer); } else {
canvas.Children.Add(RenderRow(element));
} }
} else { } else {
var acceptor = element as IAcceptor; var acceptor = element as IAcceptor;
@ -79,9 +79,15 @@ namespace ICSharpCode.Reporting.WpfReportViewer.Visitor
} }
Canvas RenderRow (IExportColumn column) {
var row = column as ExportContainer;
var rowCanvas = CreateItemsInContainer(row.ExportedItems);
return rowCanvas;
}
Canvas RenderGraphicsContainer(IExportColumn column) Canvas RenderGraphicsContainer(IExportColumn column)
{ {
var graphicsContainer = column as GraphicsContainer; var graphicsContainer = column as GraphicsContainer;
var graphCanvas = FixedDocumentCreator.CreateContainer(graphicsContainer); var graphCanvas = FixedDocumentCreator.CreateContainer(graphicsContainer);
CanvasHelper.SetPosition(graphCanvas, column.Location.ToWpf()); CanvasHelper.SetPosition(graphCanvas, column.Location.ToWpf());

Loading…
Cancel
Save