#include "ConsoleOutputWidget.h" #include #include //#include "geometryutils.h" void AppendConsole(Priority priority, const QString &output); ConsoleOutputWidget::ConsoleOutputWidget(const QString &title, QWidget *parent , Qt::WindowFlags flags ) :QDockWidget(title,parent,flags) { Console=new QTextEdit(this); this->setWidget(Console); Console->document()->setMaximumBlockCount(5000); //Console->setEnabled(false); } ConsoleOutputWidget::~ConsoleOutputWidget() { QVector aa; aa.append(Console); qDeleteAll(aa); } ConsoleOutputWidget* ConsoleOutService() { static ConsoleOutputWidget* singleInstance= new ConsoleOutputWidget("", nullptr, 0); return singleInstance; } void ConsoleOutputWidget::AppendConsole(QColor c, const QString &output) { Console->setTextColor(c); Console->verticalScrollBar()->setValue(Console->verticalScrollBar()->maximum()); Console->insertPlainText("["+QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss.zzz")+"]"+output); Console->insertPlainText("\n"); } void AppendConsole(Priority priority,const QString &output) { ConsoleOutputWidget *Console= ConsoleOutService(); if(priority==PAI_ERROR) Console->AppendConsole(Qt::red,output); else if(priority==PAI_WARN) Console->AppendConsole(Qt::darkYellow, output); else if(priority==PAI_INFO) Console->AppendConsole(Qt::blue, output); }