BaseCubeLink.cs 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Text;
  5. #pragma warning disable FR0005 // Field must be texted in lowerCamelCase.
  6. namespace FastReport.CrossView
  7. {
  8. /// <summary>
  9. ///
  10. /// </summary>
  11. public struct CrossViewMeasureCell
  12. {
  13. /// <summary>
  14. ///
  15. /// </summary>
  16. public string Text;
  17. }
  18. /// <summary>
  19. ///
  20. /// </summary>
  21. public struct CrossViewAxisDrawCell
  22. {
  23. /// <summary>
  24. ///
  25. /// </summary>
  26. public int Level;
  27. /// <summary>
  28. ///
  29. /// </summary>
  30. public int SizeLevel;
  31. /// <summary>
  32. ///
  33. /// </summary>
  34. public int Cell;
  35. /// <summary>
  36. ///
  37. /// </summary>
  38. public int SizeCell;
  39. /// <summary>
  40. ///
  41. /// </summary>
  42. public int MeasureIndex;
  43. /// <summary>
  44. ///
  45. /// </summary>
  46. public string Text;
  47. // public PropertyOfCellAxis CellProperties;
  48. // public int TotalIndex;
  49. // public int NodeLevel;
  50. // public int NodeIndex;
  51. // public HorizontalAlignment Alignment;
  52. // public int ValueIndex;
  53. }
  54. /// <summary>
  55. ///
  56. /// </summary>
  57. /// <param name="crossViewAxisDrawCell"></param>
  58. /// <returns></returns>
  59. public delegate bool CrossViewAxisDrawCellHandler(CrossViewAxisDrawCell crossViewAxisDrawCell);
  60. /// <summary>
  61. /// Represents interface of the source for <see cref="CrossView"/> object.
  62. /// </summary>
  63. public interface IBaseCubeLink
  64. {
  65. /// <summary>
  66. ///
  67. /// </summary>
  68. int XAxisFieldsCount { get; }
  69. /// <summary>
  70. ///
  71. /// </summary>
  72. int YAxisFieldsCount { get; }
  73. /// <summary>
  74. ///
  75. /// </summary>
  76. int MeasuresCount { get; }
  77. /// <summary>
  78. ///
  79. /// </summary>
  80. int MeasuresLevel { get; }
  81. /// <summary>
  82. ///
  83. /// </summary>
  84. bool MeasuresInXAxis { get; }
  85. /// <summary>
  86. ///
  87. /// </summary>
  88. bool MeasuresInYAxis { get; }
  89. /// <summary>
  90. ///
  91. /// </summary>
  92. int DataColumnCount { get; }
  93. /// <summary>
  94. ///
  95. /// </summary>
  96. int DataRowCount { get; }
  97. /// <summary>
  98. ///
  99. /// </summary>
  100. bool SourceAssigned { get; }
  101. /// <summary>
  102. ///
  103. /// </summary>
  104. CrossViewMeasureCell GetMeasureCell(int colIndex, int rowIndex);
  105. /// <summary>
  106. ///
  107. /// </summary>
  108. void TraverseXAxis(CrossViewAxisDrawCellHandler crossViewAxisDrawCellHandler);
  109. /// <summary>
  110. ///
  111. /// </summary>
  112. void TraverseYAxis(CrossViewAxisDrawCellHandler crossViewAxisDrawCellHandler);
  113. /// <summary>
  114. ///
  115. /// </summary>
  116. string GetXAxisFieldName(int fieldIndex);
  117. /// <summary>
  118. ///
  119. /// </summary>
  120. string GetYAxisFieldName(int fieldIndex);
  121. /// <summary>
  122. ///
  123. /// </summary>
  124. string GetMeasureName(int measureIndex);
  125. }
  126. }
  127. #pragma warning restore FR0005 // Field must be texted in lowerCamelCase.