summaryrefslogtreecommitdiffstats
path: root/Source/CursesDialog/cmCursesCacheEntryComposite.cxx
diff options
context:
space:
mode:
authorBerk Geveci <berk.geveci@kitware.com>2001-11-04 23:05:21 (GMT)
committerBerk Geveci <berk.geveci@kitware.com>2001-11-04 23:05:21 (GMT)
commit939d614978ff6772aae619bfbc3ef89e27b69f73 (patch)
tree0b6d52df9911a29a10d25afc7650cf7a1c5ba2f1 /Source/CursesDialog/cmCursesCacheEntryComposite.cxx
parentef74458b34dcf2d25b3948c535d59273c2307546 (diff)
downloadCMake-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.cxx73
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;
+}