summaryrefslogtreecommitdiffstats
path: root/Source/FLTKDialog/CMakeSetupGUIImplementation.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'Source/FLTKDialog/CMakeSetupGUIImplementation.cxx')
-rw-r--r--Source/FLTKDialog/CMakeSetupGUIImplementation.cxx32
1 files changed, 32 insertions, 0 deletions
diff --git a/Source/FLTKDialog/CMakeSetupGUIImplementation.cxx b/Source/FLTKDialog/CMakeSetupGUIImplementation.cxx
index 330e1ac..64d2ce4 100644
--- a/Source/FLTKDialog/CMakeSetupGUIImplementation.cxx
+++ b/Source/FLTKDialog/CMakeSetupGUIImplementation.cxx
@@ -7,6 +7,7 @@
#include "../cmCacheManager.h"
#include "../cmMakefile.h"
#include <iostream>
+#include "FLTKPropertyList.h"
@@ -254,6 +255,12 @@ void
CMakeSetupGUIImplementation
::SaveCacheFromGUI( void )
{
+ this->FillCacheManagerFromCacheGUI();
+ if( m_WhereBuild != "" )
+ {
+ cmCacheManager::GetInstance()->SaveCache(
+ m_WhereBuild.c_str() );
+ }
}
@@ -341,3 +348,28 @@ CMakeSetupGUIImplementation
+/**
+ * Fill cache manager from Cache GUI
+ */
+void
+CMakeSetupGUIImplementation
+::FillCacheManagerFromCacheGUI( void )
+{
+ cmCacheManager::GetInstance()->GetCacheMap();
+ std::set<fltk::PropertyItem*> items = m_CacheEntriesList.GetItems();
+ for(std::set<fltk::PropertyItem*>::iterator i = items.begin();
+ i != items.end(); ++i)
+ {
+ fltk::PropertyItem* item = *i;
+ cmCacheManager::CacheEntry *entry =
+ cmCacheManager::GetInstance()->GetCacheEntry(
+ (const char*)item->m_propName.c_str() );
+ if (entry)
+ {
+ entry->m_Value = item->m_curValue;
+ }
+ }
+
+}
+
+