dRonin  adbada4
dRonin GCS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Groups Pages
pluginview.h
Go to the documentation of this file.
1 
13 /*
14  * This program is free software; you can redistribute it and/or modify
15  * it under the terms of the GNU General Public License as published by
16  * the Free Software Foundation; either version 3 of the License, or
17  * (at your option) any later version.
18  *
19  * This program is distributed in the hope that it will be useful, but
20  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
21  * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22  * for more details.
23  *
24  * You should have received a copy of the GNU General Public License along
25  * with this program; if not, see <http://www.gnu.org/licenses/>
26  */
27 
28 #ifndef PLUGINVIEW_H
29 #define PLUGINVIEW_H
30 
31 #include "extensionsystem_global.h"
32 
33 #include <QtWidgets/QWidget>
34 
35 QT_BEGIN_NAMESPACE
36 class QTreeWidgetItem;
37 QT_END_NAMESPACE
38 
39 namespace ExtensionSystem {
40 
41 class PluginManager;
42 class PluginSpec;
43 
44 namespace Internal {
45  class PluginViewPrivate;
46 namespace Ui {
47  class PluginView;
48 } // namespace Ui
49 } // namespace Internal
50 
51 class EXTENSIONSYSTEM_EXPORT PluginView : public QWidget
52 {
53  Q_OBJECT
54 
55 public:
56  PluginView(PluginManager *manager, QWidget *parent = nullptr);
57  ~PluginView();
58 
59  PluginSpec *currentPlugin() const;
60 
61 signals:
62  void currentPluginChanged(ExtensionSystem::PluginSpec *spec);
63  void pluginActivated(ExtensionSystem::PluginSpec *spec);
64 
65 private slots:
66  void updateList();
67  void selectPlugin(QTreeWidgetItem *current);
68  void activatePlugin(QTreeWidgetItem *item);
69 
70 private:
71  Internal::Ui::PluginView *m_ui;
73 };
74 
75 } // namespae ExtensionSystem
76 
77 #endif // PLUGIN_VIEW_H
Widget that shows a list of all plugins and their state.
Definition: pluginview.h:51
Core plugin system that manages the plugins, their life cycle and their registered objects...
Definition: pluginmanager.h:53
Contains the information of the plugins xml description file and information about the plugin's curre...
Definition: pluginspec.h:63