X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fdebug.h;h=cb3d87e799be8e3491cc64e050c492ea895bfcd1;hb=98c966c64594611e469313314abd1e59524adb4a;hp=05ab7afc1ab57bab3a27f6c9b226df8b148a80cd;hpb=6130fe1aa5c07d0204205bcf5dd1f86b8449fb16;p=lyx.git diff --git a/src/debug.h b/src/debug.h index 05ab7afc1a..cb3d87e799 100644 --- a/src/debug.h +++ b/src/debug.h @@ -1,10 +1,24 @@ // -*- C++ -*- +/* This file is part of + * ====================================================== + * + * LyX, The Document Processor + * + * Copyright 1995 Matthias Ettrich + * Copyright 1995-2001 The LyX Team. + * + * ====================================================== */ #ifndef LYXDEBUG_H #define LYXDEBUG_H +#ifdef __GNUG__ +#pragma interface +#endif + +#include + #include "LString.h" -#include "support/lstrings.h" /** Ideally this should have been a namespace, but since we try to be compilable on older C++ compilators too, we use a struct instead. @@ -22,7 +36,7 @@ struct Debug { /// KEY = (1 << 2), // 4 /// - TOOLBAR = (1 << 3), // 8 + GUI = (1 << 3), // 8 /// PARSER = (1 << 4), // 16 /// @@ -44,71 +58,44 @@ 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), + /// + WORKAREA = (1 << 19), + /// + INSETTEXT = (1 << 20), + /// + GRAPHICS = (1 << 21) }; /// - static const type ANY = type(INFO | INIT | KEY | TOOLBAR | - PARSER | LYXRC | KBMAP | LATEX | - MATHED | FONT | TCLASS | LYXVC | - LYXSERVER | ROFF | ACTION); - /// - friend inline void operator|=(Debug::type & d1, Debug::type d2); - + static type const ANY; + /** 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(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(d1 | d2); } @@ -116,8 +103,9 @@ inline void operator|= (Debug::type & d1, Debug::type d2) #include "support/DebugStream.h" -/// -ostream & operator<<(ostream & o, Debug::type t); + + +std::ostream & operator<<(std::ostream & o, Debug::type t); extern DebugStream lyxerr;