svcore  1.9
Clipboard.h
Go to the documentation of this file.
1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
2 
3 /*
4  Sonic Visualiser
5  An audio file viewer and annotation editor.
6  Centre for Digital Music, Queen Mary, University of London.
7  This file copyright 2006 Chris Cannam.
8 
9  This program is free software; you can redistribute it and/or
10  modify it under the terms of the GNU General Public License as
11  published by the Free Software Foundation; either version 2 of the
12  License, or (at your option) any later version. See the file
13  COPYING included with this distribution for more information.
14 */
15 
16 #ifndef _CLIPBOARD_H_
17 #define _CLIPBOARD_H_
18 
19 #include <QString>
20 #include <vector>
21 
22 class Clipboard
23 {
24 public:
25  class Point
26  {
27  public:
28  Point(long frame, QString label);
29  Point(long frame, float value, QString label);
30  Point(long frame, float value, int duration, QString label);
31  Point(long frame, float value, int duration, float level, QString label);
32  Point(const Point &point);
33  Point &operator=(const Point &point);
34 
35  bool haveFrame() const;
36  long getFrame() const;
37  Point withFrame(long frame) const;
38 
39  bool haveValue() const;
40  float getValue() const;
41  Point withValue(float value) const;
42 
43  bool haveDuration() const;
44  int getDuration() const;
45  Point withDuration(int duration) const;
46 
47  bool haveLabel() const;
48  QString getLabel() const;
49  Point withLabel(QString label) const;
50 
51  bool haveLevel() const;
52  float getLevel() const;
53  Point withLevel(float level) const;
54 
55  bool haveReferenceFrame() const;
56  bool referenceFrameDiffers() const; // from point frame
57 
58  long getReferenceFrame() const;
59  void setReferenceFrame(long);
60 
61  private:
63  long m_frame;
65  float m_value;
69  QString m_label;
71  float m_level;
74  };
75 
76  Clipboard();
77  ~Clipboard();
78 
79  typedef std::vector<Point> PointList;
80 
81  void clear();
82  bool empty() const;
83  const PointList &getPoints() const;
84  void setPoints(const PointList &points);
85  void addPoint(const Point &point);
86 
87  bool haveReferenceFrames() const;
88  bool referenceFramesDiffer() const;
89 
90 protected:
92 };
93 
94 #endif
QString getLabel() const
Definition: Clipboard.cpp:187
bool referenceFramesDiffer() const
Definition: Clipboard.cpp:291
bool haveReferenceFrames() const
Definition: Clipboard.cpp:281
Point withFrame(long frame) const
Definition: Clipboard.cpp:130
void addPoint(const Point &point)
Definition: Clipboard.cpp:275
long m_referenceFrame
Definition: Clipboard.h:73
long getFrame() const
Definition: Clipboard.cpp:124
void setPoints(const PointList &points)
Definition: Clipboard.cpp:269
float getValue() const
Definition: Clipboard.cpp:145
bool referenceFrameDiffers() const
Definition: Clipboard.cpp:229
Point(long frame, QString label)
Definition: Clipboard.cpp:18
int getDuration() const
Definition: Clipboard.cpp:166
Point withDuration(int duration) const
Definition: Clipboard.cpp:172
bool haveValue() const
Definition: Clipboard.cpp:139
const PointList & getPoints() const
Definition: Clipboard.cpp:263
bool m_haveDuration
Definition: Clipboard.h:66
void clear()
Definition: Clipboard.cpp:251
Point & operator=(const Point &point)
Definition: Clipboard.cpp:99
bool haveDuration() const
Definition: Clipboard.cpp:160
QString m_label
Definition: Clipboard.h:69
bool m_haveReferenceFrame
Definition: Clipboard.h:72
Point withValue(float value) const
Definition: Clipboard.cpp:151
bool empty() const
Definition: Clipboard.cpp:257
bool haveReferenceFrame() const
Definition: Clipboard.cpp:223
void setReferenceFrame(long)
Definition: Clipboard.cpp:241
bool haveLabel() const
Definition: Clipboard.cpp:181
bool haveFrame() const
Definition: Clipboard.cpp:118
Point withLevel(float level) const
Definition: Clipboard.cpp:214
std::vector< Point > PointList
Definition: Clipboard.h:79
bool haveLevel() const
Definition: Clipboard.cpp:202
Point withLabel(QString label) const
Definition: Clipboard.cpp:193
PointList m_points
Definition: Clipboard.h:91
float getLevel() const
Definition: Clipboard.cpp:208
long getReferenceFrame() const
Definition: Clipboard.cpp:235