6 #include <base-logging/Logging.hpp> 16 bgColor = QColor(Qt::white);
22 reconfigure_slidebar =
false;
24 setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
25 setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
28 scene =
new QGraphicsScene;
30 setAlignment(Qt::AlignLeft | Qt::AlignTop);
32 setRenderHint(QPainter::Antialiasing);
33 setViewportUpdateMode(QGraphicsView::FullViewportUpdate);
39 slidebar->
setHeight(ordered_width - height());
41 scene->addItem(slidebar);
50 connect(startmarker, SIGNAL(sliderReleased(
Slider*,
int)),
this, SLOT(sliderReleased(
Slider*,
int)));
51 connect(endmarker, SIGNAL(sliderReleased(
Slider*,
int)),
this, SLOT(sliderReleased(
Slider*,
int)));
53 connect(startmarker, SIGNAL(sliderMoved(
Slider*,
int)),
this, SLOT(sliderMoved(
Slider*,
int)));
54 connect(endmarker, SIGNAL(sliderMoved(
Slider*,
int)),
this, SLOT(sliderMoved(
Slider*,
int)));
56 connect(startmarker, SIGNAL(sliderClicked(
Slider*)),
this, SLOT(sliderClicked(
Slider*)));
57 connect(endmarker, SIGNAL(sliderClicked(
Slider*)),
this, SLOT(sliderClicked(
Slider*)));
58 connect(slidebar, SIGNAL(
bookmarkClicked(
int)),
this, SLOT(bookmarkClickedSlot(
int)));
61 timer =
new QTimer(
this);
62 timer->setInterval(25);
63 connect(timer, SIGNAL(
timeout()),
this, SLOT(fireTimeout()));
70 return bookmarkHeight;
74 bookmarkHeight = height;
82 marginTopBot = margin;
102 return ordered_width;
106 ordered_width =
width;
114 this->minIndex = minIndex;
115 reconfigure_slidebar =
true;
124 reconfigure_slidebar =
true;
132 this->stepSize = stepSize;
133 reconfigure_slidebar =
true;
179 Q_FOREACH(
int bookmark, bookmarks) {
180 this->bookmarks << bookmark;
186 for(
int i = 0; i < bookmarks.size(); i++) {
187 if (bookmarks.at(i) == idx) {
202 for(
int i = 0; i < bookmarks.size(); i++) {
203 if (bookmarks.at(i) == idx) {
211 QSize size =
event->size();
215 void Timeline::updateScene() {
219 void Timeline::updateScene(QSizeF newSize) {
220 if(reconfigure_slidebar) {
221 reconfigureSlidebar();
225 scene->setSceneRect(0, 0, newSize.width(), newSize.height());
237 void Timeline::bookmarkClickedSlot(
int idx) {
238 LOG_DEBUG(
"BOOKMARK clicked at index %d", idx);
242 void Timeline::fireTimeout() {
246 void Timeline::sliderReleased(
Slider* slider,
int idx) {
249 if(slider == indexSlider) {
251 LOG_DEBUG(
"INDEX SLIDER released at index %d", idx);
252 }
else if (slider == startmarker) {
254 LOG_DEBUG(
"START MARKER released at index %d", idx);
255 }
else if (slider == endmarker) {
257 LOG_DEBUG(
"END MARKER released at index %d", idx);
259 LOG_WARN(
"UNKNOWN SLIDER released at index %d", idx);
263 void Timeline::sliderMoved(
Slider* slider,
int idx) {
266 if(slider == indexSlider) {
268 }
else if (slider == startmarker) {
270 }
else if (slider == endmarker) {
273 LOG_WARN(
"UNKNOWN SLIDER released at index %d", idx);
276 void Timeline::sliderClicked(
Slider* slider) {
279 if(slider == indexSlider) {
281 }
else if (slider == startmarker) {
283 }
else if (slider == endmarker) {
286 LOG_WARN(
"UNKNOWN SLIDER clicked");
289 void Timeline::reconfigureSlidebar() {
290 reconfigure_slidebar =
false;
void bookmarkRemoved(int idx)
const QList< Slider * > & getAllSliders()
void addBookmarks(QVector< int > bookmarks)
int getStartMarkerIndex()
void setBookmarkHeight(int height)
int markerPositionForIndex(unsigned index)
void indexSliderClicked()
bool hasBookmarkAtIndex(int idx)
void reconfigure(unsigned startIndex, unsigned steps, unsigned stepSize)
void removeBookmark(int idx)
void setStartMarkerIndex(int idx)
void setMinIndex(int minIndex)
void setSliderIndex(int idx)
void setHeight(int width)
void updateBookmarks(QVector< int > &bookmarks)
void setBackgroundColor(const QColor &color)
void removeAllBookmarks()
Timeline(QWidget *parent=0)
void addTimeMarker(BoundarySlider *marker)
void bookmarkClicked(int idx)
void setStepSize(int stepSize)
void setEndMarkerIndex(int idx)
int getBookmarkHeight() const
IndexSlider * getIndexSlider()
void setBookmarkHeight(qreal height)
void startMarkerMoved(int idx)
void endMarkerMoved(int idx)
void setLastIndex(unsigned index)
void indexSliderReleased(int idx)
void endMarkerReleased(int idx)
void resizeEvent(QResizeEvent *event)
void setMarginLR(int margin)
void indexSliderMoved(int idx)
const QColor & getBackgroundColor() const
void startMarkerClicked()
void startMarkerReleased(int idx)
void addBookmark(int idx)
void setMarginTopBot(int margin)