Qmmp
Loading...
Searching...
No Matches
pluginitem_p.h
1/***************************************************************************
2 * Copyright (C) 2011-2015 by Ilya Kotov *
3 * forkotov02@ya.ru *
4 * *
5 * This program is free software; you can redistribute it and/or modify *
6 * it under the terms of the GNU General Public License as published by *
7 * the Free Software Foundation; either version 2 of the License, or *
8 * (at your option) any later version. *
9 * *
10 * This program 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 *
13 * GNU General Public License for more details. *
14 * *
15 * You should have received a copy of the GNU General Public License *
16 * along with this program; if not, write to the *
17 * Free Software Foundation, Inc., *
18 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
19 ***************************************************************************/
20#ifndef PLUGINITEM_P_H
21#define PLUGINITEM_P_H
22
23#include <QTreeWidgetItem>
24
29class QWidget;
31class DecoderFactory;
32class EngineFactory;
33class OutputFactory;
34class VisualFactory;
35class EffectFactory;
36class GeneralFactory;
37class OutputFactory;
39class UiFactory;
40
41class PluginItem : public QTreeWidgetItem
42{
43public:
44
45 PluginItem(QTreeWidgetItem *parent, InputSourceFactory *factory, const QString &path);
46 PluginItem(QTreeWidgetItem *parent, DecoderFactory *factory, const QString &path);
47 PluginItem(QTreeWidgetItem *parent, EngineFactory *factory, const QString &path);
48 PluginItem(QTreeWidgetItem *parent, EffectFactory *factory, const QString &path);
49 PluginItem(QTreeWidgetItem *parent, VisualFactory *factory, const QString &path);
50 PluginItem(QTreeWidgetItem *parent, GeneralFactory *factory, const QString &path);
51 PluginItem(QTreeWidgetItem *parent, OutputFactory *factory, const QString &path);
52 PluginItem(QTreeWidgetItem *parent, FileDialogFactory *factory, const QString &path);
53 PluginItem(QTreeWidgetItem *parent, UiFactory *factory, const QString &path);
54 ~PluginItem();
55
56 enum PluginType
57 {
58 TRANSPORT = QTreeWidgetItem::UserType,
59 DECODER,
60 ENGINE,
61 EFFECT,
62 VISUAL,
63 GENERAL,
64 OUTPUT,
65 FILE_DIALOG,
66 USER_INTERFACE
67 };
68
69 bool hasAbout() const;
70 bool hasSettings() const;
71 void showAbout(QWidget *parent);
72 void showSettings(QWidget *parent);
73 void setEnabled(bool enabled);
74
75
76private:
77 bool m_has_about;
78 bool m_has_config;
79 void *m_factory;
80};
81
82#endif
Input plugin interface (decoder factory).
Definition decoderfactory.h:54
Effect plugin interface (effect factory).
Definition effectfactory.h:56
Engine plugin interface.
Definition enginefactory.h:55
File dialog plugin interface.
Definition filedialogfactory.h:45
General plugin interface.
Definition generalfactory.h:61
Transport plugin interface.
Definition inputsourcefactory.h:50
Output plugin interface (output factory).
Definition outputfactory.h:48
User interface plugin interface.
Definition uifactory.h:44
Visual plugin interface (visual factory).
Definition visualfactory.h:46