/[svn]/qsampler/trunk/src/qsamplerMessages.h
ViewVC logotype

Contents of /qsampler/trunk/src/qsamplerMessages.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2441 - (show annotations) (download) (as text)
Wed Apr 10 09:11:37 2013 UTC (7 years, 1 month ago) by capela
File MIME type: text/x-c++hdr
File size: 3037 byte(s)
* Preparations for Qt5 migration. (FIXING)
1 // qsamplerMessages.h
2 //
3 /****************************************************************************
4 Copyright (C) 2004-2013, rncbc aka Rui Nuno Capela. All rights reserved.
5 Copyright (C) 2007, Christian Schoenebeck
6
7 This program is free software; you can redistribute it and/or
8 modify it under the terms of the GNU General Public License
9 as published by the Free Software Foundation; either version 2
10 of the License, or (at your option) any later version.
11
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License along
18 with this program; if not, write to the Free Software Foundation, Inc.,
19 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20
21 *****************************************************************************/
22
23 #ifndef __qsamplerMessages_h
24 #define __qsamplerMessages_h
25
26 #include <QDockWidget>
27
28 class QSocketNotifier;
29 class QTextEdit;
30 class QFile;
31
32 namespace QSampler {
33
34 //-------------------------------------------------------------------------
35 // QSampler::Messages - Messages log dockable window.
36 //
37
38 class Messages : public QDockWidget
39 {
40 Q_OBJECT
41
42 public:
43
44 // Constructor.
45 Messages(QWidget *pParent);
46 // Destructor.
47 ~Messages();
48
49 // Stdout/stderr capture accessors.
50 bool isCaptureEnabled();
51 void setCaptureEnabled(bool bCapture);
52
53 // Message font accessors.
54 QFont messagesFont();
55 void setMessagesFont(const QFont & font);
56
57 // Maximum number of message lines accessors.
58 int messagesLimit();
59 void setMessagesLimit(int iMessagesLimit);
60
61 // Logging settings.
62 bool isLogging() const;
63 void setLogging(bool bEnabled, const QString& sFilename = QString());
64
65 // The main utility methods.
66 void appendMessages(const QString& s);
67 void appendMessagesColor(const QString& s, const QString &c);
68 void appendMessagesText(const QString& s);
69
70 // Stdout capture functions.
71 void appendStdoutBuffer(const QString& s);
72 void flushStdoutBuffer();
73
74 // History reset.
75 void clear();
76
77 #if QT_VERSION < 0x040300
78 signals:
79
80 void visibilityChanged(bool bVisible);
81
82 #endif
83
84 protected:
85
86 // Message executives.
87 void appendMessagesLine(const QString& s);
88 void appendMessagesLog(const QString& s);
89
90 #if QT_VERSION < 0x040300
91
92 // Overridden method of QWidget
93 void showEvent(QShowEvent *pEvent);
94
95 #endif
96
97 protected slots:
98
99 // Stdout capture slot.
100 void stdoutNotify(int fd);
101
102 private:
103
104 // The maximum number of message lines.
105 int m_iMessagesLines;
106 int m_iMessagesLimit;
107 int m_iMessagesHigh;
108
109 // The textview main widget.
110 QTextEdit *m_pMessagesTextView;
111
112 // Stdout capture variables.
113 QSocketNotifier *m_pStdoutNotifier;
114 QString m_sStdoutBuffer;
115 int m_fdStdout[2];
116
117 // Logging stuff.
118 QFile *m_pMessagesLog;
119 };
120
121 } // namespace QSampler
122
123 #endif // __qsamplerMessages_h
124
125
126 // end of qsamplerMessages.h

  ViewVC Help
Powered by ViewVC