SectionHeader.cs 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. using FastReport.Export.Dxf.Groups;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. namespace FastReport.Export.Dxf.Sections
  5. {
  6. public class HeaderItem : GroupsStore
  7. {
  8. // 9
  9. // $ACADVER
  10. // 1
  11. // AC1015
  12. // private List<GroupBase> groups;
  13. #region Public Constructors
  14. public HeaderItem(string name, List<GroupBase> values)
  15. {
  16. AddGroup(9, name);
  17. foreach (GroupBase val in values)
  18. {
  19. AddGroup(val);
  20. }
  21. }
  22. #endregion Public Constructors
  23. #region Public Methods
  24. public void AppendTo(StringBuilder s)
  25. {
  26. foreach (GroupBase group in Groups)
  27. {
  28. group.AppendTo(s);
  29. s.Append("\n");
  30. }
  31. }
  32. #endregion Public Methods
  33. }
  34. public class SectionHeader : Section
  35. {
  36. #region Private Fields
  37. private List<HeaderItem> headerItems;
  38. #endregion Private Fields
  39. #region Public Constructors
  40. public SectionHeader() : base("HEADER")
  41. {
  42. headerItems = new List<HeaderItem>();
  43. AddVersion();
  44. }
  45. #endregion Public Constructors
  46. #region Public Methods
  47. public void AddVersion()
  48. {
  49. List<GroupBase> acadverValues = new List<GroupBase>();
  50. GroupUtils.AppendGroup(acadverValues, 1, "AC1015");
  51. headerItems.Add(new HeaderItem("$ACADVER", acadverValues));
  52. }
  53. public override void AppendTo(StringBuilder s)
  54. {
  55. StartSectionAppendTo(s);
  56. s.Append("\n");
  57. foreach (HeaderItem item in headerItems)
  58. {
  59. item.AppendTo(s);
  60. }
  61. EndSectionAppendTo(s);
  62. }
  63. #endregion Public Methods
  64. }
  65. }