]> Creatis software - bbtk.git/blobdiff - kernel/src/bbtkMessageManager.cxx
*** empty log message ***
[bbtk.git] / kernel / src / bbtkMessageManager.cxx
index 31c486bb1fac0579a62944db1bb30849f195608b..56c3227e91326e1a8b52357d598b737d80dbb967 100644 (file)
@@ -3,8 +3,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkMessageManager.cxx,v $
   Language:  C++
-  Date:      $Date: 2008/04/22 14:30:25 $
-  Version:   $Revision: 1.8 $
+  Date:      $Date: 2008/04/23 08:34:06 $
+  Version:   $Revision: 1.9 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -25,10 +25,18 @@ namespace bbtk
 {
 
   MessageManager::MessageManager() 
-    : mMaxMessageLength(8), mAllLevel(0) 
+    : mMaxMessageLength(8)//, mAllLevel(0), mMaxLevel(9)
     
   {
     std::string key;
+    key ="all";
+    mMessageLevel[key] = 0;
+    mMessageHelp[key] = "Minimum level for all kind of messages";
+    if (mMaxMessageLength<key.length()) mMaxMessageLength = key.length();
+    key ="max";
+    mMessageLevel[key] = 9;
+    mMessageHelp[key] = "Maximum level for all kind of messages";
+    if (mMaxMessageLength<key.length()) mMaxMessageLength = key.length();
     key ="Kernel";
     mMessageLevel[key] = 0;
     mMessageHelp[key] = "Messages generated by the core classes of the lib";
@@ -120,37 +128,31 @@ namespace bbtk
                                              unsigned char level) 
   {
     std::map<std::string,int>::iterator i;
-    if (key==std::string("All")) {
-      GetInstance()->mAllLevel = level;
-      
-      for (i=GetInstance()->mMessageLevel.begin();
-          i!=GetInstance()->mMessageLevel.end();
-          ++i) 
-        (*i).second = level;
-      
-    }
-    else {
-      i = GetInstance()->mMessageLevel.find(key);
-      if (i!=GetInstance()->mMessageLevel.end()) {
+    i = GetInstance()->mMessageLevel.find(key);
+    if (i!=GetInstance()->mMessageLevel.end()) 
+      {
        (*i).second = level;
       }
-      else {
+    else 
+      {
        bbtkWarning("MessageManager::SetMessageLevel : message type=<"
                    <<key<<"> unregistered");
       }
-    }
+    
   }
-
-
-
+  
+  
+  
   int MessageManager::GetMessageLevel(std::string key) 
   {
-    int l = GetInstance()->mAllLevel;
+    int l = GetInstance()->mMessageLevel["all"];
     std::map<std::string,int>::iterator i = 
       GetInstance()->mMessageLevel.find(key);
     if (i!=GetInstance()->mMessageLevel.end()) {
       if ( (*i).second > l ) l = (*i).second;      
     }
+    int m = GetInstance()->mMessageLevel["max"];
+    if (l>m) l=m;
     return l;
   }
 
@@ -162,10 +164,11 @@ namespace bbtk
                << bbtkendl);
     bbtkMessage("Help",1, "Kind");
     for (int k=0;
-        k<(int)(GetInstance()->mMaxMessageLength-8);
-        k++) {
-      bbtkMessageCont("Help",1," "); 
-    }
+        k<(int)(GetInstance()->mMaxMessageLength-2);
+        k++) 
+      {
+       bbtkMessageCont("Help",1," "); 
+      }
     bbtkMessageCont("Help",1,"Level  Nature" << bbtkendl);
     std::map<std::string,int>::iterator i;
     std::map<std::string,std::string>::iterator j;