]> git.lyx.org Git - features.git/commitdiff
no stl includes in debug.h
authorPeter Kümmel <syntheticpp@gmx.net>
Wed, 30 Dec 2009 15:09:49 +0000 (15:09 +0000)
committerPeter Kümmel <syntheticpp@gmx.net>
Wed, 30 Dec 2009 15:09:49 +0000 (15:09 +0000)
change Debug API

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32675 a592a061-630c-0410-9148-cb99ea01b6c8

src/LyX.cpp
src/LyXFunc.cpp
src/frontends/qt4/GuiProgressView.cpp
src/support/debug.cpp
src/support/debug.h

index 0c8234d9618e177f01abe99879e453fa15183fe7..7b5c07636f00556e3b9fa21e5d44ecc3a9424b2c 100644 (file)
@@ -957,7 +957,7 @@ int parse_dbg(string const & arg, string const &, string &)
        }
        lyxerr << to_utf8(bformat(_("Setting debug level to %1$s"), from_utf8(arg))) << endl;
 
-       lyxerr.level(Debug::value(arg));
+       lyxerr.setLevel(Debug::value(arg));
        Debug::showLevel(lyxerr, lyxerr.level());
        return 1;
 }
index 4b5355ad0e7b988aea21f98254519d3983addf2e..2c4c93e0425a6fee7375b2a02632aaa12d361377 100644 (file)
@@ -489,7 +489,7 @@ void LyXFunc::dispatch(FuncRequest const & cmd)
                        break;
 
                case LFUN_DEBUG_LEVEL_SET:
-                       lyxerr.level(Debug::value(to_utf8(cmd.argument())));
+                       lyxerr.setLevel(Debug::value(to_utf8(cmd.argument())));
                        break;
 
                default:
index 1094bf9ef1cc1338e9bc1aab5c5cb2bb5abf05fa..d31627897e1eda7d41d09e8ceb3a6013368cc1fe 100644 (file)
@@ -62,15 +62,16 @@ GuiProgressView::GuiProgressView(GuiView & parent, Qt::DockWidgetArea area,
        widget_->outTE->setFont(font);
 
 
-       const std::vector<Debug::Type> levels = Debug::levels();
-       for (unsigned int i = 1; i < levels.size(); i++) {
-               LevelButton * box = new LevelButton(toqstr(Debug::description(levels[i])));
-               box->level = levels[i];
+       const int levelCount = Debug::levelCount();
+       for (int i = 0; i < levelCount; i++) {
+               const Debug::Type level = Debug::value(i);
+               LevelButton * box = new LevelButton(toqstr(Debug::description(level)));
+               box->level = level;
                widget_->settingsLayout->addWidget(box);
                // TODO settings
                box->setChecked(false);
                level_buttons << box;
-               connect(box, SIGNAL(stateChanged(int)), this, SLOT(levelChange()));
+               connect(box, SIGNAL(stateChanged(int)), this, SLOT(levelChanged()));
        }
 
        
@@ -92,9 +93,15 @@ void GuiProgressView::levelChanged()
        int level = Debug::NONE;
        Q_FOREACH(const LevelButton* button, level_buttons) {
                if (button->isChecked())
-                       level |= button->level;
+                       // Debug::NONE overwrites other levels
+                       if (button->level == Debug::NONE) {
+                               lyxerr.setLevel(Debug::NONE);
+                               return;
+                       } else {
+                               level |= button->level;
+                       }
        }
-       lyxerr.level(static_cast<Debug::Type>(level));
+       lyxerr.setLevel(static_cast<Debug::Type>(level));
 }
 
 
index 6f3ce34e09064e94a567db8fc392635d95660626..03464284af04d987b8d097a87984fdeb0e0b1d20 100644 (file)
@@ -79,15 +79,20 @@ int const numErrorTags = sizeof(errorTags)/sizeof(errorTags[0]);
 } // namespace anon
 
 
-const std::vector<Debug::Type> Debug::levels()
+int Debug::levelCount()
 {
-       std::vector<Debug::Type> vec;
-       for (int i = 0 ; i < numErrorTags ; ++i) {
-               vec.push_back(errorTags[i].level);
-       }
-       return vec;
+       return numErrorTags;
 }
 
+
+Debug::Type Debug::value(int idx)
+{
+       if (idx > 0 && idx < numErrorTags)
+               return errorTags[idx].level;
+       return Debug::NONE;
+}
+
+
 string const Debug::description(Debug::Type val)
 {
        for (int i = 0 ; i < numErrorTags ; ++i) {
index ecabb506c1f4a7231e6cd5e4736752bdae0a8f2c..26bfd25ab80605252320f8fc70955dd2cc8769ed 100644 (file)
@@ -20,7 +20,6 @@
 #define LYXDEBUG_H
 
 #include "support/strfwd.h"
-#include <vector>
 
 namespace std {
 
@@ -108,13 +107,20 @@ namespace Debug {
                ANY = 0xffffffff
        };
 
-       const std::vector<Type> levels();
+
+       // Return number of levels
+       int levelCount();
 
        /** A function to convert symbolic string names on debug levels
            to their numerical value.
        */
        Type value(std::string const & val);
 
+       /** A function to convert index of level to their numerical value.
+       */
+       Type value(int val);
+
        /// Return description of level
        std::string const description(Type val);
 
@@ -158,7 +164,7 @@ public:
        /// Sets stream
        std::ostream & stream() { return *stream_; }
        /// Sets the debug level to t.
-       void level(Debug::Type t) { dt = t; }
+       void setLevel(Debug::Type t) { dt = t; }
        /// Returns the current debug level.
        Debug::Type level() const { return dt; }
        /// Returns stream