Path: blob/master/Source/CursesDialog/cmCursesCacheEntryComposite.h
4998 views
/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying1file LICENSE.rst or https://cmake.org/licensing for details. */2#pragma once34#include "cmConfigure.h" // IWYU pragma: keep56#include <memory>7#include <string>89class cmCursesLabelWidget;10class cmCursesWidget;11class cmState;1213class cmCursesCacheEntryComposite14{15public:16cmCursesCacheEntryComposite(std::string const& key, int labelwidth,17int entrywidth);18cmCursesCacheEntryComposite(std::string const& key, cmState* state,19bool isNew, int labelwidth, int entrywidth);20~cmCursesCacheEntryComposite();2122cmCursesCacheEntryComposite(cmCursesCacheEntryComposite const&) = delete;23cmCursesCacheEntryComposite& operator=(cmCursesCacheEntryComposite const&) =24delete;2526cmCursesCacheEntryComposite(cmCursesCacheEntryComposite&&) = default;27cmCursesCacheEntryComposite& operator=(cmCursesCacheEntryComposite&&) =28default;2930char const* GetValue();3132friend class cmCursesMainForm;3334protected:35std::unique_ptr<cmCursesLabelWidget> Label;36std::unique_ptr<cmCursesLabelWidget> IsNewLabel;37std::unique_ptr<cmCursesWidget> Entry;38std::string Key;39int LabelWidth;40int EntryWidth;41};424344