diff options
author | Berk Geveci <berk.geveci@kitware.com> | 2001-11-04 23:05:21 (GMT) |
---|---|---|
committer | Berk Geveci <berk.geveci@kitware.com> | 2001-11-04 23:05:21 (GMT) |
commit | 939d614978ff6772aae619bfbc3ef89e27b69f73 (patch) | |
tree | 0b6d52df9911a29a10d25afc7650cf7a1c5ba2f1 /Source/CursesDialog/cmCursesCacheEntryComposite.cxx | |
parent | ef74458b34dcf2d25b3948c535d59273c2307546 (diff) | |
download | CMake-939d614978ff6772aae619bfbc3ef89e27b69f73.zip CMake-939d614978ff6772aae619bfbc3ef89e27b69f73.tar.gz CMake-939d614978ff6772aae619bfbc3ef89e27b69f73.tar.bz2 |
Adding curses support.
Diffstat (limited to 'Source/CursesDialog/cmCursesCacheEntryComposite.cxx')
-rw-r--r-- | Source/CursesDialog/cmCursesCacheEntryComposite.cxx | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/Source/CursesDialog/cmCursesCacheEntryComposite.cxx b/Source/CursesDialog/cmCursesCacheEntryComposite.cxx new file mode 100644 index 0000000..1391e0e --- /dev/null +++ b/Source/CursesDialog/cmCursesCacheEntryComposite.cxx @@ -0,0 +1,73 @@ +#include "cmCursesCacheEntryComposite.h" +#include "cmCursesStringWidget.h" +#include "cmCursesLabelWidget.h" +#include "cmCursesBoolWidget.h" +#include "cmCursesPathWidget.h" +#include "cmCursesFilePathWidget.h" +#include "cmCursesDummyWidget.h" +#include "cmSystemTools.h" + +cmCursesCacheEntryComposite::cmCursesCacheEntryComposite(const char* key) : + m_Key(key) +{ + m_Label = new cmCursesLabelWidget(30, 1, 1, 1, key); + m_IsNewLabel = new cmCursesLabelWidget(1, 1, 1, 1, " "); + m_Entry = 0; +} + +cmCursesCacheEntryComposite::cmCursesCacheEntryComposite( + const char* key, const cmCacheManager::CacheEntry& value, bool isNew) : + m_Key(key) +{ + m_Label = new cmCursesLabelWidget(30, 1, 1, 1, key); + if (isNew) + { + m_IsNewLabel = new cmCursesLabelWidget(1, 1, 1, 1, "*"); + } + else + { + m_IsNewLabel = new cmCursesLabelWidget(1, 1, 1, 1, " "); + } + + m_Entry = 0; + switch ( value.m_Type ) + { + case cmCacheManager::BOOL: + m_Entry = new cmCursesBoolWidget(30, 1, 1, 1); + if (cmSystemTools::IsOn(value.m_Value.c_str())) + { + static_cast<cmCursesBoolWidget*>(m_Entry)->SetValueAsBool(true); + } + else + { + static_cast<cmCursesBoolWidget*>(m_Entry)->SetValueAsBool(false); + } + break; + case cmCacheManager::PATH: + m_Entry = new cmCursesPathWidget(30, 1, 1, 1); + static_cast<cmCursesPathWidget*>(m_Entry)->SetString( + value.m_Value.c_str()); + break; + case cmCacheManager::FILEPATH: + m_Entry = new cmCursesFilePathWidget(30, 1, 1, 1); + static_cast<cmCursesFilePathWidget*>(m_Entry)->SetString( + value.m_Value.c_str()); + break; + case cmCacheManager::STRING: + m_Entry = new cmCursesStringWidget(30, 1, 1, 1); + static_cast<cmCursesStringWidget*>(m_Entry)->SetString( + value.m_Value.c_str()); + break; + default: + // TODO : put warning message here + break; + } + +} + +cmCursesCacheEntryComposite::~cmCursesCacheEntryComposite() +{ + delete m_Label; + delete m_IsNewLabel; + delete m_Entry; +} |