Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

128 lines
2.6 KiB

  1. #if !defined( _INDEX_BUFFER_EDIT_ )
  2. #define _INDEX_BUFFER_EDIT_
  3. #include "vscroll.hxx"
  4. DECLARE_CLASS( INDEX_BUFFER_BASE );
  5. DECLARE_CLASS( NAME_INDEX_BUFFER_EDIT );
  6. DECLARE_CLASS( SECURITY_ID_INDEX_BUFFER_EDIT );
  7. DECLARE_CLASS( SECURITY_HASH_INDEX_BUFFER_EDIT );
  8. class INDEX_BUFFER_BASE : public VERTICAL_TEXT_SCROLL {
  9. public:
  10. VIRTUAL
  11. BOOLEAN
  12. Initialize(
  13. IN HWND WindowHandle,
  14. IN INT ClientHeight,
  15. IN INT ClientWidth,
  16. IN PLOG_IO_DP_DRIVE Drive
  17. );
  18. VIRTUAL
  19. VOID
  20. SetBuf(
  21. IN HWND WindowHandle,
  22. IN OUT PVOID Buffer,
  23. IN ULONG Size DEFAULT 0
  24. );
  25. VIRTUAL
  26. VOID
  27. Paint(
  28. IN HDC DeviceContext,
  29. IN RECT InvalidRect,
  30. IN HWND WindowHandle
  31. );
  32. VIRTUAL
  33. VOID
  34. KeyUp(
  35. IN HWND WindowHandle
  36. );
  37. VIRTUAL
  38. VOID
  39. KeyDown(
  40. IN HWND WindowHandle
  41. );
  42. private:
  43. NONVIRTUAL
  44. VOID
  45. PaintIndexRoot(
  46. IN HDC DeviceContext,
  47. IN RECT InvalidRect,
  48. IN HWND WindowHandle
  49. );
  50. NONVIRTUAL
  51. VOID
  52. WalkAndPaintIndexRecords(
  53. IN HDC DeviceContext,
  54. IN ULONG Offset,
  55. IN OUT int &CurrentLine
  56. );
  57. protected:
  58. VIRTUAL
  59. VOID
  60. PaintIndexRecord(
  61. IN HDC DeviceContext,
  62. IN PINDEX_ENTRY IndexEntry,
  63. IN OUT int &CurrentLine
  64. ) = 0;
  65. PVOID _buffer;
  66. ULONG _size;
  67. };
  68. class NAME_INDEX_BUFFER_EDIT : public INDEX_BUFFER_BASE {
  69. protected:
  70. VIRTUAL
  71. VOID
  72. PaintIndexRecord(
  73. IN HDC DeviceContext,
  74. IN PINDEX_ENTRY IndexEntry,
  75. IN OUT int & CurrentLine
  76. );
  77. };
  78. class SECURITY_ID_INDEX_BUFFER_EDIT : public INDEX_BUFFER_BASE {
  79. protected:
  80. VIRTUAL
  81. VOID
  82. PaintIndexRecord(
  83. IN HDC DeviceContext,
  84. IN PINDEX_ENTRY IndexEntry,
  85. IN OUT int & CurrentLine
  86. );
  87. };
  88. class SECURITY_HASH_INDEX_BUFFER_EDIT : public INDEX_BUFFER_BASE {
  89. protected:
  90. VIRTUAL
  91. VOID
  92. PaintIndexRecord(
  93. IN HDC DeviceContext,
  94. IN PINDEX_ENTRY IndexEntry,
  95. IN OUT int & CurrentLine
  96. );
  97. };
  98. #endif