00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef PLUGIN_VIEW_H
00023 #define PLUGIN_VIEW_H
00024
00025
00026 #include "ViewItem.h"
00027 #include <QString>
00028
00029 class PluginPropertiesDialog;
00030
00031 class TrackView;
00032 class PluginChainView;
00033 class Plugin;
00034 class PluginChain;
00035
00036 class PluginView : public ViewItem
00037 {
00038 Q_OBJECT
00039 Q_CLASSINFO("edit_properties", tr("Edit..."))
00040 Q_CLASSINFO("remove_plugin", tr("Remove"))
00041
00042 public:
00043 PluginView(PluginChainView* pcv, PluginChain* chain, Plugin* plugin, int index);
00044 ~PluginView();
00045
00046 Plugin* get_plugin();
00047 void set_index(int index);
00048
00049 void paint(QPainter* painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
00050 void calculate_bounding_rect();
00051
00052 private:
00053 PluginChain* m_pluginchain;
00054 Plugin* m_plugin;
00055
00056 int m_index;
00057 int m_textwidth;
00058 QString m_name;
00059
00060 PluginPropertiesDialog* m_propertiesDialog;
00061
00062 public slots:
00063 Command* edit_properties();
00064 Command* remove_plugin();
00065
00066 private slots:
00067 void repaint();
00068 };
00069
00070 #endif
00071
00072
00073