diff options
author | kintel <kintel@b57f626f-c46c-0410-a088-ec61d464b74c> | 2010-02-28 20:54:55 (GMT) |
---|---|---|
committer | kintel <kintel@b57f626f-c46c-0410-a088-ec61d464b74c> | 2010-02-28 20:54:55 (GMT) |
commit | 7095f825eb63b3f9ea5663a162ea6c69935d8304 (patch) | |
tree | 531bb96256fbde93536fe3c00e9e7f4a350414f0 /src/printutils.cc | |
parent | 88be59d3db1bda2128d136fcf51a02a1372ccee5 (diff) |
Removed MainWindow::current_win - made this a tiny bit better, decoupled MainWindow from printutils
git-svn-id: http://svn.clifford.at/openscad/trunk@467 b57f626f-c46c-0410-a088-ec61d464b74c
Diffstat (limited to 'src/printutils.cc')
-rw-r--r-- | src/printutils.cc | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/printutils.cc b/src/printutils.cc index a75cf14..3d909c4 100644 --- a/src/printutils.cc +++ b/src/printutils.cc @@ -1,7 +1,14 @@ #include "printutils.h" -#include "MainWindow.h" QList<QString> print_messages_stack; +OutputHandlerFunc *outputhandler = NULL; +void *outputhandler_data = NULL; + +void set_output_handler(OutputHandlerFunc *newhandler, void *userdata) +{ + outputhandler = newhandler; + outputhandler_data = userdata; +} void print_messages_push() { @@ -35,10 +42,9 @@ void PRINT_NOCACHE(const QString &msg) { if (msg.isNull()) return; - if (MainWindow::current_win.isNull()) { - fprintf(stderr, "%s\n", msg.toAscii().data()); + if (!outputhandler) { + fprintf(stderr, "%s\n", msg.toUtf8().data()); } else { - MainWindow::current_win->console->append(msg); + outputhandler(msg, outputhandler_data); } } - |