classviewpart.h
Go to the documentation of this file.00001 /* 00002 * Copyright (C) 2003 Roberto Raggi (roberto@kdevelop.org) 00003 * 00004 * This program is free software; you can redistribute it and/or 00005 * modify it under the terms of the GNU General Public 00006 * License as published by the Free Software Foundation; either 00007 * version 2 of the License, or (at your option) any later version. 00008 * 00009 * This program is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 * Library General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU General Public License 00015 * along with this program; see the file COPYING.LIB. If not, write to 00016 * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 00017 * Boston, MA 02111-1307, USA. 00018 * 00019 */ 00020 00021 #ifndef __KDEVPART_CLASSVIEW_H__ 00022 #define __KDEVPART_CLASSVIEW_H__ 00023 00024 #include "kdevlanguagesupport.h" 00025 #include "viewcombos.h" 00026 00027 #include <qguardedptr.h> 00028 #include <qmap.h> 00029 00030 #include <kdevplugin.h> 00031 00032 #include <codemodel.h> 00033 00034 namespace KParts { class Part; } 00035 namespace KTextEditor 00036 { 00037 class Document; 00038 class View; 00039 class EditInterface; 00040 class SelectionInterface; 00041 class ViewCursorInterface; 00042 } 00043 00044 00045 class ClassViewWidget; 00046 class KListViewAction; 00047 class QListViewItem; 00048 class KToolBarPopupAction; 00049 class NamespaceItem; 00050 class Navigator; 00051 00052 class ClassViewPart : public KDevPlugin 00053 { 00054 Q_OBJECT 00055 public: 00056 ClassViewPart(QObject *parent, const char *name, const QStringList &); 00057 virtual ~ClassViewPart(); 00058 00059 bool langHasFeature(KDevLanguageSupport::Features feature); 00060 00061 KListViewAction *m_functionsnav; 00062 Navigator *navigator; 00063 00064 private slots: 00065 void slotProjectOpened(); 00066 void slotProjectClosed(); 00067 void graphicalClassView(); 00068 00069 void activePartChanged(KParts::Part*); 00070 00071 private: 00072 void setupActions(); 00073 00074 QGuardedPtr<ClassViewWidget> m_widget; 00075 00076 QString m_activeFileName; 00077 KTextEditor::Document* m_activeDocument; 00078 KTextEditor::View* m_activeView; 00079 KTextEditor::SelectionInterface* m_activeSelection; 00080 KTextEditor::EditInterface* m_activeEditor; 00081 KTextEditor::ViewCursorInterface* m_activeViewCursor; 00082 00083 friend class Navigator; 00084 }; 00085 00086 00087 #endif