]> git.lyx.org Git - lyx.git/blobdiff - src/debug.h
Small fixes
[lyx.git] / src / debug.h
index 36dd2a0e6cefb217f19b1edfc00087ce6caa6d92..5f4701894c969c7ca73c720b87553a4da7b7fc84 100644 (file)
@@ -1,8 +1,23 @@
 // -*- C++ -*-
+/* This file is part of
+ * ====================================================== 
+ * 
+ *           LyX, The Document Processor
+ *        
+ *           Copyright 1995 Matthias Ettrich
+ *           Copyright 1995-2000 The LyX Team.
+ *
+ * ====================================================== */
 
 #ifndef LYXDEBUG_H
 #define LYXDEBUG_H
 
+#ifdef __GNUG__
+#pragma interface
+#endif
+
+#include <iosfwd>
+
 #include "LString.h"
 #include "support/lstrings.h"
 
@@ -22,7 +37,7 @@ struct Debug {
                ///
                KEY        = (1 << 2),   // 4
                ///
-               TOOLBAR    = (1 << 3),   // 8
+               GUI        = (1 << 3),   // 8
                ///
                PARSER     = (1 << 4),   // 16
                ///
@@ -44,71 +59,47 @@ struct Debug {
                ///
                ROFF       = (1 << 13),  // 8192
                ///
-               ACTION     = (1 << 14)   // 16384
+               ACTION     = (1 << 14),   // 16384
+               ///
+               LYXLEX     = (1 << 15),
+               ///
+               DEPEND     = (1 << 16),
+               ///
+               INSETS     = (1 << 17),
+               ///
+               FILES      = (1 << 18)
        };
        ///
-       static const type ANY = type(INFO | INIT | KEY | TOOLBAR |
-                                    PARSER | LYXRC | KBMAP | LATEX |
-                                    MATHED | FONT | TCLASS | LYXVC |
-                                    LYXSERVER | ROFF | ACTION);
+//     static const type ANY = type(INFO | INIT | KEY | GUI |
+//                                  PARSER | LYXRC | KBMAP | LATEX |
+//                                  MATHED | FONT | TCLASS | LYXVC |
+//                                  LYXSERVER | ROFF | ACTION | LYXLEX |
+//                                  DEPEND | INSETS);
        ///
-       friend inline void operator|=(Debug::type & d1, Debug::type d2);
+       static type const ANY;
+
+       ///
+//     friend inline void operator|=(Debug::type & d1, Debug::type d2);
        
        /** A function to convert symbolic string names on debug levels
            to their numerical value.
        */
-       static Debug::type value(string const & val) {
-               type l = Debug::NONE;
-               string v(val);
-               while (!v.empty()) {
-                       string::size_type st = v.find(',');
-                       string tmp(v.substr(0, st));
-                       if (tmp.empty()) break;
-                       if (isStrInt(tmp)) {
-                               l |= static_cast<type>(strToInt(tmp));
-                               break;
-                       }
-                       if (!compare_no_case(tmp,"NONE")) 
-                               l |= Debug::NONE;
-                       else if (!compare_no_case(tmp,"INFO"))  
-                               l |= Debug::INFO;
-                       else if (!compare_no_case(tmp,"INIT"))  
-                               l |= Debug::INIT;
-                       else if (!compare_no_case(tmp,"KEY"))  
-                               l |= Debug::KEY; 
-                       else if (!compare_no_case(tmp,"TOOLBAR"))  
-                               l |= Debug::TOOLBAR;
-                       else if (!compare_no_case(tmp,"PARSER"))  
-                               l |= Debug::PARSER; 
-                       else if (!compare_no_case(tmp,"LYXRC"))  
-                               l |= Debug::LYXRC; 
-                       else if (!compare_no_case(tmp,"KBMAP"))  
-                               l |= Debug::KBMAP;  
-                       else if (!compare_no_case(tmp,"LATEX"))  
-                               l |= Debug::LATEX;  
-                       else if (!compare_no_case(tmp,"MATHED"))  
-                               l |= Debug::MATHED; 
-                       else if (!compare_no_case(tmp,"FONT"))  
-                               l |= Debug::FONT;   
-                       else if (!compare_no_case(tmp,"TCLASS"))  
-                               l |= Debug::TCLASS; 
-                       else if (!compare_no_case(tmp,"LYXVC"))  
-                               l |= Debug::LYXVC;  
-                       else if (!compare_no_case(tmp,"LYXSERVER"))  
-                               l |= Debug::LYXSERVER;
-                       else if (!compare_no_case(tmp,"ROFF"))  
-                               l |= Debug::ROFF;
-                       else if (!compare_no_case(tmp,"ACTION"))  
-                               l |= Debug::ACTION;
-                       else break; // unknown string
-                       if (st == string::npos) break;
-                       v.erase(0, st + 1);
-               }
-               return l;
-       }
+       static Debug::type value(string const & val); 
+
+       /** Display the tags and descriptions of the current debug level 
+           of ds 
+       */
+       static void showLevel(std::ostream & o, type level);
+
+       /** show all the possible tags that can be used for debugging */
+       static void showTags(std::ostream & o);
+
 };
-///
-inline void operator|= (Debug::type & d1, Debug::type d2)
+
+
+
+inline
+void operator|=(Debug::type & d1, Debug::type d2)
 {
        d1 = static_cast<Debug::type>(d1 | d2);
 }
@@ -116,11 +107,10 @@ inline void operator|= (Debug::type & d1, Debug::type d2)
 
 #include "support/DebugStream.h"
 
-///
-ostream & operator<<(ostream & o, Debug::type t);
 
-extern DebugStream lyxerr;
 
-#endif
+std::ostream & operator<<(std::ostream & o, Debug::type t);
 
+extern DebugStream lyxerr;
 
+#endif