Skip to content
This repository was archived by the owner on Oct 16, 2020. It is now read-only.

Commit deae522

Browse files
Circle as Container
1 parent 34e6970 commit deae522

10 files changed

Lines changed: 217 additions & 59 deletions

File tree

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,6 @@
7676
<ItemGroup>
7777
<Folder Include="Configuration" />
7878
<Folder Include="src" />
79-
<Folder Include="src\DesignableItems\GraphicItems" />
8079
<Folder Include="src\DesignerBinding" />
8180
<Folder Include="src\Commands" />
8281
<Folder Include="src\Designer" />
@@ -96,6 +95,7 @@
9695
<Compile Include="src\Commands\ViewCommands.cs" />
9796
<Compile Include="src\DesignableItems\AbstractGraphicItem.cs" />
9897
<Compile Include="src\DesignableItems\AbstractItem.cs" />
98+
<Compile Include="src\DesignableItems\BaseCircleItem.cs" />
9999
<Compile Include="src\DesignableItems\BaseLineItem.cs" />
100100
<Compile Include="src\DesignableItems\BaseRectangleItem.cs" />
101101
<Compile Include="src\DesignableItems\BaseSection.cs" />
@@ -135,6 +135,7 @@
135135
<Compile Include="src\Toolbox\SideTabItemDesigner.cs" />
136136
<Compile Include="src\Toolbox\ToolboxProvider.cs" />
137137
<Compile Include="src\TypeProvider\AbstractItemTypeProvider.cs" />
138+
<Compile Include="src\TypeProvider\CircleItemTypeProvider.cs" />
138139
<Compile Include="src\TypeProvider\DataItemTypeProvider.cs" />
139140
<Compile Include="src\TypeProvider\LineItemTypeProvider.cs" />
140141
<Compile Include="src\TypeProvider\RectangleItemTypeProvider.cs" />
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
/*
2+
* Created by SharpDevelop.
3+
* User: Peter Forstmeier
4+
* Date: 17.04.2014
5+
* Time: 19:53
6+
*
7+
* To change this template use Tools | Options | Coding | Edit Standard Headers.
8+
*/
9+
using System;
10+
using System.ComponentModel;
11+
using System.Drawing;
12+
using ICSharpCode.Reporting.Addin.Designer;
13+
using ICSharpCode.Reporting.Addin.TypeProvider;
14+
15+
16+
namespace ICSharpCode.Reporting.Addin.DesignableItems
17+
{
18+
/// <summary>
19+
/// Description of BaseCircleItem.
20+
/// </summary>
21+
///
22+
[Designer(typeof(ContainerDesigner))]
23+
class BaseCircleItem:AbstractGraphicItem
24+
{
25+
public BaseCircleItem()
26+
{
27+
TypeDescriptor.AddProvider(new CircleItemTypeProvider(), typeof(BaseCircleItem));
28+
}
29+
30+
31+
public override void Draw(Graphics graphics)
32+
{
33+
if (graphics == null) {
34+
throw new ArgumentNullException("graphics");
35+
}
36+
37+
var rect = new Rectangle(ClientRectangle.Left,
38+
ClientRectangle.Top,
39+
ClientRectangle.Right -1,
40+
ClientRectangle.Bottom -1);
41+
42+
using (var pen = new Pen(ForeColor,Thickness)) {
43+
graphics.DrawEllipse(pen,rect);
44+
}
45+
46+
}
47+
}
48+
}

src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/DesignableItems/BaseRectangleItem.cs

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -42,25 +42,6 @@ public override void Draw(Graphics graphics)
4242
graphics.DrawRectangle(pen,rect);
4343
}
4444

45-
46-
// backgroundShape.FillShape(graphics,
47-
// new SolidFillPattern(this.BackColor),
48-
// rect);
49-
50-
// Border b = new Border(new BaseLine (this.ForeColor,System.Drawing.Drawing2D.DashStyle.Solid,1));
51-
// DrawFrame(graphics,b);
52-
// BaseLine line = new BaseLine(base.ForeColor,DashStyle,Thickness,LineCap.Round,LineCap.Round,DashCap.Round);
53-
// using (Pen pen = line.CreatePen(line.Thickness)){
54-
// shape.CornerRadius = this.CornerRadius;
55-
// GraphicsPath path1 = shape.CreatePath(rect);
56-
// graphics.DrawPath(pen, path1);
57-
//
58-
// }
59-
60-
// shape.DrawShape (graphics,
61-
// this.Baseline(),
62-
// rect);
63-
6445
}
6546
}
6647
}

src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Toolbox/ToolboxProvider.cs

Lines changed: 28 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -70,23 +70,29 @@ static SideTab CreateReportingSidetab ()
7070
};
7171
sideTab.Items.Add(new SideTabItemDesigner(toolboxItem));
7272

73-
74-
//Grahics
73+
7574
// Line
7675
toolboxItem = new ToolboxItem(typeof(BaseLineItem)) {
7776
DisplayName = ResourceService.GetString("SharpReport.Toolbar.Line"),
7877
Bitmap = IconService.GetBitmap("Icons.16.16.SharpReport.Line")
7978
};
80-
8179
sideTab.Items.Add(new SideTabItemDesigner(toolboxItem));
8280

8381

84-
// Rectangle
82+
// Rectangle
8583
toolboxItem = new ToolboxItem(typeof(BaseRectangleItem)) {
8684
DisplayName = ResourceService.GetString("SharpReport.Toolbar.Rectangle"),
8785
Bitmap = RectangleBitmap()
8886
};
8987
sideTab.Items.Add(new SideTabItemDesigner(toolboxItem));
88+
89+
//Circle
90+
toolboxItem = new ToolboxItem(typeof(BaseCircleItem)) {
91+
DisplayName = ResourceService.GetString("SharpReport.Toolbar.Circle"),
92+
Bitmap = CircleBitmap()
93+
};
94+
sideTab.Items.Add(new SideTabItemDesigner(toolboxItem));
95+
9096
/*
9197
//GroupHeader
9298
tb = new ToolboxItem(typeof(ICSharpCode.Reports.Addin.GroupHeader));
@@ -117,13 +123,6 @@ static SideTab CreateReportingSidetab ()
117123
118124
//Grahics
119125
120-
// Circle
121-
tb = new ToolboxItem(typeof(ICSharpCode.Reports.Addin.BaseCircleItem));
122-
tb.DisplayName = ResourceService.GetString("SharpReport.Toolbar.Circle");
123-
tb.Bitmap = GlobalValues.CircleBitmap();
124-
sideTab.Items.Add(new SideTabItemDesigner(tb));
125-
126-
127126
// Image
128127
tb = new ToolboxItem(typeof(ICSharpCode.Reports.Addin.BaseImageItem));
129128
tb.DisplayName = ResourceService.GetString("SharpReport.Toolbar.Image");
@@ -142,6 +141,24 @@ static Bitmap RectangleBitmap()
142141
}
143142
return b;
144143
}
144+
145+
146+
/// <summary>
147+
/// ToolboxIcon for ReportCircle
148+
/// </summary>
149+
/// <returns>Bitmap</returns>
150+
static Bitmap CircleBitmap()
151+
{
152+
Bitmap b = new Bitmap (19,19);
153+
using (Graphics g = Graphics.FromImage (b)){
154+
g.DrawEllipse (new Pen(Color.Black, 1),
155+
1,1,
156+
17,17);
157+
}
158+
return b;
159+
}
160+
161+
145162
static SideTabItem CreateToolboxPointer(SideTab sideTab)
146163
{
147164
var pointer = new SharpDevelopSideTabItem("Pointer") {
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
/*
2+
* Created by SharpDevelop.
3+
* User: Peter Forstmeier
4+
* Date: 17.04.2014
5+
* Time: 19:57
6+
*
7+
* To change this template use Tools | Options | Coding | Edit Standard Headers.
8+
*/
9+
using System;
10+
using System.Collections.Generic;
11+
using System.ComponentModel;
12+
using ICSharpCode.Reporting.Addin.DesignableItems;
13+
14+
namespace ICSharpCode.Reporting.Addin.TypeProvider
15+
{
16+
/// <summary>
17+
/// Description of CircleItemTypeProvider.
18+
/// </summary>
19+
class CircleItemTypeProvider: TypeDescriptionProvider
20+
{
21+
public CircleItemTypeProvider(): base(TypeDescriptor.GetProvider(typeof(AbstractItem)))
22+
{
23+
}
24+
25+
26+
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
27+
{
28+
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
29+
return new CircleItemTypeDescriptor(td, instance);
30+
}
31+
}
32+
33+
34+
class CircleItemTypeDescriptor : CustomTypeDescriptor
35+
{
36+
37+
public CircleItemTypeDescriptor(ICustomTypeDescriptor parent, object instance): base(parent)
38+
{
39+
}
40+
41+
42+
public override PropertyDescriptorCollection GetProperties()
43+
{
44+
return GetProperties(null);
45+
}
46+
47+
48+
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
49+
{
50+
PropertyDescriptorCollection props = base.GetProperties(attributes);
51+
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>();
52+
53+
TypeProviderHelper.AddDefaultProperties(allProperties,props);
54+
TypeProviderHelper.AddGraphicProperties(allProperties,props);
55+
56+
PropertyDescriptor prop = null;
57+
58+
prop = props.Find("Controls",true);
59+
allProperties.Add(prop);
60+
61+
return new PropertyDescriptorCollection(allProperties.ToArray());
62+
}
63+
}
64+
}

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,7 @@
168168
<Compile Include="Src\PageBuilder\ExportColumns\ExportRectangle.cs" />
169169
<Compile Include="Src\PageBuilder\ExportColumns\ExportText.cs" />
170170
<Compile Include="Src\PageBuilder\ExportColumns\ExportPage.cs" />
171+
<Compile Include="Src\PageBuilder\ExportColumns\GraphicsContainer.cs" />
171172
<Compile Include="Src\PageBuilder\FormPageBuilder.cs" />
172173
<Compile Include="Src\Pdf\PdfExporter.cs" />
173174
<Compile Include="Src\Pdf\PdfExtensions.cs" />

src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/ExportColumns/ExportCircle.cs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,8 @@ namespace ICSharpCode.Reporting.PageBuilder.ExportColumns
2525
/// <summary>
2626
/// Description of ExportCircle.
2727
/// </summary>
28-
public class ExportCircle:ExportColumn,IExportGraphics,IAcceptor
28+
public class ExportCircle:GraphicsContainer,IExportGraphics,IAcceptor
2929
{
30-
public ExportCircle()
31-
{
32-
}
3330

3431

3532
public void Accept(IVisitor visitor)
@@ -43,7 +40,7 @@ public override ICSharpCode.Reporting.Arrange.IMeasurementStrategy MeasurementSt
4340
throw new NotImplementedException();
4441
}
4542

46-
public int Thickness {get;set;}
43+
// public int Thickness {get;set;}
4744

4845
public DashStyle DashStyle {get;set;}
4946

src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/PageBuilder/ExportColumns/ExportRectangle.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,8 @@ namespace ICSharpCode.Reporting.PageBuilder.ExportColumns
2424
/// <summary>
2525
/// Description of ExportRectangle.
2626
/// </summary>
27-
public class ExportRectangle:ExportContainer,IExportGraphics
27+
public class ExportRectangle:GraphicsContainer,IExportGraphics
2828
{
29-
30-
public int Thickness {get;set;}
3129

3230
public DashStyle DashStyle {get;set;}
3331

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
/*
2+
* Created by SharpDevelop.
3+
* User: Peter Forstmeier
4+
* Date: 16.04.2014
5+
* Time: 19:53
6+
*
7+
* To change this template use Tools | Options | Coding | Edit Standard Headers.
8+
*/
9+
using System;
10+
11+
namespace ICSharpCode.Reporting.PageBuilder.ExportColumns
12+
{
13+
/// <summary>
14+
/// Description of GraphicsContainer.
15+
/// </summary>
16+
public class GraphicsContainer:ExportContainer
17+
{
18+
19+
public int Thickness {get;set;}
20+
}
21+
}

0 commit comments

Comments
 (0)