Plasma
scrollbar.h
Go to the documentation of this file.
00001 /* 00002 * Copyright © 2008 Fredrik Höglund <fredrik@kde.org> 00003 * Copyright © 2008 Marco Martin <notmart@gmail.com> 00004 * 00005 * This program is free software; you can redistribute it and/or modify 00006 * it under the terms of the GNU Library General Public License as 00007 * published by the Free Software Foundation; either version 2, or 00008 * (at your option) any later version. 00009 * 00010 * This program is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 * GNU General Public License for more details 00014 * 00015 * You should have received a copy of the GNU Library General Public 00016 * License along with this program; if not, write to the 00017 * Free Software Foundation, Inc., 00018 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 00019 */ 00020 00021 #ifndef PLASMA_SCROLLBAR_H 00022 #define PLASMA_SCROLLBAR_H 00023 00024 #include <QtGui/QScrollBar> 00025 #include <QtGui/QGraphicsProxyWidget> 00026 00027 #include <plasma/plasma_export.h> 00028 00029 namespace Plasma 00030 { 00031 00032 class ScrollBarPrivate; 00033 00039 class PLASMA_EXPORT ScrollBar : public QGraphicsProxyWidget 00040 { 00041 Q_OBJECT 00042 00043 Q_PROPERTY(int singleStep READ singleStep WRITE setSingleStep) 00044 Q_PROPERTY(int pageStep READ pageStep WRITE setPageStep) 00045 Q_PROPERTY(int value READ value WRITE setValue NOTIFY valueChanged) 00046 Q_PROPERTY(int minimum READ minimum WRITE setMinimum) 00047 Q_PROPERTY(int maximum READ maximum WRITE setMaximum) 00048 Q_PROPERTY(QString styleSheet READ styleSheet WRITE setStyleSheet) 00049 Q_PROPERTY(QScrollBar *nativeWidget READ nativeWidget) 00050 Q_PROPERTY(Qt::Orientation orientation READ orientation WRITE setOrientation) 00051 00052 public: 00056 explicit ScrollBar(QGraphicsWidget *parent=0); 00057 00058 ~ScrollBar(); 00059 00065 void setRange(int min, int max); 00066 00072 void setSingleStep(int val); 00073 00077 int singleStep(); 00078 00083 void setPageStep(int val); 00084 00088 int pageStep(); 00089 00093 int value() const; 00094 00098 int minimum() const; 00099 00103 int maximum() const; 00104 00109 void setMinimum(const int min) const; 00110 00115 void setMaximum(const int max) const; 00116 00122 void setStyleSheet(const QString &stylesheet); 00123 00127 QString styleSheet(); 00128 00132 QScrollBar *nativeWidget() const; 00133 00138 Qt::Orientation orientation() const; 00139 00140 protected: 00141 void contextMenuEvent(QGraphicsSceneContextMenuEvent *event); 00142 00143 public Q_SLOTS: 00148 void setValue(int val); 00149 00153 void setOrientation(Qt::Orientation orientation); 00154 00155 Q_SIGNALS: 00159 void valueChanged(int value); 00160 00165 void sliderMoved(int value); 00166 00167 private: 00168 ScrollBarPrivate * const d; 00169 }; 00170 00171 } 00172 00173 #endif
KDE 4.6 API Reference