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

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 338 by capela, Wed Jan 12 10:43:37 2005 UTC revision 2848 by capela, Sat Oct 3 15:48:18 2015 UTC
# Line 1  Line 1 
1  // qsamplerMessages.h  // qsamplerMessages.h
2  //  //
3  /****************************************************************************  /****************************************************************************
4     Copyright (C) 2003-2005, rncbc aka Rui Nuno Capela. All rights reserved.     Copyright (C) 2004-2015, 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     This program is free software; you can redistribute it and/or
8     modify it under the terms of the GNU General Public License     modify it under the terms of the GNU General Public License
# Line 13  Line 14 
14     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15     GNU General Public License for more details.     GNU General Public License for more details.
16    
17     You should have received a copy of the GNU General Public License     You should have received a copy of the GNU General Public License along
18     along with this program; if not, write to the Free Software     with this program; if not, write to the Free Software Foundation, Inc.,
19     Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.     51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20    
21  *****************************************************************************/  *****************************************************************************/
22    
23  #ifndef __qsamplerMessages_h  #ifndef __qsamplerMessages_h
24  #define __qsamplerMessages_h  #define __qsamplerMessages_h
25    
26  #include <qdockwindow.h>  #include <QDockWidget>
27    
28  class QSocketNotifier;  class QSocketNotifier;
29  class QTextEdit;  class QTextEdit;
30    class QFile;
31    
32    namespace QSampler {
33    
34  //-------------------------------------------------------------------------  //-------------------------------------------------------------------------
35  // qsamplerMessages - Messages log dockable window.  // QSampler::Messages - Messages log dockable window.
36  //  //
37    
38  class qsamplerMessages : public QDockWindow  class Messages : public QDockWidget
39  {  {
40      Q_OBJECT          Q_OBJECT
41    
42  public:  public:
43    
44      // Constructor.          // Constructor.
45      qsamplerMessages(QWidget *pParent, const char *pszName = 0);          Messages(QWidget *pParent);
46      // Destructor.          // Destructor.
47      ~qsamplerMessages();          ~Messages();
48    
49      // Stdout/stderr capture accessors.          // Stdout/stderr capture accessors.
50      bool isCaptureEnabled();          bool isCaptureEnabled();
51      void setCaptureEnabled(bool bCapture);          void setCaptureEnabled(bool bCapture);
52    
53      // Message font accessors.          // Message font accessors.
54      QFont messagesFont();          QFont messagesFont();
55      void setMessagesFont(const QFont & font);          void setMessagesFont(const QFont & font);
56    
57      // Maximum number of message lines accessors.          // Maximum number of message lines accessors.
58      int messagesLimit();          int messagesLimit();
59      void setMessagesLimit(int iMessagesLimit);          void setMessagesLimit(int iMessagesLimit);
60        
61      // The main utility methods.          // Logging settings.
62      void appendMessages(const QString& s);          bool isLogging() const;
63      void appendMessagesColor(const QString& s, const QString &c);          void setLogging(bool bEnabled, const QString& sFilename = QString());
64      void appendMessagesText(const QString& s);  
65            // The main utility methods.
66      void scrollToBottom();          void appendMessages(const QString& s);
67            void appendMessagesColor(const QString& s, const QString &c);
68      // Stdout capture functions.          void appendMessagesText(const QString& s);
69      void appendStdoutBuffer(const QString& s);  
70      void flushStdoutBuffer();          // Stdout capture functions.
71            void appendStdoutBuffer(const QString& s);
72            void flushStdoutBuffer();
73    
74            // History reset.
75            void clear();
76    
77    protected:
78    
79            // Message executives.
80            void appendMessagesLine(const QString& s);
81            void appendMessagesLog(const QString& s);
82    
83            // Set stdout/stderr blocking mode.
84            bool stdoutBlock(int fd, bool bBlock) const;
85    
86  protected slots:  protected slots:
87    
88      // Stdout capture slot.          // Stdout capture slot.
89      void stdoutNotify(int fd);          void stdoutNotify(int fd);
90    
91  private:  private:
92    
93      // The maximum number of message lines.          // The maximum number of message lines.
94      int m_iMessagesLimit;          int m_iMessagesLines;
95      int m_iMessagesHigh;          int m_iMessagesLimit;
96            int m_iMessagesHigh;
97      // The textview main widget.  
98      QTextEdit *m_pTextView;          // The textview main widget.
99                QTextEdit *m_pMessagesTextView;
100      // Stdout capture variables.  
101      QSocketNotifier *m_pStdoutNotifier;          // Stdout capture variables.
102      QString          m_sStdoutBuffer;          QSocketNotifier *m_pStdoutNotifier;
103      int              m_fdStdout[2];          QString          m_sStdoutBuffer;
104            int              m_fdStdout[2];
105    
106            // Logging stuff.
107            QFile *m_pMessagesLog;  
108  };  };
109    
110    } // namespace QSampler
111    
112  #endif  // __qsamplerMessages_h  #endif  // __qsamplerMessages_h
113    

Legend:
Removed from v.338  
changed lines
  Added in v.2848

  ViewVC Help
Powered by ViewVC