summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorLuis Ibanez <luis.ibanez@kitware.com>2001-05-17 16:38:19 (GMT)
committerLuis Ibanez <luis.ibanez@kitware.com>2001-05-17 16:38:19 (GMT)
commit43fb9a11b57e5ed9325cd707df933525fc5ef6b2 (patch)
treec3ef63c5820ec1c71bcac25afdb1bb46616321e3 /Source
parent063e398d57485914aae744a94f5435a97e63f639 (diff)
downloadCMake-43fb9a11b57e5ed9325cd707df933525fc5ef6b2.zip
CMake-43fb9a11b57e5ed9325cd707df933525fc5ef6b2.tar.gz
CMake-43fb9a11b57e5ed9325cd707df933525fc5ef6b2.tar.bz2
ENH: Added Methods for loading the cache
Diffstat (limited to 'Source')
-rw-r--r--Source/FLTKDialog/CMakeSetupGUIImplementation.cpp127
1 files changed, 126 insertions, 1 deletions
diff --git a/Source/FLTKDialog/CMakeSetupGUIImplementation.cpp b/Source/FLTKDialog/CMakeSetupGUIImplementation.cpp
index 23b917c..dade486 100644
--- a/Source/FLTKDialog/CMakeSetupGUIImplementation.cpp
+++ b/Source/FLTKDialog/CMakeSetupGUIImplementation.cpp
@@ -4,6 +4,8 @@
#include "Fl/filename.H"
#include "Fl/fl_ask.H"
#include "cstring"
+#include "../cmCacheManager.h"
+#include "../cmMakefile.h"
@@ -212,8 +214,131 @@ CMakeSetupGUIImplementation
return;
}
- fl_message("Building project files ... please wait");
+ SaveCacheFromGUI();
+
+ fl_message("Building project files ... please wait");
+
+}
+
+
+
+/**
+ * Load Cache from disk to GUI
+ */
+void
+CMakeSetupGUIImplementation
+::LoadCacheFromDiskToGUI( void )
+{
+
+ const char * m_WhereBuild = binaryPathTextInput->value();
+
+ if( m_WhereBuild != "" )
+ {
+ cmCacheManager::GetInstance()->LoadCache(m_WhereBuild);
+
+ // Make sure the internal "CMAKE" cache entry is set.
+ const char* cacheValue = cmCacheManager::GetInstance()->GetCacheValue("CMAKE");
+ if(!cacheValue)
+ {
+ // Find our own exectuable.
+ std::string cMakeCMD = "\""+cmSystemTools::GetProgramPath(_pgmptr);
+ cMakeCMD += "/CMakeSetupCMD.exe\"";
+
+ // Save the value in the cache
+ cmCacheManager::GetInstance()->AddCacheEntry("CMAKE",
+ cMakeCMD.c_str(),
+ "Path to CMake executable.",
+ cmCacheManager::INTERNAL);
+ }
+
+ this->FillCacheGUIFromCacheManager();
+ }
}
+
+/**
+ * Save Cache from disk to GUI
+ */
+void
+CMakeSetupGUIImplementation
+::SaveCacheFromGUI( void )
+{
+}
+
+
+/**
+ * Fill Cache GUI from cache manager
+ */
+void
+CMakeSetupGUIImplementation
+::FillCacheGUIFromCacheManager( void )
+{
+ const cmCacheManager::CacheEntryMap &cache =
+ cmCacheManager::GetInstance()->GetCacheMap();
+ for(cmCacheManager::CacheEntryMap::const_iterator i = cache.begin();
+ i != cache.end(); ++i)
+ {
+ const char* key = i->first.c_str();
+ const cmCacheManager::CacheEntry& value = i->second;
+ /*
+ switch(value.m_Type )
+ {
+ case cmCacheManager::BOOL:
+ if(cmCacheManager::GetInstance()->IsOn(key))
+ {
+ m_CacheEntriesList.AddProperty(key,
+ "ON",
+ value.m_HelpString.c_str(),
+ CPropertyList::CHECKBOX,"");
+ }
+ else
+ {
+ m_CacheEntriesList.AddProperty(key,
+ "OFF",
+ value.m_HelpString.c_str(),
+ CPropertyList::CHECKBOX,"");
+ }
+ break;
+ case cmCacheManager::PATH:
+ m_CacheEntriesList.AddProperty(key,
+ value.m_Value.c_str(),
+ value.m_HelpString.c_str(),
+ CPropertyList::PATH,"");
+ break;
+ case cmCacheManager::FILEPATH:
+ m_CacheEntriesList.AddProperty(key,
+ value.m_Value.c_str(),
+ value.m_HelpString.c_str(),
+ CPropertyList::FILE,"");
+ break;
+ case cmCacheManager::STRING:
+ m_CacheEntriesList.AddProperty(key,
+ value.m_Value.c_str(),
+ value.m_HelpString.c_str(),
+ CPropertyList::EDIT,"");
+ break;
+ case cmCacheManager::INTERNAL:
+ break;
+ }
+ */
+ }
+ this->UpdateData(false);
+
+}
+
+
+/**
+ * UpdateData
+ */
+void
+CMakeSetupGUIImplementation
+::UpdateData( bool option )
+{
+ dialogWindow->redraw();
+ Fl::check();
+}
+
+
+