Browse Source

Render mixed Containers

pull/478/head
Peter Forstmeier 11 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; @@ -14,19 +14,18 @@ using System.Windows.Forms;
using System.Windows.Forms.Design;
using ICSharpCode.Reporting.Addin.TypeProvider;
namespace ICSharpCode.Reporting.Addin.Designer
{
namespace ICSharpCode.Reporting.Addin.Designer{
/// <summary>
/// Description of RectangleDesigner.
/// </summary>
public class ContainerDesigner:ParentControlDesigner
{
public class ContainerDesigner:ParentControlDesigner{
ISelectionService selectionService;
IComponentChangeService componentChangeService;
public override void Initialize(IComponent component)
{
public override void Initialize(IComponent component){
if (component == null) {
throw new ArgumentNullException("component");
}
@ -35,24 +34,34 @@ namespace ICSharpCode.Reporting.Addin.Designer @@ -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);
base.PostFilterProperties(properties);
}
protected override void OnDragDrop(DragEventArgs de)
{
protected override void OnDragDrop(DragEventArgs de){
base.OnDragDrop(de);
var toolboxService = (IToolboxService)this.GetService(typeof(IToolboxService));
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( );
}
@ -65,8 +74,7 @@ namespace ICSharpCode.Reporting.Addin.Designer @@ -65,8 +74,7 @@ namespace ICSharpCode.Reporting.Addin.Designer
}
void GetService ()
{
void GetService (){
selectionService = GetService(typeof(ISelectionService)) as ISelectionService;
if (selectionService != null)
{
@ -74,16 +82,17 @@ namespace ICSharpCode.Reporting.Addin.Designer @@ -74,16 +82,17 @@ namespace ICSharpCode.Reporting.Addin.Designer
}
componentChangeService = (IComponentChangeService)GetService(typeof(IComponentChangeService));
if (componentChangeService != null)
{
if (componentChangeService != null) {
componentChangeService.ComponentRename += OnComponentRename;
componentChangeService.ComponentAdding += (sender, e) => {
};
}
}
#region Dispose
protected override void Dispose(bool disposing)
{
protected override void Dispose(bool disposing){
if (selectionService != null) {
selectionService.SelectionChanged -= OnSelectionChanged;
}

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

@ -43,13 +43,25 @@ @@ -43,13 +43,25 @@
</PropertyGroup>
<ItemGroup>
<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 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 Include="PdfSharp">
<HintPath>..\Libraries\PdfSharp.dll</HintPath>
<Reference Include="MigraDoc.DocumentObjectModel-WPF">
<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 Include="PresentationCore">
<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; @@ -28,7 +28,6 @@ using ICSharpCode.Reporting.Exporter.Visitors;
using ICSharpCode.Reporting.Interfaces.Export;
using ICSharpCode.Reporting.PageBuilder.ExportColumns;
using ICSharpCode.Reporting.WpfReportViewer.Visitor.Graphics;
using System.Windows.Shapes;
namespace ICSharpCode.Reporting.WpfReportViewer.Visitor
{
@ -65,8 +64,9 @@ namespace ICSharpCode.Reporting.WpfReportViewer.Visitor @@ -65,8 +64,9 @@ namespace ICSharpCode.Reporting.WpfReportViewer.Visitor
foreach (var element in container.ExportedItems) {
if (IsContainer(element)) {
if (IsGraphicsContainer(element)) {
var graphContainer = RenderGraphicsContainer(element);
canvas.Children.Add(graphContainer);
canvas.Children.Add(RenderGraphicsContainer(element));
} else {
canvas.Children.Add(RenderRow(element));
}
} else {
var acceptor = element as IAcceptor;
@ -79,9 +79,15 @@ namespace ICSharpCode.Reporting.WpfReportViewer.Visitor @@ -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)
{
var graphicsContainer = column as GraphicsContainer;
var graphCanvas = FixedDocumentCreator.CreateContainer(graphicsContainer);
CanvasHelper.SetPosition(graphCanvas, column.Location.ToWpf());

Loading…
Cancel
Save