KDevelop API Documentation

parts/classview/viewcombos.h

Go to the documentation of this file.
00001 /* 00002 * Copyright (C) 2003 Alexander Dymo (cloudtemple@mksat.net) 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. If not, write to 00016 * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 00017 * Boston, MA 02111-1307, USA. 00018 * 00019 */ 00020 #ifndef VIEWCOMBOS_H 00021 #define VIEWCOMBOS_H 00022 00023 #include <klocale.h> 00024 00025 #include <qlistview.h> 00026 00027 #include "codemodel.h" 00028 00029 class ClassViewPart; 00030 class KComboView; 00031 00032 const QString EmptyClasses = i18n("(Classes)"); 00033 const QString EmptyFunctions = i18n("(Functions)"); 00034 00035 class NamespaceItem: public QListViewItem{ 00036 public: 00037 NamespaceItem(ClassViewPart *part, QListView *parent, QString name, NamespaceDom dom); 00038 NamespaceItem(ClassViewPart *part, QListViewItem *parent, QString name, NamespaceDom dom); 00039 ~NamespaceItem(); 00040 NamespaceDom dom() const; 00041 virtual void setup(); 00042 private: 00043 NamespaceDom m_dom; 00044 ClassViewPart *m_part; 00045 }; 00046 00047 class ClassItem: public QListViewItem{ 00048 public: 00049 ClassItem(ClassViewPart *part, QListView *parent, QString name, ClassDom dom); 00050 ClassItem(ClassViewPart *part, QListViewItem *parent, QString name, ClassDom dom); 00051 ~ClassItem(); 00052 ClassDom dom() const; 00053 virtual void setup(); 00054 private: 00055 ClassDom m_dom; 00056 ClassViewPart *m_part; 00057 }; 00058 00059 class FunctionItem: public QListViewItem{ 00060 public: 00061 FunctionItem(ClassViewPart *part, QListView *parent, QString name, FunctionDom dom); 00062 FunctionItem(ClassViewPart *part, QListViewItem *parent, QString name, FunctionDom dom); 00063 ~FunctionItem(); 00064 FunctionDom dom() const; 00065 virtual void setup(); 00066 private: 00067 FunctionDom m_dom; 00068 ClassViewPart *m_part; 00069 }; 00070 00071 namespace ViewCombosOp{ 00072 00073 enum ProcessType {Refresh, Reload}; 00074 00075 void refreshNamespaces(ClassViewPart *part, KComboView *view); 00076 void refreshClasses(ClassViewPart *part, KComboView *view, const QString &dom); 00077 void refreshFunctions(ClassViewPart *part, KComboView *view, const ClassDom & dom); 00078 void refreshFunctions(ClassViewPart *part, KComboView *view, const QString & dom); 00079 00080 void processNamespace( ClassViewPart *part, KComboView *view, NamespaceItem * item, ProcessType type = Reload ); 00081 void processClass( ClassViewPart *part, KComboView *view, ClassItem * item, ProcessType type = Reload ); 00082 void processFunction( ClassViewPart *part, KComboView *view, FunctionItem * item, ProcessType type = Reload ); 00083 00084 bool removeNamespacesItems(ClassViewPart *part, QListView *view, const NamespaceDom &dom); 00085 void removeClassItems(ClassViewPart *part, QListView *view, const ClassDom &dom); 00086 void removeFunctionItems(ClassViewPart *part, QListView *view, const ClassDom &dom); 00087 00088 NamespaceDom namespaceByName(NamespaceDom dom, QString name); 00089 00090 } 00091 00092 #endif
KDE Logo
This file is part of the documentation for KDevelop Version 3.0.4.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Wed Oct 6 17:39:10 2004 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003