00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef METER_WIDGET_H
00023 #define METER_WIDGET_H
00024
00025 #include <QTimer>
00026
00027 #include <ViewPort.h>
00028 #include <ViewItem.h>
00029
00030 class MeterView;
00031 class Sheet;
00032 class Project;
00033 class Plugin;
00034
00035 class MeterWidget : public ViewPort
00036 {
00037
00038 public:
00039 MeterWidget(QWidget* parent, MeterView* item);
00040 ~MeterWidget();
00041
00042 void get_pointed_context_items(QList<ContextItem* > &list);
00043
00044 protected:
00045 void resizeEvent( QResizeEvent* e);
00046 void hideEvent ( QHideEvent * event );
00047 void showEvent ( QShowEvent * event );
00048 QSize minimumSizeHint () const;
00049 QSize sizeHint () const;
00050 MeterView* m_item;
00051 };
00052
00053 class MeterView : public ViewItem
00054 {
00055 Q_OBJECT
00056
00057 public:
00058 MeterView(MeterWidget* widget);
00059 ~MeterView();
00060
00061 virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) {};
00062 virtual void resize();
00063 void hide_event();
00064 void show_event();
00065
00066
00067 protected:
00068 MeterWidget* m_widget;
00069 Plugin* m_meter;
00070 QTimer timer;
00071 QTimer m_delayTimer;
00072 Project* m_project;
00073 Sheet* m_sheet;
00074
00075 void set_sheet( Sheet* );
00076
00077 private slots:
00078 void set_project( Project* );
00079 virtual void update_data() {};
00080 void transport_started();
00081 void transport_stopped();
00082 void delay_timeout();
00083 };
00084
00085 #endif
00086
00087