57 lines
1.3 KiB
C++
57 lines
1.3 KiB
C++
/**
|
||
* @file ConsoleOutputWidget.h
|
||
* @brief 统一输出服务,采用了singleton模式
|
||
* @date 2015-1-18
|
||
* @author: aiya
|
||
*/
|
||
#pragma once
|
||
#include <QDockWidget>
|
||
#include <QTextEdit>
|
||
|
||
enum Priority
|
||
{
|
||
PAI_FATAL = 1 << 4,
|
||
PAI_ERROR = 1 << 3,
|
||
PAI_WARN = 1 << 2,
|
||
PAI_INFO = 1 << 1,
|
||
PAI_DEBUG = 1 << 0,
|
||
PAI_BASE = 1,
|
||
PAI_FATAL_UP = PAI_FATAL,
|
||
PAI_ERROR_UP = PAI_ERROR | PAI_FATAL_UP,
|
||
PAI_WARN_UP = PAI_WARN | PAI_ERROR_UP,
|
||
PAI_INFO_UP = PAI_INFO | PAI_WARN_UP,
|
||
PAI_DEBUG_UP = PAI_DEBUG | PAI_INFO_UP,
|
||
PAI_ALL = PAI_DEBUG_UP,
|
||
PAI_DEFAULT = PAI_INFO_UP,
|
||
};
|
||
|
||
/**
|
||
* @class ConsoleOutputWidget
|
||
* @brief 统一输出服务,在界面输出的同时,调用了底层的日志写出程序
|
||
* @useage
|
||
AppendConsole(PAI_ERROR,"测试输出");
|
||
AppendConsole(PAI_INFO,"测试输出");
|
||
* @date 2015-1-18
|
||
* @author: aiya
|
||
*/
|
||
class ConsoleOutputWidget:public QDockWidget
|
||
{
|
||
Q_OBJECT
|
||
public:
|
||
ConsoleOutputWidget(const QString &title, QWidget *parent = 0, Qt::WindowFlags flags = 0);
|
||
~ConsoleOutputWidget();
|
||
/**
|
||
* @function AppendConsole
|
||
* @brief 输出日志
|
||
* @param priority 日志输出级别
|
||
* @param output 要输出的日志内容
|
||
*/
|
||
void AppendConsole(QColor c,const QString &output);
|
||
private:
|
||
|
||
QTextEdit * Console;
|
||
};
|
||
|
||
extern ConsoleOutputWidget* ConsoleOutService();
|
||
|