LibEngsas
elogobject.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2010 - 2013 EngSaS - Engineering Solutions and Services Langenbach. All rights reserved.
3 
4  This library is free software; you can redistribute it and/or
5  modify it under the terms of the GNU Lesser General Public
6  License as published by the Free Software Foundation; either
7  version 2.1 of the License, or (at your option) any later version.
8 
9  This library is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  Lesser General Public License for more details.
13 
14  You should have received a copy of the GNU Lesser General Public
15  License along with this library; if not, write to the Free Software
16  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
17  MA 02110-1301 USA.
18 */
19 
20 #ifndef ELOGOBJECT_H
21 #define ELOGOBJECT_H
22 
23 #include "eobject.h"
24 #include "eglobal.h"
25 
26 class EWidget;
27 class ELogObjectPrivate;
28 
47 {
48  Q_OBJECT
49  public:
50  ELogObject(bool installMessageHandler, QObject *parent = NULL);
51  ~ELogObject();
58  void init(QString filePath = QString());
59  void setup(EObject *object);
60  void setup(EWidget *object);
66 #if QT_VERSION >= 0x050000
67  static void messageHandler(QtMsgType type, const QMessageLogContext &content, const QString &msg);
68 #else
69  static void messageHandler(QtMsgType type, const char *msg);
70 #endif
71 
72  signals:
73 #if QT_VERSION >= 0x050000
74  void addMessage(QtMsgType type, const QMessageLogContext &content, const QString msg);
75 #else
76  void addMessage(QtMsgType type, const QString msg);
77 #endif
78 
79  private:
80 #if QT_VERSION >= 0x050000
81  void populateMessage(QtMsgType type, const QMessageLogContext &content, const QString msg);
82 #else
83  void populateMessage(QtMsgType type, const QString msg);
84 #endif
85 
86  static ELogObject *self;
89 };
90 
91 #endif // ELOGOBJECT_H