Blame view

SegmentMonitor.h 1.8 KB
3f2992b2c   bostx   V1.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
  #ifndef SEGMENTMONITOR_H
  #define SEGMENTMONITOR_H
  
  #include <QWidget>
  #include <QMenu>
  
  #include "SpeechSegment.h"
  #include "VideoFrame.h"
  
  class SegmentMonitor: public QWidget
  {
    Q_OBJECT
  
      public:
    SegmentMonitor(QWidget *parent = 0);
    void reset();
    qreal getRatio() const;
    void setAnnotMode(bool annotMode);
  
    public slots:
    void processShot(Segment *shot);
    void processSpokenFrame(qint64 position, const QString &text, const QString &speaker);
    void segmentationRetrieved();
    void positionChanged(qint64 position);
    void updateDuration(qint64 duration);
    void setWidth(int width);
    void showContextMenu(const QPoint &point);
    void addNewSpeaker();
    void endOfAnnotation();
  
   signals:
    void playSegments(QList<QPair<qint64, qint64>> utterances);
  void setSpeaker(qint64 start, qint64 end, const QString &speaker, VideoFrame::SpeakerSource source);
  void resetSpeaker(qint64 prevStart, qint64 prevEnd, qint64 start, qint64 end, bool resetSub, VideoFrame::SpeakerSource source);
  
   protected:
    void paintEvent(QPaintEvent *event);
    void mousePressEvent(QMouseEvent *event);
    void mouseDoubleClickEvent(QMouseEvent *event);
    void mouseMoveEvent(QMouseEvent *event);
    void mouseReleaseEvent(QMouseEvent *event);
  
    private:
    bool testShotPattern(const QList<QString> &lblWindow);
  
    QMenu *m_speakers;
    QList<QString> m_annotSpeakers;
    QAction *m_newSpeakerAct;
    QAction *m_endAct;
    QList<QList <Segment *>> m_segmentationList;
    QList <Segment *> m_currList;
    qint64 m_lastStart;
    qint64 m_currPosition;
    QString m_currText;
    QString m_currSpeaker;;
    int m_width;
    qreal m_ratio;
    int m_step;
    int m_segmentHeight;
    qint64 m_duration;
    QList<QColor> m_colors;
    QHash<QString, QColor> m_segColors;
    int m_idxColor;
    QStringList m_selectedLabels;
    bool m_annotMode;
    qint64 m_prevPosition;
  };
  
  #endif