Index: sansguiframe/src/sans/guiframe/gui_statusbar.py
===================================================================
--- sansguiframe/src/sans/guiframe/gui_statusbar.py	(revision 5f15492684e13c9828463118d527638f8e6682e2)
+++ sansguiframe/src/sans/guiframe/gui_statusbar.py	(revision 2d9849092421451bed084362452ed102833039ce)
@@ -2,4 +2,5 @@
 from wx import StatusBar as wxStatusB
 from wx.lib import newevent
+import wx.richtext
 import time
 #numner of fields of the status bar 
@@ -12,6 +13,6 @@
 BUTTON_SIZE = 40
 
-CONSOLE_WIDTH = 340
-CONSOLE_HEIGHT = 240
+CONSOLE_WIDTH = 500
+CONSOLE_HEIGHT = 300
 
 class ConsolePanel(wx.Panel):
@@ -24,7 +25,9 @@
         self.parent = parent
         self.sizer = wx.BoxSizer(wx.VERTICAL)
-        self.msg_txt = wx.TextCtrl(self, size=(CONSOLE_WIDTH-40,
-                                                CONSOLE_HEIGHT-60), 
-                                        style=wx.TE_MULTILINE)
+        
+        self.msg_txt = wx.richtext.RichTextCtrl(self, size=(CONSOLE_WIDTH-40,
+                                                CONSOLE_HEIGHT-60),
+                                   style=wx.VSCROLL|wx.HSCROLL|wx.NO_BORDER)
+        
         self.msg_txt.SetEditable(False)
         self.msg_txt.SetValue('No message available')
@@ -32,9 +35,34 @@
         self.SetSizer(self.sizer)
         
-    def set_message(self, status=""):
-        """
-        """
-        msg = status + "\n"  
-        self.msg_txt.AppendText(str(msg))
+    def set_message(self, status="", event=None):
+        """
+        """
+        status = str(status)
+        if status.strip() == "":
+            return
+        color = (0, 0, 0) #black
+        icon_bmp =  wx.ArtProvider.GetBitmap(wx.ART_INFORMATION,
+                                                 wx.ART_TOOLBAR)
+        if hasattr(event, "info"):
+            icon_type = event.info.lower()
+            if icon_type == "warning":
+                color = (0, 0, 255) # blue
+                icon_bmp =  wx.ArtProvider.GetBitmap(wx.ART_WARNING,
+                                                      wx.ART_TOOLBAR)
+            if icon_type == "error":
+                color = (255, 0, 0) # red
+                icon_bmp =  wx.ArtProvider.GetBitmap(wx.ART_ERROR, 
+                                                     wx.ART_TOOLBAR)
+            if icon_type == "info":
+                icon_bmp =  wx.ArtProvider.GetBitmap(wx.ART_INFORMATION,
+                                                     wx.ART_TOOLBAR)
+        self.msg_txt.Newline()
+        self.msg_txt.WriteBitmap(icon_bmp)
+        self.msg_txt.BeginTextColour(color)
+        self.msg_txt.WriteText("\t")
+        self.msg_txt.AppendText(status)
+        self.msg_txt.EndTextColour()
+        
+           
         
 class Console(wx.Frame):
@@ -55,10 +83,10 @@
         if messages:
             for status in messages:
-                self.panel.set_message(status)
+                self.panel.set_message(status=status)
                 
-    def set_message(self, message):
-        """
-        """
-        self.panel.set_message(str(message))
+    def set_message(self, status, event=None):
+        """
+        """
+        self.panel.set_message(status=str(status), event=event)
         
     def Close(self, event):
@@ -148,5 +176,5 @@
         return self.msg_position
     
-    def SetStatusText(self, text="", number=MSG_POSITION):
+    def SetStatusText(self, text="", number=MSG_POSITION, event=None):
         """
         """
@@ -157,5 +185,5 @@
       
         if self.frame is not None :
-            self.frame.set_message(text)
+            self.frame.set_message(status=text, event=event)
         
     def PopStatusText(self, *args, **kwds):
@@ -217,7 +245,13 @@
     def set_icon(self, event):
         """
-        display icons related to the type of message sent to the statusbar
-        when available
-        """
+        Display icons related to the type of message sent to the statusbar
+        when available. No icon is displayed if the message is empty
+        """
+        if hasattr(event, "status"):
+            status = str(status)
+            if status.strip() == "":
+                return
+        else:
+            return
         if not hasattr(event, "info"):
             return 
@@ -239,5 +273,5 @@
         """
         if hasattr(event, "status"):
-            self.SetStatusText(str(event.status))
+            self.SetStatusText(text=str(event.status), event=event)
        
  
