Olive
keyframeview.h
1 #ifndef KEYFRAMEVIEW_H
2 #define KEYFRAMEVIEW_H
3 
4 #include <QWidget>
5 #include <QPainter>
6 
7 class Clip;
8 class Effect;
9 class EffectRow;
10 class EffectField;
11 class TimelineHeader;
12 
13 class KeyframeView : public QWidget {
14  Q_OBJECT
15 public:
16  KeyframeView(QWidget* parent = 0);
17 
18  void delete_selected_keyframes();
19 
20  TimelineHeader* header;
21 
22  long visible_in;
23  long visible_out;
24 signals:
25  void wheel_event_signal(QWheelEvent*);
26 public slots:
27  void set_x_scroll(int);
28  void set_y_scroll(int);
29  void resize_move(double d);
30 private:
31  QVector<EffectField*> selected_fields;
32  QVector<int> selected_keyframes;
33  QVector<int> rowY;
34  QVector<EffectRow*> rows;
35  QVector<long> old_key_vals;
36  void mousePressEvent(QMouseEvent* event);
37  void mouseMoveEvent(QMouseEvent* event);
38  void mouseReleaseEvent(QMouseEvent *event);
39  void paintEvent(QPaintEvent *event);
40  void wheelEvent(QWheelEvent* e);
41  bool mousedown;
42  bool dragging;
43  bool keys_selected;
44  bool select_rect;
45  bool scroll_drag;
46 
47  bool keyframeIsSelected(EffectField *field, int keyframe);
48 
49  long drag_frame_start;
50  long last_frame_diff;
51  int rect_select_x;
52  int rect_select_y;
53  int rect_select_w;
54  int rect_select_h;
55  int rect_select_offset;
56 
57  int x_scroll;
58  int y_scroll;
59 
60  void update_keys();
61 private slots:
62  void show_context_menu(const QPoint& pos);
63  void menu_set_key_type(QAction*);
64 };
65 
66 #endif // KEYFRAMEVIEW_H
Definition: keyframeview.h:13
Definition: effect.h:146
Definition: timelineheader.h:11
Definition: effectrow.h:17
Definition: clip.h:33
Definition: effectfield.h:23