1 /* This file is part of KDevelop
2 Copyright 2004 Roberto Raggi <roberto@kdevelop.org>
3 Copyright 2007 Andreas Pakulat <apaku@gmx.de>
5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Library General Public
7 License as published by the Free Software Foundation; either
8 version 2 of the License, or (at your option) any later version.
10 This library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Library General Public License for more details.
15 You should have received a copy of the GNU Library General Public License
16 along with this library; see the file COPYING.LIB. If not, write to
17 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18 Boston, MA 02110-1301, USA.
20 #ifndef KDEVPROJECTMANAGERVIEW_PART_H
21 #define KDEVPROJECTMANAGERVIEW_PART_H
23 #include <QtCore/QPointer>
24 #include <interfaces/iplugin.h>
25 #include <QtCore/QVariant>
28 class ProjectBuildSetModel
;
32 class ProjectBaseItem
;
34 class ProjectFileItem
;
35 class ProjectFolderItem
;
36 class ProjectTargetItem
;
37 class IProjectBuilder
;
39 class ContextMenuExtension
;
42 class ProjectManagerView
;
44 class ProjectManagerViewPlugin
: public KDevelop::IPlugin
50 ProjectManagerViewPlugin(QObject
*parent
, const QVariantList
& = QVariantList() );
51 virtual ~ProjectManagerViewPlugin();
54 virtual void unload();
56 KDevelop::ContextMenuExtension
contextMenuExtension( KDevelop::Context
* );
58 ProjectBuildSetModel
* buildSet();
62 void buildItemsFromContextMenu();
63 void installItemsFromContextMenu();
64 void cleanItemsFromContextMenu();
65 void buildProjectItems();
66 void installProjectItems();
67 void cleanProjectItems();
68 void configureProjectItems();
69 void pruneProjectItems();
70 void buildAllProjects();
71 void addItemsFromContextMenuToBuildset();
72 void projectConfiguration();
73 void runTargetsFromContextMenu();
74 void reloadFromContextMenu();
75 void createFolderFromContextMenu();
76 void createFileFromContextMenu();
79 void executeBuild( KDevelop::ProjectBaseItem
* );
80 void executeClean( KDevelop::ProjectBaseItem
* );
81 void executeInstall( KDevelop::ProjectBaseItem
* );
82 void executePrune( KDevelop::IProject
* );
83 void executeConfigure( KDevelop::IProject
* );
84 static KDevelop::IProjectBuilder
* getProjectBuilder( KDevelop::ProjectBaseItem
* item
);
85 QList
<KDevelop::ProjectBaseItem
*> recurseAndFetchCheckedItems( KDevelop::ProjectBaseItem
* item
);
86 class ProjectManagerViewPluginPrivate
* const d
;