9 changed files with 325 additions and 106 deletions
@ -0,0 +1,16 @@ |
|||||||
|
/* |
||||||
|
* Created by SharpDevelop. |
||||||
|
* User: Peter Forstmeier |
||||||
|
* Date: 10.02.2014 |
||||||
|
* Time: 20:24 |
||||||
|
* |
||||||
|
* To change this template use Tools | Options | Coding | Edit Standard Headers. |
||||||
|
*/ |
||||||
|
|
||||||
|
using System.Reflection; |
||||||
|
|
||||||
|
[assembly: AssemblyTitle("")] |
||||||
|
[assembly: AssemblyDescription("")] |
||||||
|
[assembly: AssemblyConfiguration("")] |
||||||
|
[assembly: AssemblyTrademark("")] |
||||||
|
[assembly: AssemblyCulture("")] |
||||||
@ -0,0 +1,20 @@ |
|||||||
|
|
||||||
|
?xml version="1.0"?> |
||||||
|
<Template author="Peter Forstmeier" version="2.1"> |
||||||
|
|
||||||
|
<Config |
||||||
|
name = "${res:SharpReport.AddinName}" |
||||||
|
icon = "Icons.32x32.TextFileIcon" |
||||||
|
category = "${res:Templates.File.Categories.Misc}" |
||||||
|
defaultname = "Report${Number}.srd" |
||||||
|
language = "SharpDevelopReports"/> |
||||||
|
|
||||||
|
<Description>${res:Templates.SharpReport.NewReport}</Description> |
||||||
|
|
||||||
|
<Files> |
||||||
|
<File name="${FullName}" language="SharpDevelopReports"/> |
||||||
|
</Files> |
||||||
|
|
||||||
|
<AdditionalOptions/> |
||||||
|
</Template> |
||||||
|
|
||||||
@ -0,0 +1,217 @@ |
|||||||
|
<AddIn name = "SharpDevelopReports" |
||||||
|
author = "Forstmeier Peter" |
||||||
|
url = "http://www.sharpdevelopreports.net/" |
||||||
|
description = "Reporting Tool For SharpDevelop" |
||||||
|
addInManagerHidden = "preinstalled"> |
||||||
|
|
||||||
|
<Manifest> |
||||||
|
<Identity name="ICSharpCode.Reporting.Addin" /> |
||||||
|
|
||||||
|
<Dependency addin="SharpDevelop" /> |
||||||
|
<Dependency addin="ICSharpCode.Data.Addin" requirePreload="true" /> |
||||||
|
</Manifest> |
||||||
|
|
||||||
|
<Runtime> |
||||||
|
<Import assembly = "ICSharpCode.Reporting.dll" /> |
||||||
|
<Import assembly = "ICSharpCode.Reporting.Addin.dll"> |
||||||
|
<!--<Doozer name="ReportDialogPanel" class="ICSharpCode.Reports.Addin.ReportWizard.DialogPanelDoozer"/>--> |
||||||
|
</Import> |
||||||
|
</Runtime> |
||||||
|
|
||||||
|
<!-- DisplayBinding --> |
||||||
|
|
||||||
|
<Path name ="/SharpDevelop/Workbench/DisplayBindings"> |
||||||
|
<DisplayBinding id="SharpDevelopReportsBinding" |
||||||
|
insertbefore="Text" |
||||||
|
fileNamePattern="\.(srd)$" |
||||||
|
languagePattern="^SharpDevelopReports$" |
||||||
|
class="ICSharpCode.Reporting.Addin.DesignerBinding.ReportDesignerBinding"/> |
||||||
|
</Path> |
||||||
|
|
||||||
|
<!-- File Filter --> |
||||||
|
<!--<Path name ="/SharpDevelop/Workbench/FileFilter"> |
||||||
|
<FileFilter id="SharpDevelopReports" |
||||||
|
insertbefore="AllFiles" |
||||||
|
name="SharpDevelop Reports (*.srd)" |
||||||
|
extensions="*.srd" |
||||||
|
mimeType = "text/xml"/> |
||||||
|
</Path>--> |
||||||
|
|
||||||
|
<!-- ReportExplorer --> |
||||||
|
|
||||||
|
<!-- <Path name = "/SharpDevelop/Workbench/Pads"> |
||||||
|
<Pad id="reportexplorer" |
||||||
|
category = "Tools" |
||||||
|
icon="Icons.16x16.SharpQuery.Refresh" |
||||||
|
title = "ReportExplorer" |
||||||
|
class="ICSharpCode.Reports.Addin.ReportExplorerPad" |
||||||
|
defaultPosition = "Right, Hidden" /> |
||||||
|
</Path>--> |
||||||
|
|
||||||
|
|
||||||
|
<!--<Path name = "/SharpDevelop/ReportDesigner/ContextMenus/ContainerMenu"> |
||||||
|
<MenuItem id = "ViewCode" |
||||||
|
label = "${res:SharpDevelop.FormsDesigner.ContextMenus.ViewCodeCommand}" |
||||||
|
icon = "Icons.16x16.FormsDesigner.ViewCode" |
||||||
|
class = "ICSharpCode.Reports.Addin.Commands.ViewCode"/> |
||||||
|
|
||||||
|
<MenuItem id = "ShowProperties" |
||||||
|
label = "${res:XML.MainMenu.FormatMenu.ShowProperties}" |
||||||
|
icon = "Icons.16x16.Property" |
||||||
|
class = "ICSharpCode.Reports.Addin.Commands.ShowProperties"/> |
||||||
|
|
||||||
|
<MenuItem id = "PageMarginSeparator" type = "Separator"/> |
||||||
|
|
||||||
|
<MenuItem id = "PageMargin" |
||||||
|
label = "PageMargin" |
||||||
|
icon = "Icons.16x16.Property" |
||||||
|
class = "ICSharpCode.Reports.Addin.Commands.TogglePageMargin"/> |
||||||
|
|
||||||
|
<MenuItem id = "DesignerSeparator" type = "Separator"/> |
||||||
|
|
||||||
|
<MenuItem id = "Paste" |
||||||
|
label = "${res:XML.MainMenu.EditMenu.Paste}" |
||||||
|
icon = "Icons.16x16.PasteIcon" |
||||||
|
command = "Paste"/> |
||||||
|
|
||||||
|
<MenuItem id = "DesignerVerbsSeparator" type = "Separator"/> |
||||||
|
|
||||||
|
<MenuItem id = "DesignerVerbsBuilder" |
||||||
|
type = "Builder" |
||||||
|
class = "ICSharpCode.Reports.Addin.Commands.DesignerVerbSubmenuBuilder" /> |
||||||
|
</Path>--> |
||||||
|
|
||||||
|
<!--<Path name = "/SharpDevelop/ReportDesigner/ContextMenus/TraySelectionMenu"> |
||||||
|
<MenuItem id = "ViewCode" |
||||||
|
label = "${res:SharpDevelop.FormsDesigner.ContextMenus.ViewCodeCommand}" |
||||||
|
icon = "Icons.16x16.FormsDesigner.ViewCode" |
||||||
|
class = "ICSharpCode.Reports.Addin.Commands.ViewCode"/> |
||||||
|
|
||||||
|
<MenuItem id = "ShowProperties" |
||||||
|
label = "${res:XML.MainMenu.FormatMenu.ShowProperties}" |
||||||
|
icon = "Icons.16x16.Property" |
||||||
|
class = "ICSharpCode.Reports.Addin.Commands.ShowProperties"/> |
||||||
|
|
||||||
|
|
||||||
|
<MenuItem id = "DesignerVerbsSeparator" type = "Separator"/> |
||||||
|
|
||||||
|
<MenuItem id = "DesignerVerbsBuilder" |
||||||
|
type = "Builder" |
||||||
|
class = "ICSharpCode.Reports.Addin.Commands.DesignerVerbSubmenuBuilder" /> |
||||||
|
</Path>--> |
||||||
|
|
||||||
|
|
||||||
|
<!--<Path name = "/SharpDevelop/ReportDesigner/ContextMenus/SelectionMenu"> |
||||||
|
|
||||||
|
<MenuItem id = "ViewCode" |
||||||
|
label = "${res:SharpDevelop.FormsDesigner.ContextMenus.ViewCodeCommand}" |
||||||
|
icon = "Icons.16x16.FormsDesigner.ViewCode" |
||||||
|
class = "ICSharpCode.Reports.Addin.Commands.ViewCode"/> |
||||||
|
|
||||||
|
<MenuItem id = "ShowProperties" |
||||||
|
label = "${res:XML.MainMenu.FormatMenu.ShowProperties}" |
||||||
|
icon = "Icons.16x16.Property" |
||||||
|
class = "ICSharpCode.Reports.Addin.Commands.ShowProperties"/> |
||||||
|
|
||||||
|
<MenuItem id = "PropertySeparator" type = "Separator"/> |
||||||
|
|
||||||
|
<MenuItem id = "Cut" |
||||||
|
label = "${res:XML.MainMenu.EditMenu.Cut}" |
||||||
|
icon = "Icons.16x16.CutIcon" |
||||||
|
command = "Cut"/> |
||||||
|
|
||||||
|
<MenuItem id = "Copy" |
||||||
|
label = "${res:XML.MainMenu.EditMenu.Copy}" |
||||||
|
icon = "Icons.16x16.CopyIcon" |
||||||
|
command = "Copy"/> |
||||||
|
<MenuItem id = "Paste" |
||||||
|
label = "${res:XML.MainMenu.EditMenu.Paste}" |
||||||
|
icon = "Icons.16x16.PasteIcon" |
||||||
|
command = "Paste"/> |
||||||
|
|
||||||
|
<MenuItem id = "Delete" |
||||||
|
label = "${res:XML.MainMenu.EditMenu.Delete}" |
||||||
|
icon = "Icons.16x16.DeleteIcon" |
||||||
|
command = "Delete"/> |
||||||
|
|
||||||
|
<MenuItem id = "DesignerVerbsSeparator" type = "Separator"/> |
||||||
|
|
||||||
|
<MenuItem id = "DesignerVerbsBuilder" |
||||||
|
type = "Builder" |
||||||
|
class = "ICSharpCode.Reports.Addin.Commands.DesignerVerbSubmenuBuilder" /> |
||||||
|
</Path> |
||||||
|
--> |
||||||
|
|
||||||
|
|
||||||
|
<!-- ReportExplorer ContextMenu's --> |
||||||
|
|
||||||
|
<!--<Path name ="/SharpDevelopReports/ContextMenu/FieldsExplorer/SectionTreeNode"> |
||||||
|
<MenuItem id="removenodes" |
||||||
|
label="${res:SharpReport.FieldsExplorer.ContextMenu.Section.Clear}" |
||||||
|
class="ICSharpCode.Reports.Addin.Commands.ClearSelectedNodeCommand"/> |
||||||
|
</Path>--> |
||||||
|
|
||||||
|
<!-- Sorting --> |
||||||
|
|
||||||
|
<!--<Path name = "/SharpDevelopReports/ContextMenu/FieldsExplorer/ColumnSortTreeNode"> |
||||||
|
<MenuItem id="toggle" |
||||||
|
label="${res:SharpReport.FieldsExplorer.ContextMenu.Columns.ToggleSort}" |
||||||
|
class="ICSharpCode.Reports.Addin.Commands.ToggleOrderCommand"/> |
||||||
|
|
||||||
|
<MenuItem id="removesortnode" |
||||||
|
label="${res:SharpReport.FieldsExplorer.ContextMenu.Columns.Remove}" |
||||||
|
class="ICSharpCode.Reports.Addin.Commands.RemoveSortNodeCommand"/> |
||||||
|
|
||||||
|
</Path>--> |
||||||
|
|
||||||
|
<!-- Grouping --> |
||||||
|
<!--<Path name = "/SharpDevelopReports/ContextMenu/FieldsExplorer/ColumnGroupTreeNode"> |
||||||
|
<MenuItem id="toggle" |
||||||
|
label="${res:SharpReport.FieldsExplorer.ContextMenu.Columns.ToggleSort}" |
||||||
|
class="ICSharpCode.Reports.Addin.Commands.ToggleOrderCommand"/> |
||||||
|
|
||||||
|
<MenuItem id="removegroupnode" |
||||||
|
label="${res:SharpReport.FieldsExplorer.ContextMenu.Columns.Remove}" |
||||||
|
class="ICSharpCode.Reports.Addin.Commands.RemoveGroupNodeCommand"/> |
||||||
|
</Path>--> |
||||||
|
|
||||||
|
|
||||||
|
<!-- Run Expression Editor --> |
||||||
|
<!--<Path name = "/SharpDevelopReports/ContextMenu/FieldsExplorer/ParameterNode"> |
||||||
|
<MenuItem id="params" |
||||||
|
label="${res:SharpReport.FieldsExplorer.Parameters}" |
||||||
|
class="ICSharpCode.Reports.Addin.Commands.ParameterEditorCommand"/> |
||||||
|
</Path>--> |
||||||
|
<!-- Start SharpDevelop Reports from MainMenu --> |
||||||
|
<!-- label = "${res:SharpReport.ReportGenerator}"--> |
||||||
|
|
||||||
|
<!-- <Path name = "/SharpDevelop/Workbench/Tools"> |
||||||
|
<MenuItem id = "ReportGeneratorPad" |
||||||
|
|
||||||
|
label = "New Sharpreporting" |
||||||
|
class = "ICSharpCode.Reporting.Addin.Commands.XXXXStartViewCommand"/> |
||||||
|
</Path>--> |
||||||
|
|
||||||
|
<!-- Report wizard --> |
||||||
|
|
||||||
|
<!--<Path name = "/ReportGenerator/ReportGeneratorWizard"> |
||||||
|
<ReportDialogPanel id="Base" label = "${res:SharpReport.Wizard.BaseSettings}" class="ICSharpCode.Reports.Addin.ReportWizard.BaseSettingsPanel"/> |
||||||
|
<ReportDialogPanel id="PushModel" label="${res:SharpReport.Wizard.PushModel}" class="ICSharpCode.Reports.Addin.ReportWizard.PushModelPanel"/> |
||||||
|
<ReportDialogPanel id="PullModel" label="${res:SharpReport.Wizard.PullModel}" class="ICSharpCode.Reports.Addin.ReportWizard.PullModelPanel"/> |
||||||
|
<ReportDialogPanel id="QueryResult" label="${res:SharpReport.Wizard.ShowQueryResult}" class ="ICSharpCode.Reports.Addin.ReportWizard.ResultPanel"/> |
||||||
|
<ReportDialogPanel id="Layout" label="Layout" class ="ICSharpCode.Reports.Addin.ReportWizard.LayoutPanel"/> |
||||||
|
|
||||||
|
</Path>--> |
||||||
|
|
||||||
|
<!-- ContextMenu Sections --> |
||||||
|
<!-- Save Data from Resultpanel as *xsd File --> |
||||||
|
<!--<Path name ="/ReportGenerator/ResultPanel/ContextMenuDefault"> |
||||||
|
<MenuItem id="xsdcomplete" label="${res:SharpReport.Wizard.ResultPanel.SaveXsdComplete}" class="ICSharpCode.Reports.Addin.ReportWizard.XsdSchemaAndDataCommand"/> |
||||||
|
<MenuItem id="xsdschema" label="${res:SharpReport.Wizard.ResultPanel.SaveXsdSchemaOnly}" class="ICSharpCode.Reports.Addin.ReportWizard.XsdSchemaOnlyCommand"/> |
||||||
|
</Path>--> |
||||||
|
|
||||||
|
<!-- Tell SharpDevelop to look for the file template (EmptyReport.xft) in the AddIn directory --> |
||||||
|
<Path name = "/SharpDevelop/BackendBindings/Templates"> |
||||||
|
<TemplateFile id = "ICSharpCode.Reports" path = "." /> |
||||||
|
</Path> |
||||||
|
</AddIn> |
||||||
@ -0,0 +1,60 @@ |
|||||||
|
/* |
||||||
|
* Created by SharpDevelop. |
||||||
|
* User: Peter Forstmeier |
||||||
|
* Date: 11.02.2014 |
||||||
|
* Time: 20:19 |
||||||
|
* |
||||||
|
* To change this template use Tools | Options | Coding | Edit Standard Headers. |
||||||
|
*/ |
||||||
|
|
||||||
|
using System; |
||||||
|
using System.IO; |
||||||
|
using ICSharpCode.Core; |
||||||
|
using ICSharpCode.SharpDevelop; |
||||||
|
using ICSharpCode.SharpDevelop.Workbench; |
||||||
|
namespace ICSharpCode.Reporting.Addin.DesignerBinding { |
||||||
|
|
||||||
|
|
||||||
|
public class ReportDesignerBinding:IDisplayBinding { |
||||||
|
|
||||||
|
|
||||||
|
#region IDisplayBinding implementation
|
||||||
|
|
||||||
|
public bool IsPreferredBindingForFile(FileName fileName) |
||||||
|
{ |
||||||
|
return true; |
||||||
|
} |
||||||
|
|
||||||
|
public bool CanCreateContentForFile(FileName fileName) |
||||||
|
{ |
||||||
|
return Path.GetExtension(fileName).Equals(".srd", StringComparison.OrdinalIgnoreCase); |
||||||
|
} |
||||||
|
|
||||||
|
public double AutoDetectFileContent(FileName fileName, System.IO.Stream fileContent, string detectedMimeType) |
||||||
|
{ |
||||||
|
throw new System.NotImplementedException(); |
||||||
|
} |
||||||
|
|
||||||
|
public IViewContent CreateContentForFile(OpenedFile file) |
||||||
|
{ |
||||||
|
MessageService.ShowMessage("ReportDesigner not available at the Moment","New ReportDesigner"); |
||||||
|
return null; |
||||||
|
/* |
||||||
|
if (file.IsDirty) { |
||||||
|
var cmd = new ReportWizardCommand(file); |
||||||
|
cmd.Run(); |
||||||
|
if (cmd.Canceled) { |
||||||
|
return null; |
||||||
|
} |
||||||
|
file.SetData(cmd.GeneratedReport.ToArray()); |
||||||
|
} |
||||||
|
var viewCmd = new CreateDesignViewCommand(file); |
||||||
|
viewCmd.Run(); |
||||||
|
return viewCmd.DesignerView; |
||||||
|
*/ |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
#endregion
|
||||||
|
} |
||||||
|
} |
||||||
@ -1,95 +0,0 @@ |
|||||||
// Copyright (c) 2014 AlphaSierraPapa for the SharpDevelop Team
|
|
||||||
//
|
|
||||||
// Permission is hereby granted, free of charge, to any person obtaining a copy of this
|
|
||||||
// software and associated documentation files (the "Software"), to deal in the Software
|
|
||||||
// without restriction, including without limitation the rights to use, copy, modify, merge,
|
|
||||||
// publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
|
|
||||||
// to whom the Software is furnished to do so, subject to the following conditions:
|
|
||||||
//
|
|
||||||
// The above copyright notice and this permission notice shall be included in all copies or
|
|
||||||
// substantial portions of the Software.
|
|
||||||
//
|
|
||||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
|
||||||
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
|
|
||||||
// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
|
|
||||||
// FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
|
||||||
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
|
||||||
// DEALINGS IN THE SOFTWARE.
|
|
||||||
|
|
||||||
using System; |
|
||||||
using System.Collections.ObjectModel; |
|
||||||
using System.Xml; |
|
||||||
|
|
||||||
using ICSharpCode.Reporting; |
|
||||||
using ICSharpCode.Reporting.Interfaces; |
|
||||||
using ICSharpCode.Reporting.Items; |
|
||||||
using ICSharpCode.Reporting.PageBuilder.ExportColumns; |
|
||||||
using ICSharpCode.Reporting.WpfReportViewer; |
|
||||||
using ICSharpCode.Reporting.Xml; |
|
||||||
using ICSharpCode.SharpDevelop; |
|
||||||
using ICSharpCode.SharpDevelop.Workbench; |
|
||||||
|
|
||||||
namespace ICSharpCode.Reports.Addin.SecondaryViews |
|
||||||
{ |
|
||||||
/// <summary>
|
|
||||||
/// Description of WPFReportPreview.
|
|
||||||
/// </summary>
|
|
||||||
public class TestWPFReportPreview: AbstractSecondaryViewContent |
|
||||||
{ |
|
||||||
readonly ReportDesignerLoader designerLoader; |
|
||||||
|
|
||||||
IWpfReportViewer viewer; |
|
||||||
|
|
||||||
// IExportRunner exportRunner = new ExportRunner();
|
|
||||||
|
|
||||||
public TestWPFReportPreview(ReportDesignerLoader loader,IViewContent content):base(content) |
|
||||||
{ |
|
||||||
this.designerLoader = loader; |
|
||||||
viewer = new ICSharpCode.Reporting.WpfReportViewer.WpfReportViewer(); |
|
||||||
base.TabPageText = "TestWpf View"; |
|
||||||
Pages = new Collection<ExportPage>(); |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
public Collection<ExportPage> Pages{get;private set;} |
|
||||||
|
|
||||||
|
|
||||||
protected override void LoadFromPrimary() |
|
||||||
{ |
|
||||||
Pages.Clear(); |
|
||||||
var xmDoc = designerLoader.CreateXmlModel(); |
|
||||||
var modulLoader = new ModelLoader(); |
|
||||||
var reportModel = (ReportModel)modulLoader.Load(xmDoc.DocumentElement); |
|
||||||
|
|
||||||
var reportingFactory = new ReportingFactory(); |
|
||||||
var reportCreator = reportingFactory.ReportCreator(reportModel); |
|
||||||
var previewViewModel = new PreviewViewModel (reportModel.ReportSettings,reportCreator.Pages); |
|
||||||
reportCreator.BuildExportList(); |
|
||||||
var p = new PreviewViewModel (reportModel.ReportSettings,reportCreator.Pages); |
|
||||||
viewer.SetBinding(previewViewModel); |
|
||||||
//Missing
|
|
||||||
// var reportCreator = reportingFactory.ReportCreator(model);
|
|
||||||
// if (reportCreator == null){
|
|
||||||
// SD.MessageService.ShowWarning(String.Format("Cannot run {0} from Designer",
|
|
||||||
// GlobalEnums.PushPullModel.PushData.ToString()));
|
|
||||||
// return;
|
|
||||||
// }
|
|
||||||
// reportCreator.BuildExportList();
|
|
||||||
//
|
|
||||||
// PreviewViewModel previewViewModel = new PreviewViewModel (model.ReportSettings,reportCreator.Pages);
|
|
||||||
// viewer.SetBinding(previewViewModel);
|
|
||||||
} |
|
||||||
|
|
||||||
protected override void SaveToPrimary() |
|
||||||
{ |
|
||||||
// throw new NotImplementedException();
|
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
public override object Control { |
|
||||||
get { |
|
||||||
return viewer; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
Loading…
Reference in new issue