9 changed files with 325 additions and 106 deletions
@ -0,0 +1,16 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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