Browse Source

Fix NullReference in ReportDesignerView.cs

reports
Peter Forstmeier 12 years ago
parent
commit
e8ea450258
  1. 5
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/ImageDesigner.cs
  2. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/DesignerBinding/ReportDesignerDisplayBinding.cs
  3. 86
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportDesignerView.cs
  4. 7
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseImageItem.cs

5
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/ImageDesigner.cs

@ -4,7 +4,6 @@ @@ -4,7 +4,6 @@
using System;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Windows.Forms;
using System.Windows.Forms.Design;
namespace ICSharpCode.Reports.Addin.Designer
@ -15,8 +14,8 @@ namespace ICSharpCode.Reports.Addin.Designer @@ -15,8 +14,8 @@ namespace ICSharpCode.Reports.Addin.Designer
/// </summary>
public class ImageDesigner:ControlDesigner
{
private ISelectionService selectionService;
private IComponentChangeService componentChangeService;
ISelectionService selectionService;
IComponentChangeService componentChangeService;
public ImageDesigner()
{

2
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/DesignerBinding/ReportDesignerDisplayBinding.cs

@ -26,7 +26,7 @@ namespace ICSharpCode.Reports.Addin @@ -26,7 +26,7 @@ namespace ICSharpCode.Reports.Addin
public IViewContent CreateContentForFile(OpenedFile file)
{
if (file.IsDirty) {
ReportWizardCommand cmd = new ReportWizardCommand(file);
var cmd = new ReportWizardCommand(file);
cmd.Run();
if (cmd.Canceled) {
return null;

86
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportDesignerView.cs

@ -13,18 +13,18 @@ using System.Text; @@ -13,18 +13,18 @@ using System.Text;
using System.Windows.Forms;
using ICSharpCode.Core;
using ICSharpCode.Reports.Addin.Commands;
using ICSharpCode.Reports.Addin.Designer;
using ICSharpCode.Reports.Addin.SecondaryViews;
using ICSharpCode.Reports.Core;
using ICSharpCode.Reports.Core.Exporter;
using ICSharpCode.Reports.Core.Exporter.ExportRenderer;
using ICSharpCode.Reports.Core.Globals;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.SharpDevelop.WinForms;
using ICSharpCode.SharpDevelop.Workbench;
using ICSharpCode.Reports.Addin.Commands;
using ICSharpCode.Reports.Addin.Designer;
using ICSharpCode.Reports.Addin.SecondaryViews;
namespace ICSharpCode.Reports.Addin
{
@ -34,26 +34,22 @@ namespace ICSharpCode.Reports.Addin @@ -34,26 +34,22 @@ namespace ICSharpCode.Reports.Addin
public class ReportDesignerView : AbstractViewContent, IHasPropertyContainer,
IClipboardHandler,IUndoHandler, IToolsHost,IPrintable
{
private bool IsFormsDesignerVisible;
private bool tabOrderMode;
private bool hasUnmergedChanges;
private bool unloading;
private string reportFileContent;
private Panel panel;
private ReportDesignerLoader loader;
private IDesignerGenerator generator;
private DesignSurface designSurface;
private DefaultServiceContainer defaultServiceContainer;
private ReportDesignerUndoEngine undoEngine;
private XmlView xmlView;
private ReportPreview reportPreview;
private ReportViewerSecondaryView reportViewer;
private TestWPFReportPreview testView;
readonly IDesignerGenerator generator;
bool IsFormsDesignerVisible;
bool tabOrderMode;
bool hasUnmergedChanges;
bool unloading;
string reportFileContent;
Panel panel;
ReportDesignerLoader loader;
DesignSurface designSurface;
DefaultServiceContainer defaultServiceContainer;
ReportDesignerUndoEngine undoEngine;
XmlView xmlView;
ReportPreview reportPreview;
ReportViewerSecondaryView reportViewer;
TestWPFReportPreview testView;
#region Constructor
@ -64,7 +60,7 @@ namespace ICSharpCode.Reports.Addin @@ -64,7 +60,7 @@ namespace ICSharpCode.Reports.Addin
public ReportDesignerView(OpenedFile openedFile, IDesignerGenerator generator):base (openedFile)
{
if (openedFile == null) {
throw new ArgumentNullException("opendFile");
throw new ArgumentNullException("openedFile");
}
if (generator == null) {
throw new ArgumentNullException("generator");
@ -91,8 +87,7 @@ namespace ICSharpCode.Reports.Addin @@ -91,8 +87,7 @@ namespace ICSharpCode.Reports.Addin
private void SetupSecondaryView ()
{
Console.WriteLine("SetupSecondaryView ()");
LoggingService.Info("Form Designer: SetupSecondaryView ");
xmlView = new XmlView(generator,this);
SecondaryViewContents.Add(xmlView);
@ -116,8 +111,7 @@ namespace ICSharpCode.Reports.Addin @@ -116,8 +111,7 @@ namespace ICSharpCode.Reports.Addin
private void LoadDesigner(Stream stream)
{
Console.WriteLine("LoadDesigner(Stream stream)");
LoggingService.Info("Form Designer: BEGIN INITIALIZE");
LoggingService.Info("Form Designer: LoadDesigner");
CreatePanel();
defaultServiceContainer = new DefaultServiceContainer();
@ -247,7 +241,7 @@ namespace ICSharpCode.Reports.Addin @@ -247,7 +241,7 @@ namespace ICSharpCode.Reports.Addin
private static string FormatLoadErrors(DesignSurface designSurface)
{
StringBuilder sb = new StringBuilder();
var sb = new StringBuilder();
foreach(Exception le in designSurface.LoadErrors) {
sb.AppendLine(le.ToString());
sb.AppendLine();
@ -259,8 +253,7 @@ namespace ICSharpCode.Reports.Addin @@ -259,8 +253,7 @@ namespace ICSharpCode.Reports.Addin
private void MergeFormChanges()
{
LoggingService.Info("MergeFormChanges()");
System.Diagnostics.Trace.WriteLine("View:MergeFormChanges()");
this.designSurface.Flush();
designSurface.Flush();
generator.MergeFormChanges(null);
LoggingService.Info("Finished merging form changes");
hasUnmergedChanges = false;
@ -290,7 +283,7 @@ namespace ICSharpCode.Reports.Addin @@ -290,7 +283,7 @@ namespace ICSharpCode.Reports.Addin
private void ReportExplorer_PropertyChanged (object sender,System.ComponentModel.PropertyChangedEventArgs e)
{
Console.WriteLine("ReportExplorer_PropertyChanged");
LoggingService.Info("ReportExplorer_PropertyChanged");
this.MakeDirty();
ReportExplorerPad explorerPad = CheckReportExplorer();
IComponentChangeService change = Host.GetService(typeof(IComponentChangeService)) as IComponentChangeService;
@ -313,11 +306,11 @@ namespace ICSharpCode.Reports.Addin @@ -313,11 +306,11 @@ namespace ICSharpCode.Reports.Addin
private void SelectionChangedHandler(object sender, EventArgs args)
{
ISelectionService ser = (ISelectionService)sender;
AbstractItem it = ser.PrimarySelection as AbstractItem;
if (it != null) {
if (String.IsNullOrEmpty(it.Site.Name)) {
it.Site.Name = it.Name;
var selectionService = (ISelectionService)sender;
var item = selectionService.PrimarySelection as AbstractItem;
if (item != null) {
if (String.IsNullOrEmpty(item.Site.Name)) {
item.Site.Name = item.Name;
}
}
UpdatePropertyPadSelection((ISelectionService)sender);
@ -332,10 +325,7 @@ namespace ICSharpCode.Reports.Addin @@ -332,10 +325,7 @@ namespace ICSharpCode.Reports.Addin
void TransactionClose(object sender, DesignerTransactionCloseEventArgs e)
{
if (shouldUpdateSelectableObjects) {
// update the property pad after the transaction is *really* finished
// (including updating the selection)
// WorkbenchSingleton.SafeThreadAsyncCall(UpdatePropertyPad);
SD.MainThread.InvokeAsync(null).FireAndForget();
SD.MainThread.InvokeAsync(UpdatePropertyPad).FireAndForget();
shouldUpdateSelectableObjects = false;
}
}
@ -347,7 +337,7 @@ namespace ICSharpCode.Reports.Addin @@ -347,7 +337,7 @@ namespace ICSharpCode.Reports.Addin
private void OnComponentChanged (object sender, ComponentChangedEventArgs e)
{
BaseImageItem item = e.Component as BaseImageItem;
var item = e.Component as BaseImageItem;
if (item != null) {
item.ReportFileName = this.loader.ReportModel.ReportSettings.FileName;
@ -626,9 +616,9 @@ namespace ICSharpCode.Reports.Addin @@ -626,9 +616,9 @@ namespace ICSharpCode.Reports.Addin
public void TogglePageMargin ()
{
IDesignerHost h = (IDesignerHost)this.designSurface.GetService(typeof(IDesignerHost));
RootReportModel r = (RootReportModel)h.RootComponent;
r.Toggle();
IDesignerHost designerHost = (IDesignerHost)this.designSurface.GetService(typeof(IDesignerHost));
RootReportModel rootReportModel = (RootReportModel)designerHost.RootComponent;
rootReportModel.Toggle();
}
#endregion
@ -644,7 +634,7 @@ namespace ICSharpCode.Reports.Addin @@ -644,7 +634,7 @@ namespace ICSharpCode.Reports.Addin
public virtual void ShowTabOrder()
{
if (!IsTabOrderMode) {
IMenuCommandService menuCommandService = (IMenuCommandService)designSurface.GetService(typeof(IMenuCommandService));
var menuCommandService = (IMenuCommandService)designSurface.GetService(typeof(IMenuCommandService));
menuCommandService.GlobalInvoke(StandardCommands.TabOrder);
tabOrderMode = true;
}
@ -653,7 +643,7 @@ namespace ICSharpCode.Reports.Addin @@ -653,7 +643,7 @@ namespace ICSharpCode.Reports.Addin
public virtual void HideTabOrder()
{
if (IsTabOrderMode) {
IMenuCommandService menuCommandService = (IMenuCommandService)designSurface.GetService(typeof(IMenuCommandService));
var menuCommandService = (IMenuCommandService)designSurface.GetService(typeof(IMenuCommandService));
menuCommandService.GlobalInvoke(StandardCommands.TabOrder);
tabOrderMode = false;
}

7
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseImageItem.cs

@ -1,13 +1,6 @@ @@ -1,13 +1,6 @@
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
/// <summary>
/// Handles the drawing of Images like Bitmap's and so on
/// </summary>
/// <remarks>
/// created by - Forstmeier Peter
/// created on - 04.10.2005 11:17:29
/// </remarks>
using System;
using System.Drawing;
using System.Globalization;

Loading…
Cancel
Save