4 #include <QAbstractScrollArea>
5 #include <QAbstractSlider>
46 Q_PROPERTY(
double opacity READ opacity WRITE setOpacity)
47 Q_PROPERTY(
double sliderOpacity READ sliderOpacity WRITE setSliderOpacity)
49 Q_PROPERTY(QPen backgroundPen READ backgroundPen WRITE setBackgroundPen)
50 Q_PROPERTY(QBrush backgroundBrush READ backgroundBrush WRITE setBackgroundBrush)
51 Q_PROPERTY(QPen sliderPen READ sliderPen WRITE setSliderPen)
52 Q_PROPERTY(QBrush sliderBrush READ sliderBrush WRITE setSliderBrush)
60 void setBackgroundPen(
const QPen& pen);
61 inline QPen backgroundPen()
const {
return m_pen; }
63 void setBackgroundBrush(
const QBrush& brush);
64 inline QBrush backgroundBrush()
const {
return m_brush; }
66 void setSliderPen(
const QPen& pen);
67 inline QPen sliderPen()
const {
return m_panPen; }
69 void setSliderBrush(
const QBrush& brush);
70 inline QBrush sliderBrush()
const {
return m_panBrush; }
72 void setOpacity(
double opacity);
73 inline double opacity()
const {
return m_opacity; }
75 void setSliderOpacity(
double opacity);
76 inline double sliderOpacity()
const {
return m_panOpacity; }
83 void connectSource(QAbstractScrollArea *area);
84 void connectSource(QAbstractSlider *horizontal, QAbstractSlider *vertical);
85 void disconnectSource();
87 virtual QSize minimumSizeHint()
const
93 void scrollHorizontal(
int value);
94 void scrollVertical(
int value);
97 void setHorizontalRange(
int min,
int max);
98 void setHorizontalValue(
int value);
99 void setHorizontalViewSize(
int size);
101 void setVerticalRange(
int min,
int max);
102 void setVerticalValue(
int value);
103 void setVerticalViewSize(
int size);
105 void setViewSize(
const QSize &size);
113 virtual void paintEvent(QPaintEvent *);
114 virtual bool eventFilter(QObject *, QEvent *);
115 virtual void mousePressEvent(QMouseEvent *);
116 virtual void mouseMoveEvent(QMouseEvent *);
117 virtual bool event(QEvent *);
119 virtual void drawBackground(QPainter& p, QRect r);
120 virtual void drawSlider(QPainter& p, QRect r);
122 void calculateXsize(
int size);
123 void calculateYsize(
int size);
125 void connectH(QAbstractSlider *sl);
126 void connectV(QAbstractSlider *sl);
128 int m_minX, m_maxX, m_sizeX, m_valueX;
129 int m_valueXpan, m_sizeXpan;
131 int m_minY, m_maxY, m_sizeY, m_valueY;
132 int m_valueYpan, m_sizeYpan;
136 QPen m_pen, m_panPen;
137 QBrush m_brush, m_panBrush;
139 double m_opacity, m_panOpacity;
144 QAbstractSlider *m_sliderX, *m_sliderY;
151 #endif // SCROLLPANNER_H