genericproject_part.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef __KDEVPART_GENERICPROJECT_H__
00015 #define __KDEVPART_GENERICPROJECT_H__
00016
00017
00018 #include <qguardedptr.h>
00019 #include "kdevproject.h"
00020
00021 #include "kdevbuildsystem.h"
00022
00023 class GenericProjectWidget;
00024 class BuildGroupItem;
00025 class GenericGroupListViewItem;
00026
00027 class GenericProjectPart : public KDevProject
00028 {
00029 Q_OBJECT
00030 public:
00031 GenericProjectPart(QObject *parent, const char *name, const QStringList &);
00032 virtual ~GenericProjectPart();
00033
00034 BuildGroupItem* mainGroup() { return m_mainBuild; }
00035
00036
00037 virtual void openProject(const QString &dirName, const QString &projectName);
00038 virtual void closeProject();
00039 virtual QString projectDirectory() const;
00040 virtual QString projectName() const;
00041 virtual DomUtil::PairList runEnvironmentVars() const;
00042 virtual QString mainProgram(bool relative = false) const;
00043 virtual QString runDirectory() const;
00044 virtual QString runArguments() const;
00045 virtual QString activeDirectory() const;
00046 virtual QString buildDirectory() const;
00047 virtual QStringList allFiles() const;
00048 virtual void addFiles(const QStringList &fileList );
00049 virtual void addFile(const QString &fileName);
00050 virtual void removeFiles ( const QStringList& fileList );
00051 virtual void removeFile(const QString &fileName);
00052
00053 KDevBuildSystem *buildSystem() const;
00054 QStringList distFiles() const;
00055
00056 signals:
00057 void mainGroupChanged( BuildGroupItem* group );
00058
00059 private:
00060 QStringList allFiles( BuildGroupItem* group, QStringList& path ) const;
00061 QStringList allFiles( BuildTargetItem* target, QStringList& path ) const;
00062
00063 private:
00064 KDevBuildSystem *m_buildSystem;
00065
00066 void loadProjectConfig(QString projectFile);
00067
00068 void parseGroup(const QDomElement &el, const GenericGroupListViewItem *parentGroup);
00069 void parseTarget(const QDomElement &el, BuildGroupItem *group);
00070 void parseFile(const QDomElement &el, BuildTargetItem *target);
00071
00072 GenericGroupListViewItem *createGroupItem(const QDomElement &el, const GenericGroupListViewItem *parent = 0 );
00073 BuildTargetItem *createTargetItem(const QDomElement &el, BuildGroupItem *group);
00074 BuildFileItem *createFileItem(const QDomElement &el, BuildTargetItem *target);
00075
00076 void addFilePrivate( const QString & fileName, BuildTargetItem *tit);
00077
00078 QGuardedPtr<GenericProjectWidget> m_widget;
00079 GenericGroupListViewItem* m_mainGroup;
00080 BuildGroupItem* m_mainBuild;
00081
00082 QString m_buildDir;
00083 QString m_projectDir;
00084 QString m_projectName;
00085 QString m_activeDir;
00086 QString m_runDir;
00087 };
00088
00089
00090 #endif
This file is part of the documentation for KDevelop Version 3.1.2.