/**************************************************************************** ** ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). ** Contact: Nokia Corporation (qt-info@nokia.com) ** ** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** No Commercial Usage ** This file contains pre-release code and may not be distributed. ** You may use this file in accordance with the terms and conditions ** contained in the either Technology Preview License Agreement or the ** Beta Release License Agreement. ** ** GNU Lesser General Public License Usage ** Alternatively, this file may be used under the terms of the GNU Lesser ** General Public License version 2.1 as published by the Free Software ** Foundation and appearing in the file LICENSE.LGPL included in the ** packaging of this file. Please review the following information to ** ensure the GNU Lesser General Public License version 2.1 requirements ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. ** ** In addition, as a special exception, Nokia gives you certain ** additional rights. These rights are described in the Nokia Qt LGPL ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this ** package. ** ** GNU General Public License Usage ** Alternatively, this file may be used under the terms of the GNU ** General Public License version 3.0 as published by the Free Software ** Foundation and appearing in the file LICENSE.GPL included in the ** packaging of this file. Please review the following information to ** ensure the GNU General Public License version 3.0 requirements will be ** met: http://www.gnu.org/copyleft/gpl.html. ** ** If you are unsure which license is appropriate for your use, please ** contact the sales department at http://qt.nokia.com/contact. ** $QT_END_LICENSE$ ** ****************************************************************************/ #include #include "slidersgroup.h" //! [0] SlidersGroup::SlidersGroup(Qt::Orientation orientation, const QString &title, QWidget *parent) : QGroupBox(title, parent) { slider = new QSlider(orientation); slider->setFocusPolicy(Qt::StrongFocus); slider->setTickPosition(QSlider::TicksBothSides); slider->setTickInterval(10); slider->setSingleStep(1); scrollBar = new QScrollBar(orientation); scrollBar->setFocusPolicy(Qt::StrongFocus); dial = new QDial; dial->setFocusPolicy(Qt::StrongFocus); connect(slider, SIGNAL(valueChanged(int)), scrollBar, SLOT(setValue(int))); connect(scrollBar, SIGNAL(valueChanged(int)), dial, SLOT(setValue(int))); connect(dial, SIGNAL(valueChanged(int)), slider, SLOT(setValue(int))); //! [0] //! [1] connect(dial, SIGNAL(valueChanged(int)), this, SIGNAL(valueChanged(int))); //! [1] //! [2] //! [2] //! [3] QBoxLayout::Direction direction; //! [3] //! [4] if (orientation == Qt::Horizontal) direction = QBoxLayout::TopToBottom; else direction = QBoxLayout::LeftToRight; QBoxLayout *slidersLayout = new QBoxLayout(direction); slidersLayout->addWidget(slider); slidersLayout->addWidget(scrollBar); slidersLayout->addWidget(dial); setLayout(slidersLayout); } //! [4] //! [5] void SlidersGroup::setValue(int value) //! [5] //! [6] { slider->setValue(value); } //! [6] //! [7] void SlidersGroup::setMinimum(int value) //! [7] //! [8] { slider->setMinimum(value); scrollBar->setMinimum(value); dial->setMinimum(value); } //! [8] //! [9] void SlidersGroup::setMaximum(int value) //! [9] //! [10] { slider->setMaximum(value); scrollBar->setMaximum(value); dial->setMaximum(value); } //! [10] //! [11] void SlidersGroup::invertAppearance(bool invert) //! [11] //! [12] { slider->setInvertedAppearance(invert); scrollBar->setInvertedAppearance(invert); dial->setInvertedAppearance(invert); } //! [12] //! [13] void SlidersGroup::invertKeyBindings(bool invert) //! [13] //! [14] { slider->setInvertedControls(invert); scrollBar->setInvertedControls(invert); dial->setInvertedControls(invert); } //! [14]