| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
- file Copyright.txt or https://cmake.org/licensing for details. */
- #pragma once
- #include "cmConfigure.h" // IWYU pragma: keep
- #include <memory>
- #include <string>
- class cmCursesLabelWidget;
- class cmCursesWidget;
- class cmState;
- class cmCursesCacheEntryComposite
- {
- public:
- cmCursesCacheEntryComposite(const std::string& key, int labelwidth,
- int entrywidth);
- cmCursesCacheEntryComposite(const std::string& key, cmState* state,
- bool isNew, int labelwidth, int entrywidth);
- ~cmCursesCacheEntryComposite();
- cmCursesCacheEntryComposite(cmCursesCacheEntryComposite const&) = delete;
- cmCursesCacheEntryComposite& operator=(cmCursesCacheEntryComposite const&) =
- delete;
- cmCursesCacheEntryComposite(cmCursesCacheEntryComposite&&) = default;
- cmCursesCacheEntryComposite& operator=(cmCursesCacheEntryComposite&&) =
- default;
- const char* GetValue();
- friend class cmCursesMainForm;
- protected:
- std::unique_ptr<cmCursesLabelWidget> Label;
- std::unique_ptr<cmCursesLabelWidget> IsNewLabel;
- std::unique_ptr<cmCursesWidget> Entry;
- std::string Key;
- int LabelWidth;
- int EntryWidth;
- };
|