cmCursesLongMessageForm.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
  2. file Copyright.txt or https://cmake.org/licensing for details. */
  3. #ifndef cmCursesLongMessageForm_h
  4. #define cmCursesLongMessageForm_h
  5. #include "cmConfigure.h" // IWYU pragma: keep
  6. #include "cmCursesForm.h"
  7. #include "cmCursesStandardIncludes.h"
  8. #include <string>
  9. #include <vector>
  10. class cmCursesLongMessageForm : public cmCursesForm
  11. {
  12. CM_DISABLE_COPY(cmCursesLongMessageForm)
  13. public:
  14. cmCursesLongMessageForm(std::vector<std::string> const& messages,
  15. const char* title);
  16. ~cmCursesLongMessageForm() override;
  17. // Description:
  18. // Handle user input.
  19. void HandleInput() override;
  20. // Description:
  21. // Display form. Use a window of size width x height, starting
  22. // at top, left.
  23. void Render(int left, int top, int width, int height) override;
  24. // Description:
  25. // This method should normally called only by the form.
  26. // The only exception is during a resize.
  27. void PrintKeys();
  28. // Description:
  29. // This method should normally called only by the form.
  30. // The only exception is during a resize.
  31. void UpdateStatusBar() override;
  32. protected:
  33. std::string Messages;
  34. std::string Title;
  35. FIELD* Fields[2];
  36. };
  37. #endif // cmCursesLongMessageForm_h