• Skip to content
  • Skip to link menu
KDE 4.2 API Reference
  • KDE API Reference
  • KDevelop Platform Libraries
  • Sitemap
  • Contact Us
 

interfaces

iproject.h

00001 /* This file is part of the KDE project
00002    Copyright 2001 Matthias Hoelzer-Kluepfel <hoelzer@kde.org>
00003    Copyright 2001-2002 Bernd Gehrmann <bernd@kdevelop.org>
00004    Copyright 2002-2003 Roberto Raggi <roberto@kdevelop.org>
00005    Copyright 2002 Simon Hausmann <hausmann@kde.org>
00006    Copyright 2003 Jens Dagerbo <jens.dagerbo@swipnet.se>
00007    Copyright 2003 Mario Scalas <mario.scalas@libero.it>
00008    Copyright 2003-2004 Alexander Dymo <adymo@kdevelop.org>
00009    Copyright 2006 Matt Rogers <mattr@kde.org>
00010    Copyright 2007 Andreas Pakulat <apaku@gmx.de>
00011 
00012    This library is free software; you can redistribute it and/or
00013    modify it under the terms of the GNU Library General Public
00014    License as published by the Free Software Foundation; either
00015    version 2 of the License, or (at your option) any later version.
00016 
00017    This library is distributed in the hope that it will be useful,
00018    but WITHOUT ANY WARRANTY; without even the implied warranty of
00019    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00020    Library General Public License for more details.
00021 
00022    You should have received a copy of the GNU Library General Public License
00023    along with this library; see the file COPYING.LIB.  If not, write to
00024    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00025    Boston, MA 02110-1301, USA.
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 //     virtual KUrl projectConfigFile() const = 0;
00121 //     virtual KUrl projectDefaultsConfigFile() const = 0;
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 //     virtual void setLocalFile( const KUrl& ) = 0;
00132 //     virtual void setGlobalFile( const KUrl& ) = 0;
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

interfaces

Skip menu "interfaces"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Class Members
  • Related Pages

KDevelop Platform Libraries

Skip menu "KDevelop Platform Libraries"
  • interfaces
  • language
  •   codegen
  •   duchain
  •   editor
  • outputview
  •     interfaces
  • project
  • shell
  • sublime
  • util
  • vcs
Generated for KDevelop Platform Libraries by doxygen 1.5.4
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal