45 lines
1.3 KiB
C++
45 lines
1.3 KiB
C++
#include "ConsoleOutputWidget.h"
|
|
#include <QScrollBar>
|
|
#include <QDateTime>
|
|
//#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<QTextEdit*> 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")+"]"+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);
|
|
}
|