Eneboo - Documentación para desarrolladores
|
00001 /********************************************************************** 00002 ** Copyright (C) 2005-2007 Trolltech ASA. All rights reserved. 00003 ** 00004 ** This file is part of Qt Designer. 00005 ** 00006 ** This file may be distributed and/or modified under the terms of the 00007 ** GNU General Public License version 2 as published by the Free Software 00008 ** Foundation and appearing in the file LICENSE.GPL included in the 00009 ** packaging of this file. 00010 ** 00011 ** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition 00012 ** licenses may use this file in accordance with the Qt Commercial License 00013 ** Agreement provided with the Software. 00014 ** 00015 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 00016 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 00017 ** 00018 ** See http://www.trolltech.com/gpl/ for GPL licensing information. 00019 ** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for 00020 ** information about Qt Commercial License Agreements. 00021 ** 00022 ** Contact info@trolltech.com if any conditions of this licensing are 00023 ** not clear to you. 00024 ** 00025 **********************************************************************/ 00026 00027 #ifndef OUTPUTWINDOW_H 00028 #define OUTPUTWINDOW_H 00029 00030 #include <qtabwidget.h> 00031 #include <qstringlist.h> 00032 #include <qvaluelist.h> 00033 #include <qlistview.h> 00034 00035 struct DesignerOutputDock; 00036 class QTextEdit; 00037 class QListView; 00038 00039 class ErrorItem : public QListViewItem 00040 { 00041 public: 00042 enum Type { Error, Warning }; 00043 00044 ErrorItem( QListView *parent, QListViewItem *after, const QString &message, int line, 00045 const QString &locationString, QObject *locationObject ); 00046 00047 void paintCell( QPainter *, const QColorGroup & cg, 00048 int column, int width, int alignment ); 00049 00050 void setRead( bool b ) { read = b; repaint(); } 00051 00052 QObject *location() const { return object; } 00053 int line() const { return text( 2 ).toInt(); } 00054 00055 private: 00056 QObject *object; 00057 Type type; 00058 bool read; 00059 00060 }; 00061 00062 class OutputWindow : public QTabWidget 00063 { 00064 Q_OBJECT 00065 00066 public: 00067 OutputWindow( QWidget *parent ); 00068 ~OutputWindow(); 00069 00070 void setErrorMessages( const QStringList &errors, const QValueList<uint> &lines, 00071 bool clear, const QStringList &locations, 00072 const QObjectList &locationObjects ); 00073 void appendDebug( const QString& ); 00074 void clearErrorMessages(); 00075 void clearDebug(); 00076 void showDebugTab(); 00077 00078 DesignerOutputDock *iFace(); 00079 00080 void shuttingDown(); 00081 00082 static QtMsgHandler oldMsgHandler; 00083 00084 private slots: 00085 void currentErrorChanged( QListViewItem *i ); 00086 00087 private: 00088 void setupError(); 00089 void setupDebug(); 00090 00091 QTextEdit *debugView; 00092 QListView *errorView; 00093 00094 DesignerOutputDock *iface; 00095 00096 }; 00097 00098 #endif