diff options
author | Luis Ibanez <luis.ibanez@kitware.com> | 2001-05-17 16:38:19 (GMT) |
---|---|---|
committer | Luis Ibanez <luis.ibanez@kitware.com> | 2001-05-17 16:38:19 (GMT) |
commit | 43fb9a11b57e5ed9325cd707df933525fc5ef6b2 (patch) | |
tree | c3ef63c5820ec1c71bcac25afdb1bb46616321e3 /Source/FLTKDialog | |
parent | 063e398d57485914aae744a94f5435a97e63f639 (diff) | |
download | CMake-43fb9a11b57e5ed9325cd707df933525fc5ef6b2.zip CMake-43fb9a11b57e5ed9325cd707df933525fc5ef6b2.tar.gz CMake-43fb9a11b57e5ed9325cd707df933525fc5ef6b2.tar.bz2 |
ENH: Added Methods for loading the cache
Diffstat (limited to 'Source/FLTKDialog')
-rw-r--r-- | Source/FLTKDialog/CMakeSetupGUIImplementation.cpp | 127 |
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(); +} + + + |