cmCursesCacheEntryComposite.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /*============================================================================
  2. CMake - Cross Platform Makefile Generator
  3. Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
  4. Distributed under the OSI-approved BSD License (the "License");
  5. see accompanying file Copyright.txt for details.
  6. This software is distributed WITHOUT ANY WARRANTY; without even the
  7. implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  8. See the License for more information.
  9. ============================================================================*/
  10. #ifndef cmCursesCacheEntryComposite_h
  11. #define cmCursesCacheEntryComposite_h
  12. #include <cmConfigure.h> // IWYU pragma: keep
  13. #include <string>
  14. class cmCursesLabelWidget;
  15. class cmCursesWidget;
  16. class cmake;
  17. class cmCursesCacheEntryComposite
  18. {
  19. public:
  20. cmCursesCacheEntryComposite(const std::string& key, int labelwidth,
  21. int entrywidth);
  22. cmCursesCacheEntryComposite(const std::string& key, cmake* cm, bool isNew,
  23. int labelwidth, int entrywidth);
  24. ~cmCursesCacheEntryComposite();
  25. const char* GetValue();
  26. friend class cmCursesMainForm;
  27. protected:
  28. cmCursesCacheEntryComposite(const cmCursesCacheEntryComposite& from);
  29. void operator=(const cmCursesCacheEntryComposite&);
  30. cmCursesLabelWidget* Label;
  31. cmCursesLabelWidget* IsNewLabel;
  32. cmCursesWidget* Entry;
  33. std::string Key;
  34. int LabelWidth;
  35. int EntryWidth;
  36. };
  37. #endif // cmCursesCacheEntryComposite_h