00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
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
00159
void addedFilesToProject( const
QStringList& fileList );
00164
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