rock_widget_collection  0.1
SlideBarItem.h
Go to the documentation of this file.
1 #ifndef SLIDEBARITEM_H
2 #define SLIDEBARITEM_H
3 
4 #include <QGraphicsItem>
5 #include "BoundarySlider.h"
6 #include "IndexSlider.h"
7 
8 class SlideBarItem : public QObject,public QGraphicsItem
9 {
10  Q_OBJECT
11  Q_INTERFACES(QGraphicsItem)
12 
13 public:
14 
15  static const int HEIGHT = 3;
16 
17  SlideBarItem(unsigned startIndex, unsigned steps, unsigned stepSize, QGraphicsItem *parent = 0);
18  void reconfigure(unsigned startIndex, unsigned steps, unsigned stepSize);
19 
20  QRectF boundingRect() const;
21  void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
22  unsigned getStartIndex() const;
23  qreal getBookmarkHeight() const;
24  void setBookmarkHeight(qreal height);
25  void setIndexSliderHeight(int height);
26  void addTimeMarker(BoundarySlider *marker);
27  const QList<BoundarySlider*>& getTimeMarkers();
28  const QList<Slider*>& getAllSliders();
30  bool markerContainsPoint(BoundarySlider *marker, const QPointF &point);
31  unsigned markerIndex(Slider *marker);
32  int markerPositionForIndex(unsigned index);
34  void updateBookmarks(QVector<int> & bookmarks);
35 
36  void setWidth(int width);
37  void setHeight(int width);
38  int getWidth()const;
39  int getHeight()const;
40 
41 signals:
42  void bookmarkClicked(int idx);
43 
44 protected:
45  void mousePressEvent(QGraphicsSceneMouseEvent *event);
46 
47 private:
48  qreal height;
49  qreal width;
50  qreal bookmark_height;
51  unsigned startIndex, steps, stepSize;
52  QColor color;
53  QList<BoundarySlider*> timeMarkers;
54  QList<Slider*> allSliders;
55  QVector<int> bookmarks;
56  IndexSlider *slider;
57 };
58 
59 #endif // SLIDEBARITEM_H
Definition: Slider.h:7
const QList< Slider * > & getAllSliders()
Definition: SlideBarItem.cc:82
int markerPositionForIndex(unsigned index)
SlideBarItem(unsigned startIndex, unsigned steps, unsigned stepSize, QGraphicsItem *parent=0)
Definition: SlideBarItem.cc:9
void reconfigure(unsigned startIndex, unsigned steps, unsigned stepSize)
Definition: SlideBarItem.cc:17
unsigned markerIndex(Slider *marker)
qreal getBookmarkHeight() const
Definition: SlideBarItem.cc:48
void setHeight(int width)
Definition: SlideBarItem.cc:60
void updateBookmarks(QVector< int > &bookmarks)
const QList< BoundarySlider * > & getTimeMarkers()
Definition: SlideBarItem.cc:78
static const int HEIGHT
Definition: SlideBarItem.h:15
void addTimeMarker(BoundarySlider *marker)
Definition: SlideBarItem.cc:72
BoundarySlider * markerOverlap(BoundarySlider *marker)
Definition: SlideBarItem.cc:86
void bookmarkClicked(int idx)
unsigned getStartIndex() const
Definition: SlideBarItem.cc:43
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
Definition: SlideBarItem.cc:28
IndexSlider * getIndexSlider()
int getWidth() const
Definition: SlideBarItem.cc:64
void setBookmarkHeight(qreal height)
Definition: SlideBarItem.cc:52
void mousePressEvent(QGraphicsSceneMouseEvent *event)
int getHeight() const
Definition: SlideBarItem.cc:68
bool markerContainsPoint(BoundarySlider *marker, const QPointF &point)
void setWidth(int width)
Definition: SlideBarItem.cc:56
QRectF boundingRect() const
Definition: SlideBarItem.cc:24
void setIndexSliderHeight(int height)