00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef PLUGINITEM_P_H
00021 #define PLUGINITEM_P_H
00022
00023 #include <QTreeWidgetItem>
00024
00029 class QWidget;
00030 class InputSourceFactory;
00031 class DecoderFactory;
00032 class EngineFactory;
00033 class OutputFactory;
00034 class VisualFactory;
00035 class EffectFactory;
00036 class GeneralFactory;
00037
00038 class PluginItem : public QTreeWidgetItem
00039 {
00040 public:
00041
00042 PluginItem(QTreeWidgetItem *parent, InputSourceFactory *factory, const QString &path);
00043 PluginItem(QTreeWidgetItem *parent, DecoderFactory *factory, const QString &path);
00044 PluginItem(QTreeWidgetItem *parent, EngineFactory *factory, const QString &path);
00045 PluginItem(QTreeWidgetItem *parent, EffectFactory *factory, const QString &path);
00046 PluginItem(QTreeWidgetItem *parent, VisualFactory *factory, const QString &path);
00047 PluginItem(QTreeWidgetItem *parent, GeneralFactory *factory, const QString &path);
00048 ~PluginItem();
00049
00050 enum PluginType
00051 {
00052 TRANSPORT = QTreeWidgetItem::UserType,
00053 DECODER,
00054 ENGINE,
00055 EFFECT,
00056 VISUAL,
00057 GENERAL
00058 };
00059
00060 bool hasAbout() const;
00061 bool hasSettings() const;
00062 void showAbout(QWidget *parent);
00063 void showSettings(QWidget *parent);
00064 void setEnabled(bool enabled);
00065
00066
00067 private:
00068 bool m_has_about;
00069 bool m_has_config;
00070 void *m_factory;
00071 };
00072
00073 #endif