Browse Source

Toolbox

reports
Peter Forstmeier 11 years ago
parent
commit
70da82b98a
  1. 7
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/ICSharpCode.Reporting.Addin.csproj
  2. 7
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/DesignableItems/BaseTextItem.cs
  3. 25
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Designer/ReportRootDesigner.cs
  4. 6
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Designer/TextItemDesigner.cs
  5. 60
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Toolbox/SideTabItemDesigner.cs
  6. 165
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Toolbox/ToolboxProvider.cs
  7. 4
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/TypeProvider/TextItemTypeProvider.cs
  8. 16
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Views/DesignerView.cs

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

@ -70,6 +70,7 @@ @@ -70,6 +70,7 @@
<Folder Include="src\Designer" />
<Folder Include="src\Globals" />
<Folder Include="src\DesignableItems" />
<Folder Include="src\Toolbox" />
<Folder Include="src\TypeProvider" />
<Folder Include="src\XML" />
<Folder Include="src\Services" />
@ -105,6 +106,8 @@ @@ -105,6 +106,8 @@
<Compile Include="src\Services\HelpService.cs" />
<Compile Include="src\Services\ToolboxService.cs" />
<Compile Include="src\Services\UIService.cs" />
<Compile Include="src\Toolbox\SideTabItemDesigner.cs" />
<Compile Include="src\Toolbox\ToolboxProvider.cs" />
<Compile Include="src\TypeProvider\AbstractItemTypeProvider.cs" />
<Compile Include="src\TypeProvider\SectionItemTypeProvider.cs" />
<Compile Include="src\TypeProvider\TextItemTypeProvider.cs" />
@ -139,6 +142,10 @@ @@ -139,6 +142,10 @@
<Project>{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}</Project>
<Name>ICSharpCode.Core.WinForms</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\..\Main\ICSharpCode.SharpDevelop.Widgets\Project\ICSharpCode.SharpDevelop.Widgets.csproj">
<Project>{8035765F-D51F-4A0C-A746-2FD100E19419}</Project>
<Name>ICSharpCode.SharpDevelop.Widgets</Name>
</ProjectReference>
<ProjectReference Include="..\ICSharpCode.Reporting\ICSharpCode.Reporting.csproj">
<Project>{40CA84D4-ACFC-4646-9CDD-B87262D34093}</Project>
<Name>ICSharpCode.Reporting</Name>

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

@ -65,12 +65,7 @@ namespace ICSharpCode.Reporting.Addin.DesignableItems @@ -65,12 +65,7 @@ namespace ICSharpCode.Reporting.Addin.DesignableItems
stringFormat = TextDrawer.BuildStringFormat(designTrimmimg, contentAlignment);
using (var textBrush = new SolidBrush(ForeColor)) {
TextDrawer.DrawString(graphics, Text, Font, textBrush, ClientRectangle, stringFormat);
}
// if (this.RightToLeft == System.Windows.Forms.RightToLeft.Yes) {
// stringFormat.FormatFlags = stringFormat.FormatFlags | StringFormatFlags.DirectionRightToLeft;
// }
//
}
DrawControl(graphics, base.DrawingRectangle);
}

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

@ -210,33 +210,30 @@ namespace ICSharpCode.Reporting.Addin.Designer @@ -210,33 +210,30 @@ namespace ICSharpCode.Reporting.Addin.Designer
}
private void OnComponentAdded(object sender, ComponentEventArgs ce)
void OnComponentAdded(object sender, ComponentEventArgs ce)
{
var section = ce.Component as BaseSection;
if (section != null) {
this.sections.Add(section);
sections.Add(section);
section.SizeChanged += new EventHandler( OnSectionSizeChanged);
Console.Write("reportRootDesigner:OnComponentAdded");
foreach (Control cc in section.Controls) {
AddToHost(cc);
this.host.Container.Add(cc);
}
//
this.Control.Controls.Add(section);
foreach (Control ctrl in section.Controls) {
AddToHost(ctrl);
host.Container.Add(ctrl);
}
Control.Controls.Add(section);
RecalculateSections();
}
}
private void AddToHost (Control ctrl)
void AddToHost (Control ctrl)
{
if (ctrl.Controls.Count > 0) {
foreach (Control c1 in ctrl.Controls) {
AddToHost (c1);
}
foreach (Control c1 in ctrl.Controls) {
AddToHost (c1);
}
this.host.Container.Add(ctrl as IComponent);
host.Container.Add(ctrl as IComponent);
}

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

@ -51,7 +51,7 @@ namespace ICSharpCode.Reporting.Addin.Designer @@ -51,7 +51,7 @@ namespace ICSharpCode.Reporting.Addin.Designer
componentChangeService = (IComponentChangeService)GetService(typeof(IComponentChangeService));
if (componentChangeService != null) {
componentChangeService.ComponentRename += new ComponentRenameEventHandler(OnComponentRename);
componentChangeService.ComponentRename += OnComponentRename;
}
}
@ -64,7 +64,7 @@ namespace ICSharpCode.Reporting.Addin.Designer @@ -64,7 +64,7 @@ namespace ICSharpCode.Reporting.Addin.Designer
void OnComponentRename(object sender,ComponentRenameEventArgs e) {
if (e.Component == this.Component) {
if (e.Component == Component) {
Control.Name = e.NewName;
Control.Invalidate();
}
@ -121,7 +121,7 @@ namespace ICSharpCode.Reporting.Addin.Designer @@ -121,7 +121,7 @@ namespace ICSharpCode.Reporting.Addin.Designer
protected override void Dispose(bool disposing)
{
if (this.selectionService != null) {
if (selectionService != null) {
selectionService.SelectionChanged -= OnSelectionChanged;
}

60
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Toolbox/SideTabItemDesigner.cs

@ -0,0 +1,60 @@ @@ -0,0 +1,60 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 23.03.2014
* Time: 12:25
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Drawing;
using System.Drawing.Design;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Gui;
namespace ICSharpCode.Reporting.Addin.Toolbox
{
/// <summary>
/// Description of SideTabItemDesigner.
/// </summary>
public class SideTabItemDesigner : SharpDevelopSideTabItem
{
///<summary>create a tabitem from a toolboxitem. It init Icon and name from the tag</summary>
public SideTabItemDesigner(ToolboxItem tag) : base(tag.DisplayName, tag)
{
if (tag == null) {
throw new ArgumentNullException("tag");
}
CanBeRenamed = false;
this.Icon = tag.Bitmap;
ReloadToolBox();
}
///<summary>create a tabitem from a toolboxitem. It init Icon from the tag</summary>
public SideTabItemDesigner(string name, ToolboxItem tag) : base(name, tag)
{
CanBeRenamed = false;
this.Icon = tag.Bitmap;
ReloadToolBox();
}
///<summary>create a default tabitem : a pointer icon with an empty toolboxitem</summary>
public SideTabItemDesigner() : base("Pointer")
{
CanBeRenamed = false;
CanBeDeleted = false;
var pointerBitmap = new Bitmap(IconService.GetBitmap("Icons.16x16.FormsDesigner.PointerIcon"), 16, 16);
this.Icon = pointerBitmap;
this.Tag = null;
ReloadToolBox();
}
///<summary>it force to reload toolboxitem into the ToolboxService when the hostchange</summary>
public void ReloadToolBox()
{
if (this.Name != "Pointer") {
// ToolboxProvider.ToolboxService.AddToolboxItem(this.Tag as ToolboxItem);
}
}
}
}

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

@ -0,0 +1,165 @@ @@ -0,0 +1,165 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 23.03.2014
* Time: 12:31
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Drawing;
using System.Drawing.Design;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.SharpDevelop.Widgets.SideBar;
namespace ICSharpCode.Reporting.Addin.Toolbox
{
/// <summary>
/// Description of ToolboxProvider.
/// </summary>
static class ToolboxProvider
{
static SideTab standardSideTab;
static int viewCount;
static bool initialised;
public static void AddViewContent(IViewContent viewContent)
{
if (viewContent == null)
throw new ArgumentNullException("viewContent");
if (!initialised)
Initialise();
// Make sure the standard workflow sidebar exists
if (standardSideTab == null) {
LoggingService.Debug("Creating Reporting Sidetab");
standardSideTab = CreateReportingSidetab();
}
ViewCount++;
}
static void Initialise()
{
initialised = true;
}
static SideTab CreateReportingSidetab ()
{
var sideTab = new SideTab("ReportDesigner");
sideTab.CanSaved = false;
sideTab.Items.Add(CreateToolboxPointer(sideTab));
// TextItem
var toolboxItem = new ToolboxItem(typeof(ICSharpCode.Reporting.Addin.DesignableItems.BaseTextItem)) {
DisplayName = ResourceService.GetString("SharpReport.Toolbar.TextBox"),
Bitmap = IconService.GetBitmap("Icons.16.16.SharpReport.Textbox")
};
sideTab.Items.Add(new SideTabItemDesigner(toolboxItem));
/*
//GroupHeader
tb = new ToolboxItem(typeof(ICSharpCode.Reports.Addin.GroupHeader));
tb.Bitmap = WinFormsResourceService.GetBitmap("Icons.16x16.NameSpace");
tb.DisplayName = ResourceService.GetString("SharpReport.Toolbar.GroupHeader");
sideTab.Items.Add(new SideTabItemDesigner(tb));
//GroupFooter
tb = new ToolboxItem(typeof(ICSharpCode.Reports.Addin.GroupFooter));
tb.Bitmap = WinFormsResourceService.GetBitmap("Icons.16x16.NameSpace");
tb.DisplayName = ResourceService.GetString("SharpReport.Toolbar.GroupFooter");
sideTab.Items.Add(new SideTabItemDesigner(tb));
// Row
tb = new ToolboxItem(typeof(ICSharpCode.Reports.Addin.BaseRowItem));
tb.Bitmap = WinFormsResourceService.GetBitmap("Icons.16x16.SharpQuery.Table");
tb.DisplayName = ResourceService.GetString("SharpReport.Toolbar.DataRow");
sideTab.Items.Add(new SideTabItemDesigner(tb));
//BaseTable
// tb.Bitmap = WinFormsResourceService.GetBitmap("Icons.16x16.SharpQuery.Table");
tb.Bitmap = WinFormsResourceService.GetBitmap("Icons.16x16.SharpQuery.Table");
tb = new ToolboxItem(typeof(ICSharpCode.Reports.Addin.BaseTableItem));
tb.DisplayName = ResourceService.GetString("SharpReport.Toolbar.Table");
sideTab.Items.Add(new SideTabItemDesigner(tb));
//BaseDataItem
tb = new ToolboxItem(typeof(ICSharpCode.Reports.Addin.BaseDataItem));
tb.DisplayName = ResourceService.GetString("SharpReport.Toolbar.DataField");
// tb.Bitmap = WinFormsResourceService.GetBitmap("Icons.16x16.SharpQuery.Column");
tb.Bitmap = WinFormsResourceService.GetBitmap("Icons.16x16.SharpQuery.Column");
sideTab.Items.Add(new SideTabItemDesigner(tb));
//Grahics
// Line
tb = new ToolboxItem(typeof(ICSharpCode.Reports.Addin.BaseLineItem));
tb.DisplayName = ResourceService.GetString("SharpReport.Toolbar.Line");
tb.Bitmap = WinFormsResourceService.GetIcon("Icons.16.16.SharpReport.Line").ToBitmap();
sideTab.Items.Add(new SideTabItemDesigner(tb));
// Rectangle
tb = new ToolboxItem(typeof(ICSharpCode.Reports.Addin.BaseRectangleItem));
tb.DisplayName = ResourceService.GetString("SharpReport.Toolbar.Rectangle");
tb.Bitmap = GlobalValues.RectangleBitmap();
sideTab.Items.Add(new SideTabItemDesigner(tb));
// Circle
tb = new ToolboxItem(typeof(ICSharpCode.Reports.Addin.BaseCircleItem));
tb.DisplayName = ResourceService.GetString("SharpReport.Toolbar.Circle");
tb.Bitmap = GlobalValues.CircleBitmap();
sideTab.Items.Add(new SideTabItemDesigner(tb));
// Image
tb = new ToolboxItem(typeof(ICSharpCode.Reports.Addin.BaseImageItem));
tb.DisplayName = ResourceService.GetString("SharpReport.Toolbar.Image");
tb.Bitmap = WinFormsResourceService.GetIcon("Icons.16x16.ResourceEditor.bmp").ToBitmap();
sideTab.Items.Add(new SideTabItemDesigner(tb));
*/
return sideTab;
}
static SideTabItem CreateToolboxPointer(SideTab sideTab)
{
var pointer = new SharpDevelopSideTabItem("Pointer") {
CanBeRenamed = false,
CanBeDeleted = false,
Icon = new Bitmap(IconService.GetBitmap("Icons.16x16.FormsDesigner.PointerIcon"), 16, 16),
Tag = null
};
return pointer;
}
static SharpDevelopSideBar reportingSideBar;
public static SharpDevelopSideBar ReportingSideBar {
get {
if (reportingSideBar == null) {
reportingSideBar = new SharpDevelopSideBar();
reportingSideBar.Tabs.Add(standardSideTab);
ReportingSideBar.ActiveTab = standardSideTab;
}
return reportingSideBar;
}
}
static int ViewCount {
get { return viewCount; }
set {
viewCount = value;
if (viewCount == 0) {
standardSideTab = null;
}
}
}
}
}

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

@ -33,12 +33,12 @@ namespace ICSharpCode.Reporting.Addin.TypeProvider @@ -33,12 +33,12 @@ namespace ICSharpCode.Reporting.Addin.TypeProvider
class TextItemTypeDescriptor : CustomTypeDescriptor
{
BaseTextItem instance;
// BaseTextItem instance;
public TextItemTypeDescriptor(ICustomTypeDescriptor parent, object instance)
: base(parent)
{
instance = instance as BaseTextItem;
// instance = instance as BaseTextItem;
}

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

@ -22,13 +22,14 @@ using ICSharpCode.SharpDevelop.Workbench; @@ -22,13 +22,14 @@ using ICSharpCode.SharpDevelop.Workbench;
using ICSharpCode.Reporting.Addin.DesignableItems;
using ICSharpCode.Reporting.Addin.DesignerBinding;
using ICSharpCode.Reporting.Addin.Services;
using ICSharpCode.Reporting.Addin.Toolbox;
namespace ICSharpCode.Reporting.Addin.Views
{
/// <summary>
/// Description of the view content
/// </summary>
public class DesignerView : AbstractViewContent,IHasPropertyContainer
public class DesignerView : AbstractViewContent,IHasPropertyContainer, IToolsHost
{
readonly IDesignerGenerator generator;
bool unloading;
@ -56,7 +57,8 @@ namespace ICSharpCode.Reporting.Addin.Views @@ -56,7 +57,8 @@ namespace ICSharpCode.Reporting.Addin.Views
this.generator = generator;
this.generator.Attach(this);
//Start Toolbox
ToolboxProvider.AddViewContent(this);
}
@ -233,6 +235,16 @@ namespace ICSharpCode.Reporting.Addin.Views @@ -233,6 +235,16 @@ namespace ICSharpCode.Reporting.Addin.Views
#endregion
#region IToolsHost
object IToolsHost.ToolsContent {
get {
return ToolboxProvider.ReportingSideBar;
}
}
#endregion
#region HasPropertyContainer implementation

Loading…
Cancel
Save