00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef SONG_WIDGET_H
00024 #define SONG_WIDGET_H
00025
00026 #include <QFrame>
00027 #include "ViewItem.h"
00028
00029 class QGridLayout;
00030 class QGraphicsScene;
00031 class QScrollBar;
00032
00033 class TrackPanelViewPort;
00034 class TimeLineViewPort;
00035 class ClipsViewPort;
00036 class SheetPanelViewPort;
00037
00038 class Project;
00039 class Sheet;
00040 class Command;
00041 class SheetView;
00042
00043 class SheetPanelGain : public ViewItem
00044 {
00045 Q_OBJECT
00046 public:
00047 SheetPanelGain(ViewItem* parent, Sheet* sheet);
00048 SheetPanelGain(){}
00049
00050 void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
00051
00052 public slots:
00053 Command* gain_increment();
00054 Command* gain_decrement();
00055
00056 private slots:
00057 void update_gain() {update();}
00058
00059 private:
00060 Sheet* m_sheet;
00061 };
00062
00063 class SheetPanelView : public ViewItem
00064 {
00065 Q_OBJECT
00066 public:
00067 SheetPanelView(QGraphicsScene* scene, Sheet* sheet);
00068 ~SheetPanelView() {}
00069
00070 void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
00071
00072 private:
00073 SheetPanelGain* m_gainview;
00074 Sheet* m_sheet;
00075 };
00076
00077 class SheetWidget : public QFrame
00078 {
00079 Q_OBJECT
00080 public:
00081 SheetWidget(Sheet* sheet, QWidget* parent=0);
00082 ~SheetWidget();
00083
00084
00085 Sheet* get_sheet() const;
00086 SheetView* get_sheetview() const;
00087
00088 protected:
00089 QSize minimumSizeHint () const;
00090 QSize sizeHint () const;
00091
00092 private:
00093 SheetView* m_sv;
00094 Sheet* m_sheet;
00095 QGridLayout* m_mainLayout;
00096 TrackPanelViewPort* m_trackPanel;
00097 TimeLineViewPort* m_timeLine;
00098 ClipsViewPort* m_clipsViewPort;
00099 SheetPanelViewPort* m_sheetPanelVP;
00100 QGraphicsScene* m_scene;
00101 QScrollBar* m_vScrollBar;
00102 QScrollBar* m_hScrollBar;
00103
00104
00105 friend class SheetView;
00106
00107 private slots:
00108 void load_theme_data();
00109 };
00110
00111
00112 #endif
00113
00114