ENH: Added Methods for loading the cache
This commit is contained in:
parent
063e398d57
commit
43fb9a11b5
|
@ -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();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue