Index: guiframe/data_loader.py
===================================================================
--- guiframe/data_loader.py	(revision b3644f3d773d0bf2e3275a52f7cd2f3c6664d4f4)
+++ guiframe/data_loader.py	(revision 04349fee4fe3488c5aaedd1423d1205e0f444091)
@@ -158,4 +158,6 @@
         ## Creating a Data2D with output
         if hasattr(output,'data'):
+            msg = "Loading 2D data: %s"%output.filename
+            wx.PostEvent(parent, StatusEvent(status=msg, info="info", type="stop"))
             new_plot = Data2D(image=None, err_image=None)
       
Index: guiframe/statusbar.py
===================================================================
--- guiframe/statusbar.py	(revision b3644f3d773d0bf2e3275a52f7cd2f3c6664d4f4)
+++ guiframe/statusbar.py	(revision 04349fee4fe3488c5aaedd1423d1205e0f444091)
@@ -41,4 +41,7 @@
         
          ## Current progress value of the bar 
+         self.nb_start = 0
+         self.nb_progress = 0
+         self.nb_stop = 0
          self.progress = 0      
          self.timer = wx.Timer(self, -1) 
@@ -57,4 +60,6 @@
         """
         wxStatusB.SetStatusText(self, text, MSG_POSITION)
+        icon_bmp =  wx.ArtProvider.GetBitmap(wx.ART_INFORMATION, wx.ART_TOOLBAR)
+        self.bitmap_bt_warning.SetBitmapLabel(icon_bmp)
         
     def PopStatusText(self, *args, **kwds):
@@ -64,4 +69,12 @@
         wxStatusB.PushStatusText(self, field=MSG_POSITION,string=string)
         
+    def enable_clear_gauge(self):
+        """
+        """
+        flag = False
+        if (self.nb_start <= self.nb_stop) or (self.nb_progress <= self.nb_stop):
+            flag = True
+        return flag
+    
     def OnTimer_stop(self, evt): 
         """Clear the progress bar
@@ -74,4 +87,7 @@
         self.timer_stop.Stop() 
         self.clear_gauge(msg="")
+        self.nb_progress = 0 
+        self.nb_start = 0 
+        self.nb_stop = 0
        
     def OnTimer(self, evt): 
@@ -83,27 +99,9 @@
         if self.timer.IsRunning(): 
             self.gauge.Pulse()
-    """   
-    def set_progress(self): 
-        #Set the gauge value given the status of a thread
-        self.gauge.Show(True)
-        if self.timer.IsRunning(): 
-            while(self.thread.isrunning()):
-                self.progress += 1
-                # Update the progress value if it is less than the range 
-                if self.progress < self.gauge.GetRange()-20: 
-                    self.gauge.SetValue(int(self.progress)) 
-                else:
-                    self.gauge.SetValue(70) 
-                    self.progress = 0
-                    self.timer.Stop()
-            self.timer.Stop()
-            self.gauge.SetValue(90) 
-            self.progress =0
-    """        
+   
     def clear_gauge(self, msg=""):
         """
             Hide the gauge
         """
-        #self.SetStatusText(str(msg), MSG_POSITION)
         self.progress = 0
         self.gauge.SetValue(0)
@@ -144,4 +142,5 @@
         self.gauge.Show(True)
         if type.lower()=="start":
+            self.nb_start += 1
             self.timer.Stop()
             self.progress += 10
@@ -151,4 +150,5 @@
                 self.gauge.SetValue(int(self.progress)) 
         if type.lower()=="progress":
+            self.nb_progress += 1
             self.timer.Start(100)
             self.gauge.Pulse()
@@ -159,9 +159,12 @@
                 self.gauge.SetValue(int(self.progress))   
         if type.lower()=="stop":
+            self.nb_stop += 1
             self.gauge.Show(True)
-            self.timer.Stop()
-            self.progress = 0
-            self.gauge.SetValue(90) 
-            self.timer_stop.Start(3) 
+            print "self.enable_clear_gauge()",self.enable_clear_gauge()
+            if self.enable_clear_gauge():
+                self.timer.Stop()
+                self.progress = 0
+                self.gauge.SetValue(90) 
+                self.timer_stop.Start(3) 
                     
     def set_status(self, event):
