Browse Source

ENH: Update the cacheManager from the GUI after each callback.
Only load the cache from disk if the binary path has changed.

Luis Ibanez 24 years ago
parent
commit
796fc4c495

+ 7 - 4
Source/FLTKDialog/CMakeSetupGUIImplementation.cxx

@@ -230,12 +230,15 @@ CMakeSetupGUIImplementation
 
   if( m_WhereBuild != expandedAbsolutePath )
   {
-    m_BuildPathChanged = true;
-    m_WhereBuild = expandedAbsolutePath;
+    m_BuildPathChanged  = true;
+    m_WhereBuild        = expandedAbsolutePath;
+    LoadCacheFromDiskToGUI();
+  }
+  else 
+  {
+    m_BuildPathChanged = false;
   }
   
-  LoadCacheFromDiskToGUI();
-
   return true;
 
 }

+ 7 - 4
Source/FLTKDialog/FLTKPropertyItemRow.cxx

@@ -229,8 +229,7 @@ NameButtonCallback( Fl_Widget * widget, void * data)
         delete parentGroup;  // Patricide... ?
         // Redraw the list
         grandParentGroup->redraw();
-        
-
+        FillCacheManagerFromCacheGUI();        
         return;
       }
       break;
@@ -244,11 +243,11 @@ NameButtonCallback( Fl_Widget * widget, void * data)
 
 void
 PropertyItemRow::
-SaveCacheFromGUI( void )
+FillCacheManagerFromCacheGUI( void )
 {
   if( m_CMakeSetup )
   {
-    m_CMakeSetup->SaveCacheFromGUI();
+    m_CMakeSetup->FillCacheManagerFromCacheGUI();
   }
 }
 
@@ -275,6 +274,7 @@ CheckButtonCallback( Fl_Widget * widget, void * data)
   }
   button->redraw();
   
+  FillCacheManagerFromCacheGUI();
 
 }
 
@@ -289,6 +289,7 @@ InputTextCallback(   Fl_Widget * widget, void * data)
   
   item->m_curValue      = input->value();
 
+  FillCacheManagerFromCacheGUI();
 
 }
 
@@ -321,6 +322,7 @@ ColorSelectionCallback(   Fl_Widget * widget, void * data)
 
   colorButton->redraw();
  
+  FillCacheManagerFromCacheGUI();
 
 }
 
@@ -346,6 +348,7 @@ BrowsePathCallback(   Fl_Widget * widget, void * data)
     inputText->value( newpath );
   }
 
+  FillCacheManagerFromCacheGUI();
 
 }
 

+ 1 - 1
Source/FLTKDialog/FLTKPropertyItemRow.h

@@ -50,11 +50,11 @@ class PropertyItemRow  : public Fl_Tile
     static void BrowsePathCallback(  Fl_Widget *, void *);
     static void ColorSelectionCallback(   Fl_Widget * widget, void * data);
 
+    static void FillCacheManagerFromCacheGUI( void );
 
   public:
     
     static void SetCMakeSetupGUI( CMakeSetupGUIImplementation * );
-    static void SaveCacheFromGUI( void );
 };