Browse Source

RelativeFileName for Images, set Filename in Designer

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@5477 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
pull/1/head
Peter Forstmeier 16 years ago
parent
commit
1fe4014652
  1. 38
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/DesignerBinding/ReportDefinitionDeserializer.cs
  2. 15
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportDesignerView.cs
  3. 65
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportItems/BaseImageItem.cs
  4. 2
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportItems/BaseTextItem.cs
  5. 4
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Dialogs/DefaultTextEditor.cs
  6. 51
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/ReportSettings.cs

38
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/DesignerBinding/ReportDefinitionDeserializer.cs

@ -83,24 +83,42 @@ namespace ICSharpCode.Reports.Addin @@ -83,24 +83,42 @@ namespace ICSharpCode.Reports.Addin
baseImageItem.ReportFileName = fileName;
if (Path.IsPathRooted(baseImageItem.ImageFileName)) {
string d = ICSharpCode.Reports.Core.FileUtility.GetRelativePath(
Path.GetDirectoryName(fileName),
Path.GetDirectoryName(baseImageItem.ImageFileName));
baseImageItem.RelativeFileName = d + Path.DirectorySeparatorChar + Path.GetFileName(baseImageItem.ImageFileName);
}
}
}
}
string p2 = Path.GetFullPath(fileName);
//// string p3 = Path.GetFullPath(relativeFileName);
string p3 = Path.GetFullPath(baseImageItem.RelativeFileName);
string s = ICSharpCode.Reports.Core.FileUtility.GetRelativePath(p2,p3);
private static void old_Absolut2RelativePath (BaseSection section, string fileName)
{
System.Diagnostics.Trace.WriteLine("Absolut2RelativePath");
foreach (Control item in section.Controls) {
BaseImageItem baseImageItem = item as BaseImageItem;
if (baseImageItem != null) {
baseImageItem.ReportFileName = fileName;
if (Path.IsPathRooted(baseImageItem.ImageFileName)) {
string d = ICSharpCode.Reports.Core.FileUtility.GetRelativePath(
string relPath = ICSharpCode.Reports.Core.FileUtility.GetRelativePath(
Path.GetDirectoryName(fileName),
Path.GetDirectoryName(baseImageItem.ImageFileName));
string g = d + Path.DirectorySeparatorChar + Path.GetFileName(baseImageItem.ImageFileName);
// baseImageItem.RelativeFileName = d + Path.DirectorySeparatorChar + Path.GetFileName(baseImageItem.ImageFileName);
baseImageItem.RelativeFileName = s;
if (File.Exists(s)){
System.Diagnostics.Trace.WriteLine(String.Format("relativ image {0}",relPath));
string relFile = relPath + Path.DirectorySeparatorChar + Path.GetFileName(baseImageItem.ImageFileName);
System.Diagnostics.Trace.WriteLine(String.Format("ggg image {0}",relFile));
baseImageItem.RelativeFileName = relPath + Path.DirectorySeparatorChar + Path.GetFileName(baseImageItem.ImageFileName);
string ddd = ICSharpCode.Reports.Core.FileUtility.GetAbsolutePath(Path.GetDirectoryName(fileName),relFile);
System.Diagnostics.Trace.WriteLine(String.Format("baseImageItem.RelativeFileName {0}",relFile));
if (File.Exists(ddd)){
Console.WriteLine("found");
}
}
}
}
}

15
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportDesignerView.cs

@ -20,6 +20,7 @@ using ICSharpCode.Core; @@ -20,6 +20,7 @@ using ICSharpCode.Core;
using ICSharpCode.Reports.Core;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Gui;
using System.Linq;
namespace ICSharpCode.Reports.Addin
{
@ -702,18 +703,26 @@ namespace ICSharpCode.Reports.Addin @@ -702,18 +703,26 @@ namespace ICSharpCode.Reports.Addin
base.Load(file, stream);
this.LoadDesigner(stream);
this.SetupSecondaryView();
System.Diagnostics.Trace.WriteLine("");
System.Diagnostics.Trace.WriteLine(String.Format("DesignerView Load {0}",file.FileName));
//Always set Filename, otherwise rel path didn#t work
ComponentCollection c = Host.Container.Components;
foreach (IComponent component in c) {
if (component is ReportSettings) {
var r = component as ReportSettings;
r.FileName = file.FileName;
}
}
}
public override void Save(ICSharpCode.SharpDevelop.OpenedFile file,Stream stream)
{
LoggingService.Debug("ReportDesigner: Save " + file.FileName);
if (hasUnmergedChanges) {
this.MergeFormChanges();
}
Console.WriteLine(this.ReportFileContent);
using(StreamWriter writer = new StreamWriter(stream)) {
writer.Write(this.ReportFileContent);
}

65
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportItems/BaseImageItem.cs

@ -78,7 +78,7 @@ namespace ICSharpCode.Reports.Addin @@ -78,7 +78,7 @@ namespace ICSharpCode.Reports.Addin
public string ImageFileName {
get { return imageFileName; }
set { imageFileName = value;
System.Diagnostics.Trace.WriteLine(String.Format("<ADDIN.BaseImage > {0}",this.ImageFileName));
System.Diagnostics.Trace.WriteLine(String.Format("<ADDIN.Set BaseImage > {0}",this.ImageFileName));
}
}
@ -96,23 +96,14 @@ namespace ICSharpCode.Reports.Addin @@ -96,23 +96,14 @@ namespace ICSharpCode.Reports.Addin
return b;
}
private Image LoadImage ()
{
try {
Image im = null;
// string absFileName = this.AbsoluteFileName;
this.relativeFileName = FileUtility.GetRelativePath(this.ReportFileName,this.ImageFileName);
// absFileName = FileUtility.GetAbsolutePath (this.relativeFileName,this.ImageFileName);
// System.Diagnostics.Trace.WriteLine("-----");
// System.Diagnostics.Trace.WriteLine(String.Format("<ADDIN.LoadImage ReportFN > {0}",this.reportFileName));
// System.Diagnostics.Trace.WriteLine(String.Format("<ADDIN.LoadImage IamgeFN > {0}",this.ImageFileName));
// System.Diagnostics.Trace.WriteLine(String.Format("<ADDIN.LoadImage rel neu s3 > {0}",this.relativeFileName));
// System.Diagnostics.Trace.WriteLine(String.Format("<ADDIN.LoadImage from absolute > {0}",this.AbsoluteFileName));
// System.Diagnostics.Trace.WriteLine("-----");
string absFileName = this.AbsoluteFileName;
if (!String.IsNullOrEmpty(absFileName) && File.Exists(absFileName)){
im = Image.FromFile (absFileName);
Image im;
string absFileName = this.AbsoluteFileName;
if (!String.IsNullOrEmpty(absFileName) && File.Exists(absFileName)) {
im = Image.FromFile (this.AbsoluteFileName);
} else {
im = BaseImageItem.ErrorBitmap(base.Size);
}
@ -122,7 +113,6 @@ string absFileName = this.AbsoluteFileName; @@ -122,7 +113,6 @@ string absFileName = this.AbsoluteFileName;
throw new ReportException(str);
}
return im;
} catch (System.OutOfMemoryException) {
throw;
} catch (System.IO.FileNotFoundException) {
@ -131,27 +121,24 @@ string absFileName = this.AbsoluteFileName; @@ -131,27 +121,24 @@ string absFileName = this.AbsoluteFileName;
}
private Image old_LoadImage ()
{
try {
Image im = null;
string absFileName = this.AbsoluteFileName;
System.Diagnostics.Trace.WriteLine("-----");
System.Diagnostics.Trace.WriteLine(String.Format("<ADDIN.LoadImage > {0}",absFileName));
System.Diagnostics.Trace.WriteLine(String.Format("<ADDIN.LoadImage ReportFN > {0}",this.reportFileName));
System.Diagnostics.Trace.WriteLine(String.Format("<ADDIN.LoadImage IamgeFN > {0}",this.ImageFileName));
System.Diagnostics.Trace.WriteLine(String.Format("<ADDIN.LoadImage IamgeFN > {0}",this.RelativeFileName));
// string s1 = FileUtility.GetRelativePath(this.reportFileName,this.ImageFileName);
string s2 = FileUtility.GetRelativePath(this.ImageFileName,this.ReportFileName);
string s3 = FileUtility.GetAbsolutePath (s2,this.ImageFileName);
// System.Diagnostics.Trace.WriteLine(String.Format("<ADDIN.LoadImage s1 > {0}",s1));
//System.Diagnostics.Trace.WriteLine(String.Format("<ADDIN.LoadImage s2 > {0}",s2));
System.Diagnostics.Trace.WriteLine(String.Format("<ADDIN.LoadImage from absolute s3 > {0}",s3));
System.Diagnostics.Trace.WriteLine("-----");
if (!string.IsNullOrEmpty(relativeFileName)) {
string testFileName = FileUtility.NormalizePath(Path.Combine(Path.GetDirectoryName(this.reportFileName),this.relativeFileName));
if (File.Exists(testFileName)){
System.Diagnostics.Trace.WriteLine("Found");
}
}
this.relativeFileName = FileUtility.GetRelativePath(this.ReportFileName,this.ImageFileName);
string absFileName = this.AbsoluteFileName;
if (!String.IsNullOrEmpty(absFileName) && File.Exists(absFileName)){
im = Image.FromFile (this.AbsoluteFileName);
im = Image.FromFile (absFileName);
} else {
im = BaseImageItem.ErrorBitmap(base.Size);
}
@ -170,6 +157,7 @@ string absFileName = this.AbsoluteFileName; @@ -170,6 +157,7 @@ string absFileName = this.AbsoluteFileName;
}
[XmlIgnoreAttribute]
public Image Image {
get {
@ -226,12 +214,11 @@ string absFileName = this.AbsoluteFileName; @@ -226,12 +214,11 @@ string absFileName = this.AbsoluteFileName;
[XmlIgnoreAttribute]
[Category("Image")]
// [Browsable(false)]
public string ReportFileName {
get { return Path.GetFullPath(reportFileName); }
set { reportFileName = value;
System.Diagnostics.Trace.WriteLine("");
System.Diagnostics.Trace.WriteLine(String.Format("<ADDIN.ImageItem> Filename {0}",Path.GetFullPath(this.reportFileName)));}
System.Diagnostics.Trace.WriteLine(String.Format("<ADDIN.ImageItem>ReportFileName {0}",Path.GetFullPath(this.reportFileName)));}
}
@ -246,16 +233,22 @@ string absFileName = this.AbsoluteFileName; @@ -246,16 +233,22 @@ string absFileName = this.AbsoluteFileName;
}
// [XmlIgnoreAttribute]
[XmlIgnoreAttribute]
// [Category("Image")]
// [Browsable(false)]
public string AbsoluteFileName
{
get {
string absolute = FileUtility.GetAbsolutePath(reportFileName,imageFileName);
if (File.Exists(absolute)){
System.Diagnostics.Trace.WriteLine("Image.AbsoluteFileName");
System.Diagnostics.Trace.WriteLine(String.Format("Load from {0}",absolute));
System.Diagnostics.Trace.WriteLine(String.Format("report {0}",this.reportFileName));
System.Diagnostics.Trace.WriteLine(String.Format("img ab {0}",this.ImageFileName));
System.Diagnostics.Trace.WriteLine(String.Format("im rel {0}",this.relativeFileName));
string t = FileUtility.NormalizePath(Path.Combine(Path.GetDirectoryName(this.reportFileName),this.relativeFileName));
System.Diagnostics.Trace.WriteLine(String.Format("rebuild {0}",t));
System.Diagnostics.Trace.WriteLine("---------");
return absolute;
}
if (!string.IsNullOrEmpty(relativeFileName)) {

2
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportItems/BaseTextItem.cs

@ -68,7 +68,7 @@ namespace ICSharpCode.Reports.Addin @@ -68,7 +68,7 @@ namespace ICSharpCode.Reports.Addin
[EditorAttribute(typeof(UISettingsEditor),
[EditorAttribute(typeof(DefaultTextEditor),
typeof(System.Drawing.Design.UITypeEditor) )]
public override string Text {
get { return base.Text; }

4
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Dialogs/DefaultTextEditor.cs

@ -17,9 +17,9 @@ namespace ICSharpCode.Reports.Core @@ -17,9 +17,9 @@ namespace ICSharpCode.Reports.Core
/// <summary>
/// Description of UISettingsEditor.
/// </summary>
public class UISettingsEditor:UITypeEditor
public class DefaultTextEditor:UITypeEditor
{
public UISettingsEditor () {
public DefaultTextEditor () {
}
public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)

51
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/ReportSettings.cs

@ -75,7 +75,7 @@ namespace ICSharpCode.Reports.Core{ @@ -75,7 +75,7 @@ namespace ICSharpCode.Reports.Core{
private int rightMargin;
private Size pageSize;
public event EventHandler FileNameChanged;
// public event EventHandler FileNameChanged;
public ReportSettings():this(new Size(1169,827),"","")
{
@ -179,8 +179,7 @@ namespace ICSharpCode.Reports.Core{ @@ -179,8 +179,7 @@ namespace ICSharpCode.Reports.Core{
[Category("Base Settings")]
[DefaultValueAttribute ("")]
// [XmlIgnoreAttribute]
[XmlIgnoreAttribute]
public string FileName
{
get {
@ -190,17 +189,11 @@ namespace ICSharpCode.Reports.Core{ @@ -190,17 +189,11 @@ namespace ICSharpCode.Reports.Core{
return Path.GetFullPath(fileName);
}
set {
System.Diagnostics.Trace.WriteLine("");
System.Diagnostics.Trace.WriteLine(String.Format("<Core.ReportSettings> Filename {0}",Path.GetFullPath(value)));
if (fileName != value) {
fileName = value;
if (FileNameChanged != null ){
FileNameChanged (this,EventArgs.Empty);
}
}
}
}
[Browsable(true), Category("Base Settings")]
public GlobalEnums.ReportType ReportType {
get {
@ -215,23 +208,6 @@ namespace ICSharpCode.Reports.Core{ @@ -215,23 +208,6 @@ namespace ICSharpCode.Reports.Core{
#endregion
#region OutputSettings
[Category("Output Settings")]
[DefaultValueAttribute (true)]
public bool UseStandardPrinter
{
get {
return useStandardPrinter;
}
set {
if (useStandardPrinter != value) {
useStandardPrinter = value;
}
}
}
#endregion
#region Page Settings
@ -370,7 +346,7 @@ namespace ICSharpCode.Reports.Core{ @@ -370,7 +346,7 @@ namespace ICSharpCode.Reports.Core{
[Category("Data")]
[DefaultValueAttribute ("")]
[EditorAttribute (typeof(UISettingsEditor),
[EditorAttribute (typeof(DefaultTextEditor),
typeof(System.Drawing.Design.UITypeEditor) )]
public string ConnectionString {
get {
@ -389,7 +365,7 @@ namespace ICSharpCode.Reports.Core{ @@ -389,7 +365,7 @@ namespace ICSharpCode.Reports.Core{
[Category("Data")]
[DefaultValueAttribute ("")]
[EditorAttribute ( typeof(UISettingsEditor),
[EditorAttribute ( typeof(DefaultTextEditor),
typeof(System.Drawing.Design.UITypeEditor) )]
public string CommandText {
get {
@ -432,6 +408,8 @@ namespace ICSharpCode.Reports.Core{ @@ -432,6 +408,8 @@ namespace ICSharpCode.Reports.Core{
}
[Category("Data")]
[EditorAttribute ( typeof(DefaultTextEditor),
typeof(System.Drawing.Design.UITypeEditor) )]
public string NoDataMessage {
get {
return noDataMessage;
@ -458,6 +436,21 @@ namespace ICSharpCode.Reports.Core{ @@ -458,6 +436,21 @@ namespace ICSharpCode.Reports.Core{
}
}
[Category("Output Settings")]
[DefaultValueAttribute (true)]
public bool UseStandardPrinter
{
get {
return useStandardPrinter;
}
set {
if (useStandardPrinter != value) {
useStandardPrinter = value;
}
}
}
#endregion
[XmlIgnoreAttribute]

Loading…
Cancel
Save