KDevelop API Documentation

lib/interfaces/kdevproject.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) 2003 Jens Dagerbo <jens.dagerbo@swipnet.se> 00007 Copyright (C) 2003 Mario Scalas <mario.scalas@libero.it> 00008 Copyright (C) 2003 Alexander Dymo <cloudtemple@mksat.net> 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 */ 00025 #ifndef _KDEVPROJECT_H_ 00026 #define _KDEVPROJECT_H_ 00027 00028 #include "kdevplugin.h" 00029 #include "domutil.h" 00030 00031 #include <qstringlist.h> 00032 #include <qmap.h> 00033 00034 class KDevProject : public KDevPlugin 00035 { 00036 Q_OBJECT 00037 00038 public: 00039 KDevProject( const QString& pluginName, const QString& icon, 00040 QObject *parent=0, const char *name=0 ); 00041 virtual ~KDevProject(); 00042 00043 enum Options { UsesAutotoolsBuildSystem = 1, UsesQMakeBuildSystem }; 00044 00054 virtual void openProject(const QString &dirName, const QString &projectName); 00059 virtual void closeProject() = 0; 00060 00061 virtual Options options() const; 00062 00066 virtual QString projectDirectory() const = 0; 00070 virtual QString projectName() const = 0; 00074 virtual DomUtil::PairList runEnvironmentVars() const = 0; 00078 virtual QString mainProgram(bool relative = false) const = 0; 00082 virtual QString runDirectory() const = 0; 00086 virtual QString runArguments() const = 0; 00092 virtual QString activeDirectory() const = 0; 00098 virtual QString buildDirectory() const = 0; 00105 virtual QStringList allFiles() const = 0; 00110 virtual void addFiles(const QStringList &fileList ) = 0; 00115 virtual void addFile(const QString &fileName)= 0; 00120 virtual void removeFiles ( const QStringList& fileList )= 0; 00125 virtual void removeFile(const QString &fileName) = 0; 00130 virtual void changedFiles( const QStringList & fileList ); 00135 virtual void changedFile( const QString & fileName ); 00139 virtual bool isProjectFile( const QString & absFileName ); 00144 virtual QString relativeProjectFile( const QString & absFileName ); 00145 00146 private slots: 00147 void slotBuildFileMap(); 00148 00149 signals: 00154 //void addedFileToProject(const QString &fileName); 00159 void addedFilesToProject( const QStringList& fileList ); 00164 //void removedFileFromProject(const QString &fileName); 00169 void removedFilesFromProject(const QStringList& fileList ); 00174 void changedFilesInProject(const QStringList& fileList ); 00175 00180 void projectCompiled(); 00181 00182 private: 00183 QMap<QString, QString> m_absToRel; 00184 }; 00185 00186 #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