KDevelop API Documentation

buildtools/generic/genericproject_part.h

Go to the documentation of this file.
00001 /*************************************************************************** 00002 * Copyright (C) 2003 Roberto Raggi * 00003 * roberto@kdevelop.org * 00004 * Copyright (C) 2003 Alexander Dymo * 00005 * cloudtemple@mksat.net * 00006 * * 00007 * This program is free software; you can redistribute it and/or modify * 00008 * it under the terms of the GNU General Public License as published by * 00009 * the Free Software Foundation; either version 2 of the License, or * 00010 * (at your option) any later version. * 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 // void setMainGroup( BuildGroupItem* mainGroup ); 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 00055 signals: 00056 void mainGroupChanged( BuildGroupItem* group ); 00057 00058 private: 00059 QStringList allFiles( BuildGroupItem* group, QStringList& path ) const; 00060 QStringList allFiles( BuildTargetItem* target, QStringList& path ) const; 00061 00062 private: 00063 KDevBuildSystem *m_buildSystem; 00064 00065 void loadProjectConfig(QString projectFile); 00066 00067 void parseGroup(const QDomElement &el, const GenericGroupListViewItem *parentGroup); 00068 void parseTarget(const QDomElement &el, BuildGroupItem *group); 00069 void parseFile(const QDomElement &el, BuildTargetItem *target); 00070 00071 GenericGroupListViewItem *createGroupItem(const QDomElement &el, const GenericGroupListViewItem *parent = 0 ); 00072 BuildTargetItem *createTargetItem(const QDomElement &el, BuildGroupItem *group); 00073 BuildFileItem *createFileItem(const QDomElement &el, BuildTargetItem *target); 00074 00075 void addFilePrivate( const QString & fileName, BuildTargetItem *tit); 00076 00077 QGuardedPtr<GenericProjectWidget> m_widget; 00078 GenericGroupListViewItem* m_mainGroup; 00079 BuildGroupItem* m_mainBuild; 00080 00081 QString m_buildDir; 00082 QString m_projectDir; 00083 QString m_projectName; 00084 QString m_activeDir; 00085 QString m_runDir; 00086 }; 00087 00088 00089 #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:37 2004 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003