summaryrefslogtreecommitdiff
path: root/src/printutils.cc
diff options
context:
space:
mode:
authorkintel <kintel@b57f626f-c46c-0410-a088-ec61d464b74c>2010-02-28 20:54:55 (GMT)
committerkintel <kintel@b57f626f-c46c-0410-a088-ec61d464b74c>2010-02-28 20:54:55 (GMT)
commit7095f825eb63b3f9ea5663a162ea6c69935d8304 (patch)
tree531bb96256fbde93536fe3c00e9e7f4a350414f0 /src/printutils.cc
parent88be59d3db1bda2128d136fcf51a02a1372ccee5 (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.cc16
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);
}
}
-
contact: Jan Huwald // Impressum