X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fdebug.h;h=3648ec83d222be38ef71c7f301d2166b41e94934;hb=52e5755c84ceb65d935764da467c7b948672e77e;hp=e8550e3311cf94e91054ebefdf0b6a6b4be8f8c2;hpb=e978fa42e38be22e9312be963ba6512fcd4b45ef;p=lyx.git diff --git a/src/debug.h b/src/debug.h index e8550e3311..3648ec83d2 100644 --- a/src/debug.h +++ b/src/debug.h @@ -1,6 +1,11 @@ // -*- C++ -*- /** * \file debug.h + * + * FIXME: It would be nice if, in lyx::use_gui mode, instead of + * outputting to the console, we would pipe all messages onto a file + * and visualise the contents dynamically in a Qt window if needed. + * * This file is part of LyX, the document processor. * Licence details can be found in the file COPYING. * @@ -14,12 +19,17 @@ #define LYXDEBUG_H #include "support/debugstream.h" +#include "support/docstring.h" + + +namespace lyx { /** Ideally this should have been a namespace, but since we try to be * compilable on older C++ compilators too, we use a struct instead. * This is all the different debug levels that we have. */ -struct lyx_debug_trait { +class lyx_debug_trait { +public: /// enum type { /// @@ -73,6 +83,8 @@ struct lyx_debug_trait { /// EXTERNAL = (1 << 23), /// + PAINTING = (1 << 24), + /// DEBUG = (1 << 31), /// ANY = 0xffffffff @@ -106,11 +118,14 @@ void operator|=(lyx_debug_trait::type & d1, lyx_debug_trait::type d2) } -// std::ostream & operator<<(std::ostream & o, Debug::type t); - typedef basic_debugstream LyXErr; typedef LyXErr::debug Debug; extern LyXErr lyxerr; +} // namespace lyx + +#define LYXERR(type) if (!lyx::lyxerr.debugging(type)) ; else lyx::lyxerr + + #endif