interfaces
contextmenuextension.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef CONTEXTMENUEXTENSION_H
00022 #define CONTEXTMENUEXTENSION_H
00023
00024 #include <QtCore/QString>
00025 #include <QtCore/QList>
00026
00027 #include "interfacesexport.h"
00028
00029 class QAction;
00030 class QMenu;
00031 template <typename T> class QList;
00032
00033 namespace KDevelop
00034 {
00035
00036 class KDEVPLATFORMINTERFACES_EXPORT ContextMenuExtension
00037 {
00038 public:
00039
00041 static const QString FileGroup;
00043 static const QString RefactorGroup;
00045 static const QString BuildGroup;
00047 static const QString RunGroup;
00049 static const QString DebugGroup;
00051 static const QString EditGroup;
00056 static const QString VcsGroup;
00058 static const QString ProjectGroup;
00059
00065 static const QString ExtensionGroup;
00066
00070 ContextMenuExtension();
00071 ~ContextMenuExtension();
00072 ContextMenuExtension( const ContextMenuExtension& rhs );
00073
00074 ContextMenuExtension& operator=( const ContextMenuExtension& rhs );
00075
00081 void addAction( const QString& group, QAction* action );
00082
00088 QList<QAction*> actions( const QString& group ) const;
00089
00093 static void populateMenu(QMenu* menu, const QList<ContextMenuExtension>& extensions);
00094
00095 private:
00096 class ContextMenuExtensionPrivate* const d;
00097 };
00098
00099 }
00100
00101 #endif