ReportSettings.cs 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. using System.ComponentModel;
  2. using FastReport.Data;
  3. using FastReport.Utils;
  4. namespace FastReport
  5. {
  6. /// <summary>
  7. /// Specifies the default paper size used when creating a new report.
  8. /// </summary>
  9. public enum DefaultPaperSize
  10. {
  11. /// <summary>
  12. /// A4 paper (210 x 297 mm).
  13. /// </summary>
  14. A4,
  15. /// <summary>
  16. /// Letter paper (8.5 x 11 inches, 216 x 279 mm).
  17. /// </summary>
  18. Letter
  19. }
  20. /// <summary>
  21. /// This class contains settings that will be applied to the Report component.
  22. /// </summary>
  23. [TypeConverter(typeof(FastReport.TypeConverters.FRExpandableObjectConverter))]
  24. public partial class ReportSettings
  25. {
  26. private Language defaultLanguage;
  27. private DefaultPaperSize defaultPaperSize;
  28. private bool usePropValuesToDiscoverBO;
  29. private string imageLocationRoot;
  30. /// <include file='Resources/doc.xml' path='//CodeDoc/Topics/EnvironmentSettings/DatabaseLogin/*'/>
  31. public event DatabaseLoginEventHandler DatabaseLogin;
  32. /// <summary>
  33. /// Occurs after the database connection is established.
  34. /// </summary>
  35. public event AfterDatabaseLoginEventHandler AfterDatabaseLogin;
  36. /// <summary>
  37. /// Occurs when discovering the business object's structure.
  38. /// </summary>
  39. public event FilterPropertiesEventHandler FilterBusinessObjectProperties;
  40. /// <summary>
  41. /// Occurs when determining the kind of business object's property.
  42. /// </summary>
  43. public event GetPropertyKindEventHandler GetBusinessObjectPropertyKind;
  44. /// <summary>
  45. /// Occurs when discovering the structure of business object of ICustomTypeDescriptor type
  46. /// with no instance specified.
  47. /// </summary>
  48. /// <remarks>
  49. /// The event handler must return an instance of that type.
  50. /// </remarks>
  51. public event GetTypeInstanceEventHandler GetBusinessObjectTypeInstance;
  52. /// <summary>
  53. /// Gets or sets the default script language.
  54. /// </summary>
  55. [DefaultValue(Language.CSharp)]
  56. public Language DefaultLanguage
  57. {
  58. get { return defaultLanguage; }
  59. set { defaultLanguage = value; }
  60. }
  61. /// <summary>
  62. /// Gets or sets the default paper size used when creating a new report.
  63. /// </summary>
  64. [DefaultValue(DefaultPaperSize.A4)]
  65. public DefaultPaperSize DefaultPaperSize
  66. {
  67. get { return defaultPaperSize; }
  68. set { defaultPaperSize = value; }
  69. }
  70. /// <summary>
  71. /// Gets or sets a value indicating that the business object engine will use property values
  72. /// when possible to discover the BO structure.
  73. /// </summary>
  74. [DefaultValue(true)]
  75. public bool UsePropValuesToDiscoverBO
  76. {
  77. get { return usePropValuesToDiscoverBO; }
  78. set { usePropValuesToDiscoverBO = value; }
  79. }
  80. /// <summary>
  81. /// Gets or sets the default path for root of PictureObject.ImageLocation path.
  82. /// </summary>
  83. [DefaultValue("")]
  84. public string ImageLocationRoot
  85. {
  86. get { return imageLocationRoot; }
  87. set { imageLocationRoot = value; }
  88. }
  89. internal void OnAfterDatabaseLogin(DataConnectionBase sender, AfterDatabaseLoginEventArgs e)
  90. {
  91. if (AfterDatabaseLogin != null)
  92. AfterDatabaseLogin(sender, e);
  93. }
  94. internal void OnFilterBusinessObjectProperties(object sender, FilterPropertiesEventArgs e)
  95. {
  96. if (FilterBusinessObjectProperties != null)
  97. FilterBusinessObjectProperties(sender, e);
  98. }
  99. internal void OnGetBusinessObjectPropertyKind(object sender, GetPropertyKindEventArgs e)
  100. {
  101. if (GetBusinessObjectPropertyKind != null)
  102. GetBusinessObjectPropertyKind(sender, e);
  103. }
  104. internal void OnGetBusinessObjectTypeInstance(object sender, GetTypeInstanceEventArgs e)
  105. {
  106. if (GetBusinessObjectTypeInstance != null)
  107. GetBusinessObjectTypeInstance(sender, e);
  108. }
  109. /// <summary>
  110. /// Initializes a new instance of the <see cref="ReportSettings"/> class.
  111. /// </summary>
  112. public ReportSettings()
  113. {
  114. usePropValuesToDiscoverBO = true;
  115. }
  116. }
  117. }