KDevelop API Documentation

lib/interfaces/kdevlanguagesupport.h

Go to the documentation of this file.
00001 /* This file is part of the KDE project 00002 Copyright (C) 2001 Matthias Hoelzer-Kluepfel <hoelzer@kde.org> 00003 Copyright (C) 2001-2002 Bernd Gehrmann <bernd@kdevelop.org> 00004 Copyright (C) 2002-2003 Roberto Raggi <roberto@kdevelop.org> 00005 Copyright (C) 2002 Simon Hausmann <hausmann@kde.org> 00006 Copyright (C) 2002 F@lk Brettschneider <falkbr@kdevelop.org> 00007 Copyright (C) 2003 Alexander Dymo <cloudtemple@mksat.net> 00008 Copyright (C) 2003 Amilcar do Carmo Lucas <amilcar@ida.ing.tu-bs.de> 00009 00010 This library is free software; you can redistribute it and/or 00011 modify it under the terms of the GNU Library General Public 00012 License as published by the Free Software Foundation; either 00013 version 2 of the License, or (at your option) any later version. 00014 00015 This library is distributed in the hope that it will be useful, 00016 but WITHOUT ANY WARRANTY; without even the implied warranty of 00017 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00018 Library General Public License for more details. 00019 00020 You should have received a copy of the GNU Library General Public License 00021 along with this library; see the file COPYING.LIB. If not, write to 00022 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 00023 Boston, MA 02111-1307, USA. 00024 */ 00029 #ifndef _KDEVLANGUAGESUPPORT_H_ 00030 #define _KDEVLANGUAGESUPPORT_H_ 00031 00032 #include <qstring.h> 00033 #include <qstringlist.h> 00034 #include <kmimetype.h> 00035 #include "kdevplugin.h" 00036 #include "codemodel.h" 00037 00038 class Tag; 00039 00040 class KDevLanguageSupport : public KDevPlugin 00041 { 00042 Q_OBJECT 00043 00044 public: 00045 00046 enum Features { 00047 Classes=1, Structs=2, Functions=4, Variables=8, 00048 Namespaces=16, Signals=32, Slots=64, Declarations=128, /* features of the language itself */ 00049 NewClass=512, AddMethod=1024, AddAttribute=2048, /* features of the language support part */ 00050 Scripts=4096, NewScript=8192 /* features for scripting support (perl) */ 00051 }; 00052 00053 KDevLanguageSupport( const QString& pluginName, const QString& icon, QObject *parent, const char *name ); 00054 ~KDevLanguageSupport(); 00055 00061 virtual Features features(); 00066 virtual KMimeType::List mimeTypes(); 00067 00071 virtual QString formatTag( const Tag& tag ); 00075 virtual QString formatModelItem( const CodeModelItem *item, bool shortDescription=false ); 00076 00082 virtual QString formatClassName(const QString &name); 00086 virtual QString unformatClassName(const QString &name); 00087 00093 virtual void addClass(); 00098 virtual void addMethod( ClassDom klass ); 00103 virtual void implementVirtualMethods( ClassDom klass ); 00108 virtual void addAttribute( ClassDom klass ); 00114 virtual QStringList subclassWidget(const QString& formName); 00121 virtual QStringList updateWidget(const QString& formName, const QString& fileName); 00122 00123 00124 signals: 00129 void updatedSourceInfo(); 00130 00134 void aboutToRemoveSourceInfo( const QString& fileName ); 00135 00139 void removedSourceInfo( const QString& fileName ); 00140 00144 void addedSourceInfo( const QString& fileName ); 00145 }; 00146 00147 00148 #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 Tue Oct 19 08:01:48 2004 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003