problemreporter.h
Go to the documentation of this file.00001 /* 00002 Copyright (C) 2002 by Roberto Raggi <roberto@kdevelop.org> 00003 00004 This library is free software; you can redistribute it and/or 00005 modify it under the terms of the GNU Library General Public 00006 version 2, License as published by the Free Software Foundation. 00007 00008 This library is distributed in the hope that it will be useful, 00009 but WITHOUT ANY WARRANTY; without even the implied warranty of 00010 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00011 Library General Public License for more details. 00012 00013 You should have received a copy of the GNU Library General Public License 00014 along with this library; see the file COPYING.LIB. If not, write to 00015 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 00016 Boston, MA 02111-1307, USA. 00017 */ 00018 00019 #ifndef PROBLEMSREPORTER_H 00020 #define PROBLEMSREPORTER_H 00021 00022 #include <klistview.h> 00023 #include <qguardedptr.h> 00024 00025 class JavaSupportPart; 00026 class QTimer; 00027 class KDialogBase; 00028 class Problem; 00029 00030 namespace KParts{ 00031 class Part; 00032 } 00033 00034 namespace KTextEditor{ 00035 class MarkInterface; 00036 class Document; 00037 } 00038 00039 class ProblemReporter: public KListView{ 00040 Q_OBJECT 00041 public: 00042 ProblemReporter( JavaSupportPart* part, QWidget* parent=0, const char* name=0 ); 00043 virtual ~ProblemReporter(); 00044 00045 void removeAllProblems( const QString& filename ); 00046 void reportProblem( const QString& fileName, const Problem& p ); 00047 00048 public slots: 00049 void reparse(); 00050 void configure(); 00051 void configWidget( KDialogBase* ); 00052 00053 private slots: 00054 void slotPartAdded( KParts::Part* ); 00055 void slotPartRemoved( KParts::Part* ); 00056 void slotActivePartChanged( KParts::Part* ); 00057 void slotTextChanged(); 00058 void slotSelected( QListViewItem* ); 00059 00060 private: 00061 QString levelToString( int level ) const; 00062 int levelToMarkType( int level ) const; 00063 00064 private: 00065 JavaSupportPart* m_javaSupport; 00066 QGuardedPtr<KTextEditor::Document> m_document; 00067 KTextEditor::MarkInterface* m_markIface; 00068 QTimer* m_timer; 00069 QString m_fileName; 00070 int m_active; 00071 int m_delay; 00072 }; 00073 00074 #endif