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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2441 - (hide annotations) (download) (as text)
Wed Apr 10 09:11:37 2013 UTC (10 years, 11 months ago) by capela
File MIME type: text/x-c++hdr
File size: 3037 byte(s)
* Preparations for Qt5 migration. (FIXING)
1 capela 91 // qsamplerMessages.h
2     //
3     /****************************************************************************
4 capela 2441 Copyright (C) 2004-2013, rncbc aka Rui Nuno Capela. All rights reserved.
5 capela 1464 Copyright (C) 2007, Christian Schoenebeck
6 capela 91
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 capela 920 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 capela 91
21     *****************************************************************************/
22    
23     #ifndef __qsamplerMessages_h
24     #define __qsamplerMessages_h
25    
26 schoenebeck 1461 #include <QDockWidget>
27 capela 91
28     class QSocketNotifier;
29     class QTextEdit;
30 capela 1738 class QFile;
31 capela 91
32 capela 1558 namespace QSampler {
33 capela 91
34     //-------------------------------------------------------------------------
35 capela 1558 // QSampler::Messages - Messages log dockable window.
36 capela 91 //
37    
38 capela 1558 class Messages : public QDockWidget
39 capela 91 {
40 capela 1465 Q_OBJECT
41 capela 91
42     public:
43    
44 capela 1465 // Constructor.
45 capela 1558 Messages(QWidget *pParent);
46 capela 1465 // Destructor.
47 capela 1558 ~Messages();
48 capela 91
49 capela 1465 // Stdout/stderr capture accessors.
50     bool isCaptureEnabled();
51     void setCaptureEnabled(bool bCapture);
52 capela 91
53 capela 1465 // Message font accessors.
54     QFont messagesFont();
55     void setMessagesFont(const QFont & font);
56 capela 91
57 capela 1465 // Maximum number of message lines accessors.
58     int messagesLimit();
59     void setMessagesLimit(int iMessagesLimit);
60 schoenebeck 1461
61 capela 1738 // Logging settings.
62     bool isLogging() const;
63     void setLogging(bool bEnabled, const QString& sFilename = QString());
64    
65 capela 1465 // 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 capela 91
70 capela 1465 // Stdout capture functions.
71     void appendStdoutBuffer(const QString& s);
72     void flushStdoutBuffer();
73 capela 91
74 capela 1465 // History reset.
75     void clear();
76 schoenebeck 1470
77 capela 2441 #if QT_VERSION < 0x040300
78 schoenebeck 1470 signals:
79    
80     void visibilityChanged(bool bVisible);
81    
82 capela 2441 #endif
83    
84 capela 1739 protected:
85 capela 91
86 capela 1738 // Message executives.
87     void appendMessagesLine(const QString& s);
88     void appendMessagesLog(const QString& s);
89    
90 capela 2441 #if QT_VERSION < 0x040300
91    
92     // Overridden method of QWidget
93 capela 1738 void showEvent(QShowEvent *pEvent);
94 schoenebeck 1470
95 capela 2441 #endif
96    
97 capela 1739 protected slots:
98    
99 capela 1465 // Stdout capture slot.
100     void stdoutNotify(int fd);
101 capela 91
102     private:
103    
104 capela 1465 // The maximum number of message lines.
105     int m_iMessagesLines;
106     int m_iMessagesLimit;
107     int m_iMessagesHigh;
108 capela 327
109 capela 1465 // The textview main widget.
110 capela 1738 QTextEdit *m_pMessagesTextView;
111 schoenebeck 1461
112 capela 1465 // Stdout capture variables.
113     QSocketNotifier *m_pStdoutNotifier;
114     QString m_sStdoutBuffer;
115     int m_fdStdout[2];
116 capela 1738
117     // Logging stuff.
118     QFile *m_pMessagesLog;
119 capela 91 };
120    
121 capela 1558 } // namespace QSampler
122 capela 91
123     #endif // __qsamplerMessages_h
124    
125    
126     // end of qsamplerMessages.h

  ViewVC Help
Powered by ViewVC