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

Commit 70da82b

Browse files
Toolbox
1 parent 8558464 commit 70da82b

8 files changed

Lines changed: 263 additions & 27 deletions

File tree

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@
7070
<Folder Include="src\Designer" />
7171
<Folder Include="src\Globals" />
7272
<Folder Include="src\DesignableItems" />
73+
<Folder Include="src\Toolbox" />
7374
<Folder Include="src\TypeProvider" />
7475
<Folder Include="src\XML" />
7576
<Folder Include="src\Services" />
@@ -105,6 +106,8 @@
105106
<Compile Include="src\Services\HelpService.cs" />
106107
<Compile Include="src\Services\ToolboxService.cs" />
107108
<Compile Include="src\Services\UIService.cs" />
109+
<Compile Include="src\Toolbox\SideTabItemDesigner.cs" />
110+
<Compile Include="src\Toolbox\ToolboxProvider.cs" />
108111
<Compile Include="src\TypeProvider\AbstractItemTypeProvider.cs" />
109112
<Compile Include="src\TypeProvider\SectionItemTypeProvider.cs" />
110113
<Compile Include="src\TypeProvider\TextItemTypeProvider.cs" />
@@ -139,6 +142,10 @@
139142
<Project>{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}</Project>
140143
<Name>ICSharpCode.Core.WinForms</Name>
141144
</ProjectReference>
145+
<ProjectReference Include="..\..\..\..\Main\ICSharpCode.SharpDevelop.Widgets\Project\ICSharpCode.SharpDevelop.Widgets.csproj">
146+
<Project>{8035765F-D51F-4A0C-A746-2FD100E19419}</Project>
147+
<Name>ICSharpCode.SharpDevelop.Widgets</Name>
148+
</ProjectReference>
142149
<ProjectReference Include="..\ICSharpCode.Reporting\ICSharpCode.Reporting.csproj">
143150
<Project>{40CA84D4-ACFC-4646-9CDD-B87262D34093}</Project>
144151
<Name>ICSharpCode.Reporting</Name>

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

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -65,12 +65,7 @@ public override void Draw(Graphics graphics)
6565
stringFormat = TextDrawer.BuildStringFormat(designTrimmimg, contentAlignment);
6666
using (var textBrush = new SolidBrush(ForeColor)) {
6767
TextDrawer.DrawString(graphics, Text, Font, textBrush, ClientRectangle, stringFormat);
68-
}
69-
70-
// if (this.RightToLeft == System.Windows.Forms.RightToLeft.Yes) {
71-
// stringFormat.FormatFlags = stringFormat.FormatFlags | StringFormatFlags.DirectionRightToLeft;
72-
// }
73-
//
68+
}
7469
DrawControl(graphics, base.DrawingRectangle);
7570
}
7671

src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Designer/ReportRootDesigner.cs

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -210,33 +210,30 @@ void OnLoadComplete(object sender, EventArgs e)
210210
}
211211

212212

213-
private void OnComponentAdded(object sender, ComponentEventArgs ce)
213+
void OnComponentAdded(object sender, ComponentEventArgs ce)
214214
{
215215
var section = ce.Component as BaseSection;
216216

217217
if (section != null) {
218-
this.sections.Add(section);
218+
sections.Add(section);
219219
section.SizeChanged += new EventHandler( OnSectionSizeChanged);
220220
Console.Write("reportRootDesigner:OnComponentAdded");
221-
foreach (Control cc in section.Controls) {
222-
AddToHost(cc);
223-
this.host.Container.Add(cc);
224-
}
225-
//
226-
this.Control.Controls.Add(section);
221+
foreach (Control ctrl in section.Controls) {
222+
AddToHost(ctrl);
223+
host.Container.Add(ctrl);
224+
}
225+
Control.Controls.Add(section);
227226
RecalculateSections();
228227
}
229228
}
230229

231230

232-
private void AddToHost (Control ctrl)
231+
void AddToHost (Control ctrl)
233232
{
234-
if (ctrl.Controls.Count > 0) {
235-
foreach (Control c1 in ctrl.Controls) {
236-
AddToHost (c1);
237-
}
233+
foreach (Control c1 in ctrl.Controls) {
234+
AddToHost (c1);
238235
}
239-
this.host.Container.Add(ctrl as IComponent);
236+
host.Container.Add(ctrl as IComponent);
240237
}
241238

242239

src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Designer/TextItemDesigner.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ void GetService ()
5151

5252
componentChangeService = (IComponentChangeService)GetService(typeof(IComponentChangeService));
5353
if (componentChangeService != null) {
54-
componentChangeService.ComponentRename += new ComponentRenameEventHandler(OnComponentRename);
54+
componentChangeService.ComponentRename += OnComponentRename;
5555
}
5656

5757
}
@@ -64,7 +64,7 @@ void OnSelectionChanged(object sender, EventArgs e)
6464

6565

6666
void OnComponentRename(object sender,ComponentRenameEventArgs e) {
67-
if (e.Component == this.Component) {
67+
if (e.Component == Component) {
6868
Control.Name = e.NewName;
6969
Control.Invalidate();
7070
}
@@ -121,7 +121,7 @@ private void SetProperty (string prop, object value)
121121

122122
protected override void Dispose(bool disposing)
123123
{
124-
if (this.selectionService != null) {
124+
if (selectionService != null) {
125125
selectionService.SelectionChanged -= OnSelectionChanged;
126126
}
127127

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
/*
2+
* Created by SharpDevelop.
3+
* User: Peter Forstmeier
4+
* Date: 23.03.2014
5+
* Time: 12:25
6+
*
7+
* To change this template use Tools | Options | Coding | Edit Standard Headers.
8+
*/
9+
using System;
10+
using System.Drawing;
11+
using System.Drawing.Design;
12+
using ICSharpCode.SharpDevelop;
13+
using ICSharpCode.SharpDevelop.Gui;
14+
15+
namespace ICSharpCode.Reporting.Addin.Toolbox
16+
{
17+
/// <summary>
18+
/// Description of SideTabItemDesigner.
19+
/// </summary>
20+
public class SideTabItemDesigner : SharpDevelopSideTabItem
21+
{
22+
///<summary>create a tabitem from a toolboxitem. It init Icon and name from the tag</summary>
23+
public SideTabItemDesigner(ToolboxItem tag) : base(tag.DisplayName, tag)
24+
{
25+
if (tag == null) {
26+
throw new ArgumentNullException("tag");
27+
}
28+
CanBeRenamed = false;
29+
this.Icon = tag.Bitmap;
30+
ReloadToolBox();
31+
}
32+
33+
///<summary>create a tabitem from a toolboxitem. It init Icon from the tag</summary>
34+
public SideTabItemDesigner(string name, ToolboxItem tag) : base(name, tag)
35+
{
36+
CanBeRenamed = false;
37+
this.Icon = tag.Bitmap;
38+
ReloadToolBox();
39+
}
40+
41+
///<summary>create a default tabitem : a pointer icon with an empty toolboxitem</summary>
42+
public SideTabItemDesigner() : base("Pointer")
43+
{
44+
CanBeRenamed = false;
45+
CanBeDeleted = false;
46+
var pointerBitmap = new Bitmap(IconService.GetBitmap("Icons.16x16.FormsDesigner.PointerIcon"), 16, 16);
47+
this.Icon = pointerBitmap;
48+
this.Tag = null;
49+
ReloadToolBox();
50+
}
51+
52+
///<summary>it force to reload toolboxitem into the ToolboxService when the hostchange</summary>
53+
public void ReloadToolBox()
54+
{
55+
if (this.Name != "Pointer") {
56+
// ToolboxProvider.ToolboxService.AddToolboxItem(this.Tag as ToolboxItem);
57+
}
58+
}
59+
}
60+
}
Lines changed: 165 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,165 @@
1+
/*
2+
* Created by SharpDevelop.
3+
* User: Peter Forstmeier
4+
* Date: 23.03.2014
5+
* Time: 12:31
6+
*
7+
* To change this template use Tools | Options | Coding | Edit Standard Headers.
8+
*/
9+
using System;
10+
using System.Drawing;
11+
using System.Drawing.Design;
12+
using ICSharpCode.Core;
13+
using ICSharpCode.SharpDevelop;
14+
using ICSharpCode.SharpDevelop.Gui;
15+
using ICSharpCode.SharpDevelop.Widgets.SideBar;
16+
17+
namespace ICSharpCode.Reporting.Addin.Toolbox
18+
{
19+
/// <summary>
20+
/// Description of ToolboxProvider.
21+
/// </summary>
22+
static class ToolboxProvider
23+
{
24+
static SideTab standardSideTab;
25+
static int viewCount;
26+
static bool initialised;
27+
28+
public static void AddViewContent(IViewContent viewContent)
29+
{
30+
if (viewContent == null)
31+
throw new ArgumentNullException("viewContent");
32+
33+
if (!initialised)
34+
Initialise();
35+
36+
// Make sure the standard workflow sidebar exists
37+
if (standardSideTab == null) {
38+
LoggingService.Debug("Creating Reporting Sidetab");
39+
standardSideTab = CreateReportingSidetab();
40+
}
41+
ViewCount++;
42+
}
43+
44+
static void Initialise()
45+
{
46+
initialised = true;
47+
}
48+
49+
50+
static SideTab CreateReportingSidetab ()
51+
{
52+
var sideTab = new SideTab("ReportDesigner");
53+
sideTab.CanSaved = false;
54+
sideTab.Items.Add(CreateToolboxPointer(sideTab));
55+
56+
// TextItem
57+
var toolboxItem = new ToolboxItem(typeof(ICSharpCode.Reporting.Addin.DesignableItems.BaseTextItem)) {
58+
DisplayName = ResourceService.GetString("SharpReport.Toolbar.TextBox"),
59+
Bitmap = IconService.GetBitmap("Icons.16.16.SharpReport.Textbox")
60+
};
61+
sideTab.Items.Add(new SideTabItemDesigner(toolboxItem));
62+
63+
/*
64+
//GroupHeader
65+
tb = new ToolboxItem(typeof(ICSharpCode.Reports.Addin.GroupHeader));
66+
tb.Bitmap = WinFormsResourceService.GetBitmap("Icons.16x16.NameSpace");
67+
tb.DisplayName = ResourceService.GetString("SharpReport.Toolbar.GroupHeader");
68+
sideTab.Items.Add(new SideTabItemDesigner(tb));
69+
70+
71+
//GroupFooter
72+
tb = new ToolboxItem(typeof(ICSharpCode.Reports.Addin.GroupFooter));
73+
tb.Bitmap = WinFormsResourceService.GetBitmap("Icons.16x16.NameSpace");
74+
tb.DisplayName = ResourceService.GetString("SharpReport.Toolbar.GroupFooter");
75+
sideTab.Items.Add(new SideTabItemDesigner(tb));
76+
77+
// Row
78+
tb = new ToolboxItem(typeof(ICSharpCode.Reports.Addin.BaseRowItem));
79+
tb.Bitmap = WinFormsResourceService.GetBitmap("Icons.16x16.SharpQuery.Table");
80+
tb.DisplayName = ResourceService.GetString("SharpReport.Toolbar.DataRow");
81+
sideTab.Items.Add(new SideTabItemDesigner(tb));
82+
83+
//BaseTable
84+
// tb.Bitmap = WinFormsResourceService.GetBitmap("Icons.16x16.SharpQuery.Table");
85+
tb.Bitmap = WinFormsResourceService.GetBitmap("Icons.16x16.SharpQuery.Table");
86+
tb = new ToolboxItem(typeof(ICSharpCode.Reports.Addin.BaseTableItem));
87+
tb.DisplayName = ResourceService.GetString("SharpReport.Toolbar.Table");
88+
sideTab.Items.Add(new SideTabItemDesigner(tb));
89+
90+
91+
//BaseDataItem
92+
tb = new ToolboxItem(typeof(ICSharpCode.Reports.Addin.BaseDataItem));
93+
tb.DisplayName = ResourceService.GetString("SharpReport.Toolbar.DataField");
94+
// tb.Bitmap = WinFormsResourceService.GetBitmap("Icons.16x16.SharpQuery.Column");
95+
tb.Bitmap = WinFormsResourceService.GetBitmap("Icons.16x16.SharpQuery.Column");
96+
sideTab.Items.Add(new SideTabItemDesigner(tb));
97+
98+
//Grahics
99+
// Line
100+
tb = new ToolboxItem(typeof(ICSharpCode.Reports.Addin.BaseLineItem));
101+
tb.DisplayName = ResourceService.GetString("SharpReport.Toolbar.Line");
102+
tb.Bitmap = WinFormsResourceService.GetIcon("Icons.16.16.SharpReport.Line").ToBitmap();
103+
sideTab.Items.Add(new SideTabItemDesigner(tb));
104+
105+
// Rectangle
106+
tb = new ToolboxItem(typeof(ICSharpCode.Reports.Addin.BaseRectangleItem));
107+
tb.DisplayName = ResourceService.GetString("SharpReport.Toolbar.Rectangle");
108+
tb.Bitmap = GlobalValues.RectangleBitmap();
109+
sideTab.Items.Add(new SideTabItemDesigner(tb));
110+
111+
// Circle
112+
tb = new ToolboxItem(typeof(ICSharpCode.Reports.Addin.BaseCircleItem));
113+
tb.DisplayName = ResourceService.GetString("SharpReport.Toolbar.Circle");
114+
tb.Bitmap = GlobalValues.CircleBitmap();
115+
sideTab.Items.Add(new SideTabItemDesigner(tb));
116+
117+
118+
// Image
119+
tb = new ToolboxItem(typeof(ICSharpCode.Reports.Addin.BaseImageItem));
120+
tb.DisplayName = ResourceService.GetString("SharpReport.Toolbar.Image");
121+
tb.Bitmap = WinFormsResourceService.GetIcon("Icons.16x16.ResourceEditor.bmp").ToBitmap();
122+
sideTab.Items.Add(new SideTabItemDesigner(tb));
123+
*/
124+
return sideTab;
125+
}
126+
127+
128+
static SideTabItem CreateToolboxPointer(SideTab sideTab)
129+
{
130+
var pointer = new SharpDevelopSideTabItem("Pointer") {
131+
CanBeRenamed = false,
132+
CanBeDeleted = false,
133+
Icon = new Bitmap(IconService.GetBitmap("Icons.16x16.FormsDesigner.PointerIcon"), 16, 16),
134+
Tag = null
135+
};
136+
return pointer;
137+
}
138+
139+
140+
static SharpDevelopSideBar reportingSideBar;
141+
142+
public static SharpDevelopSideBar ReportingSideBar {
143+
get {
144+
if (reportingSideBar == null) {
145+
reportingSideBar = new SharpDevelopSideBar();
146+
reportingSideBar.Tabs.Add(standardSideTab);
147+
ReportingSideBar.ActiveTab = standardSideTab;
148+
}
149+
return reportingSideBar;
150+
}
151+
}
152+
153+
154+
static int ViewCount {
155+
get { return viewCount; }
156+
set {
157+
viewCount = value;
158+
159+
if (viewCount == 0) {
160+
standardSideTab = null;
161+
}
162+
}
163+
}
164+
}
165+
}

src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/TypeProvider/TextItemTypeProvider.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,12 @@ public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object
3333

3434
class TextItemTypeDescriptor : CustomTypeDescriptor
3535
{
36-
BaseTextItem instance;
36+
// BaseTextItem instance;
3737

3838
public TextItemTypeDescriptor(ICustomTypeDescriptor parent, object instance)
3939
: base(parent)
4040
{
41-
instance = instance as BaseTextItem;
41+
// instance = instance as BaseTextItem;
4242
}
4343

4444

src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Views/DesignerView.cs

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,14 @@
2222
using ICSharpCode.Reporting.Addin.DesignableItems;
2323
using ICSharpCode.Reporting.Addin.DesignerBinding;
2424
using ICSharpCode.Reporting.Addin.Services;
25+
using ICSharpCode.Reporting.Addin.Toolbox;
2526

2627
namespace ICSharpCode.Reporting.Addin.Views
2728
{
2829
/// <summary>
2930
/// Description of the view content
3031
/// </summary>
31-
public class DesignerView : AbstractViewContent,IHasPropertyContainer
32+
public class DesignerView : AbstractViewContent,IHasPropertyContainer, IToolsHost
3233
{
3334
readonly IDesignerGenerator generator;
3435
bool unloading;
@@ -56,7 +57,8 @@ public DesignerView (OpenedFile openedFile,IDesignerGenerator generator) : base(
5657

5758
this.generator = generator;
5859
this.generator.Attach(this);
59-
60+
//Start Toolbox
61+
ToolboxProvider.AddViewContent(this);
6062
}
6163

6264

@@ -233,6 +235,16 @@ void TransactionClose(object sender, DesignerTransactionCloseEventArgs e)
233235

234236
#endregion
235237

238+
#region IToolsHost
239+
240+
object IToolsHost.ToolsContent {
241+
get {
242+
return ToolboxProvider.ReportingSideBar;
243+
}
244+
}
245+
246+
#endregion
247+
236248

237249
#region HasPropertyContainer implementation
238250

0 commit comments

Comments
 (0)