interfaces
iproject.h
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
00026
00027 #ifndef IPROJECT_H
00028 #define IPROJECT_H
00029
00030 #include <QtCore/QObject>
00031
00032 #include <kurl.h>
00033 #include <ksharedconfig.h>
00034
00035 #include "interfacesexport.h"
00036
00037 template<typename T> class QList;
00038 template<typename T> class QSet;
00039
00040
00041 namespace KDevelop
00042 {
00043
00044 class IPlugin;
00045 class IProjectFileManager;
00046 class IBuildSystemManager;
00047 class ProjectFileItem;
00048 class ProjectFolderItem;
00049 class IndexedString;
00050
00056 class KDEVPLATFORMINTERFACES_EXPORT IProject : public QObject
00057 {
00058 Q_OBJECT
00059 Q_CLASSINFO("D-Bus Interface", "org.kdevelop.Project")
00060 public:
00066 IProject(QObject *parent = 0);
00067
00069 virtual ~IProject();
00070
00076 Q_SCRIPTABLE virtual IProjectFileManager* projectFileManager() const = 0;
00077
00083 Q_SCRIPTABLE virtual IBuildSystemManager* buildSystemManager() const = 0;
00084
00089 Q_SCRIPTABLE virtual IPlugin* managerPlugin() const = 0;
00090
00096 Q_SCRIPTABLE virtual IPlugin* versionControlPlugin() const = 0;
00097
00101 Q_SCRIPTABLE virtual ProjectFolderItem* projectItem() const = 0;
00102
00104 Q_SCRIPTABLE virtual int fileCount() const = 0;
00105
00107 Q_SCRIPTABLE virtual ProjectFileItem* fileAt( int pos) const = 0;
00108
00110 Q_SCRIPTABLE virtual QList<ProjectFileItem*> files() const = 0;
00111
00113 Q_SCRIPTABLE virtual QList<ProjectFileItem*> filesForUrl( const KUrl& file ) const = 0;
00114
00116 Q_SCRIPTABLE virtual QList<ProjectFolderItem*> foldersForUrl( const KUrl& folder ) const = 0;
00117
00119 Q_SCRIPTABLE virtual void reloadModel() = 0;
00120
00121
00122
00124 Q_SCRIPTABLE virtual KUrl projectFileUrl() const = 0;
00125 virtual KSharedConfig::Ptr projectConfiguration() const = 0;
00126
00127 virtual void addToFileSet( const IndexedString& ) = 0;
00128 virtual void removeFromFileSet( const IndexedString& ) = 0;
00129 virtual QSet<IndexedString> fileSet() const = 0;
00130
00131
00132
00133
00134 public Q_SLOTS:
00144 virtual Q_SCRIPTABLE bool open(const KUrl &projectFileUrl) = 0;
00145
00147 virtual Q_SCRIPTABLE void close() = 0;
00148
00153 virtual Q_SCRIPTABLE const KUrl folder() const = 0;
00154
00156 virtual Q_SCRIPTABLE QString name() const = 0;
00157
00167 virtual KUrl relativeUrl(const KUrl& absoluteUrl) const = 0;
00168
00177 virtual KUrl urlRelativeToProject(const KUrl& relativeUrl) const = 0;
00178
00188 virtual bool inProject(const KUrl &url) const = 0;
00189
00190 };
00191
00192 }
00193 #endif