Go to the documentation of this file.00001
00002
00003
00004
00005
00010
00011 #ifndef overlapSlider_H_
00012 #define overlapSlider_H_
00013
00014 #include "lgrGui.h"
00015
00016 #include "lgrZoomableWidget.h"
00017 #include "multiBoxSlider.h"
00018 #include "dragComponent.h"
00019 #include <QtGui/QMatrix>
00020
00021 class QPainter;
00022
00023 namespace MAKLogger
00024 {
00025
00027 class DT_DLL_LGRGUI DtOverlapSlider : public DtLgrZoomableWidget,
00028 public DtMultiBoxSlider, public DtDragComponent
00029 {
00030 Q_OBJECT
00031
00032 public:
00033
00035 explicit DtOverlapSlider(QWidget* parent);
00036
00038 virtual DtSliderBar* addRange(QString name,float start,float end);
00039
00041 virtual void removeRange(QString name);
00042
00044 virtual void clearRanges();
00045
00047 void setBarColors(QColor top,QColor bottom);
00048
00049 public slots:
00050 void selectBarByIndex(int index);
00051
00052 signals:
00053 void barMoved(DtSliderBar*);
00054 void barSizeChanged(DtSliderBar*);
00055
00056 protected:
00057
00059 virtual void moveBox(DtSliderBox* box,float v);
00060
00061 virtual void enterEvent( QEvent* );
00062 virtual void leaveEvent( QEvent* );
00063 virtual void paintEvent( QPaintEvent* );
00064 virtual void mouseReleaseEvent(QMouseEvent*);
00065 virtual void mouseMoveEvent( QMouseEvent* );
00066 virtual void mousePressEvent( QMouseEvent* );
00067 virtual void resizeEvent( QResizeEvent* );
00068
00069 virtual void draw(QPainter& painter,QRect boundingRect);
00070
00071 virtual void drawBars(QPainter& painter) const;
00072 virtual void drawBoxes(QPainter& painter) const;
00073
00074 virtual void drawBar(QPainter& painter,DtSliderBar* bar) const;
00075 virtual void drawBox(QPainter& painter,DtSliderBox* box) const;
00076
00077 QMatrix myDrawnMatrix;
00078 QColor myTopColor;
00079 QColor myBottomColor;
00080
00081
00083 DtSliderBar* myActiveBar;
00084 };
00085 }
00086
00087 #endif