summaryrefslogtreecommitdiffstats
path: root/src/gui/widgets/qbuttongroup.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/widgets/qbuttongroup.cpp')
-rw-r--r--src/gui/widgets/qbuttongroup.cpp260
1 files changed, 260 insertions, 0 deletions
diff --git a/src/gui/widgets/qbuttongroup.cpp b/src/gui/widgets/qbuttongroup.cpp
new file mode 100644
index 0000000..06bcf1e
--- /dev/null
+++ b/src/gui/widgets/qbuttongroup.cpp
@@ -0,0 +1,260 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the QtGui module 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 qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+
+/*!
+ \class QButtonGroup
+ \brief The QButtonGroup class provides a container to organize groups of
+ button widgets.
+
+ \ingroup organizers
+ \ingroup geomanagement
+ \ingroup appearance
+ \mainclass
+
+ QButtonGroup provides an abstract container into which button widgets can
+ be placed. It does not provide a visual representation of this container
+ (see QGroupBox for a container widget), but instead manages the states of
+ each of the buttons in the group.
+
+ An \l {QButtonGroup::exclusive} {exclusive} button group switches
+ off all checkable (toggle) buttons except the one that was
+ clicked. By default, a button group is exclusive. The buttons in a
+ button group are usually checkable QPushButton's, \l{QCheckBox}es
+ (normally for non-exclusive button groups), or \l{QRadioButton}s.
+ If you create an exclusive button group, you should ensure that
+ one of the buttons in the group is initially checked; otherwise,
+ the group will initially be in a state where no buttons are
+ checked.
+
+ A button is added to the group with addButton(). It can be removed
+ from the group with removeButton(). If the group is exclusive, the
+ currently checked button is available as checkedButton(). If a
+ button is clicked the buttonClicked() signal is emitted. For a
+ checkable button in an exclusive group this means that the button
+ was checked. The list of buttons in the group is returned by
+ buttons().
+
+ In addition, QButtonGroup can map between integers and buttons.
+ You can assign an integer id to a button with setId(), and
+ retrieve it with id(). The id of the currently checked button is
+ available with checkedId(), and there is an overloaded signal
+ buttonClicked() which emits the id of the button. The id \c {-1}
+ is reserved by QButtonGroup to mean "no such button". The purpose
+ of the mapping mechanism is to simplify the representation of enum
+ values in a user interface.
+
+ \sa QGroupBox QPushButton, QCheckBox, QRadioButton
+*/
+
+/*!
+ \fn QButtonGroup::QButtonGroup(QObject *parent)
+
+ Constructs a new, empty button group with the given \a parent.
+
+ \sa addButton() setExclusive()
+*/
+
+/*!
+ \fn QButtonGroup::~QButtonGroup()
+
+ Destroys the button group.
+*/
+
+/*!
+ \property QButtonGroup::exclusive
+ \brief whether the button group is exclusive
+
+ If this property is true then only one button in the group can be checked
+ at any given time. The user can click on any button to check it, and that
+ button will replace the existing one as the checked button in the group.
+
+ In an exclusive group, the user cannot uncheck the currently checked button
+ by clicking on it; instead, another button in the group must be clicked
+ to set the new checked button for that group.
+
+ By default, this property is true.
+*/
+
+/*!
+ \fn void QButtonGroup::buttonClicked(QAbstractButton *button)
+
+ This signal is emitted when the given \a button is clicked. A
+ button is clicked when it is first pressed and then released, when
+ its shortcut key is typed, or programmatically when
+ QAbstractButton::click() or QAbstractButton::animateClick() is
+ called.
+
+
+ \sa checkedButton(), QAbstractButton::clicked()
+*/
+
+/*!
+ \fn void QButtonGroup::buttonClicked(int id)
+
+ This signal is emitted when a button with the given \a id is
+ clicked.
+
+ \sa checkedButton(), QAbstractButton::clicked()
+*/
+
+/*!
+ \fn void QButtonGroup::buttonPressed(QAbstractButton *button)
+ \since 4.2
+
+ This signal is emitted when the given \a button is pressed down.
+
+ \sa QAbstractButton::pressed()
+*/
+
+/*!
+ \fn void QButtonGroup::buttonPressed(int id)
+ \since 4.2
+
+ This signal is emitted when a button with the given \a id is
+ pressed down.
+
+ \sa QAbstractButton::pressed()
+*/
+
+/*!
+ \fn void QButtonGroup::buttonReleased(QAbstractButton *button)
+ \since 4.2
+
+ This signal is emitted when the given \a button is released.
+
+ \sa QAbstractButton::released()
+*/
+
+/*!
+ \fn void QButtonGroup::buttonReleased(int id)
+ \since 4.2
+
+ This signal is emitted when a button with the given \a id is
+ released.
+
+ \sa QAbstractButton::released()
+*/
+
+/*!
+ \fn void QButtonGroup::addButton(QAbstractButton *button, int id = -1);
+
+ Adds the given \a button to the button group, with the given \a
+ id. If \a id is -1 (the default), an id will be assigned to the
+ button by this QButtonGroup.
+
+ \sa removeButton() buttons()
+*/
+
+/*!
+ \fn void QButtonGroup::removeButton(QAbstractButton *button);
+
+ Removes the given \a button from the button group.
+
+ \sa addButton() buttons()
+*/
+
+/*!
+ \fn QList<QAbstractButton*> QButtonGroup::buttons() const
+
+ Returns the list of this groups's buttons. This may be empty.
+
+ \sa addButton(), removeButton()
+*/
+
+/*!
+ \fn QAbstractButton *QButtonGroup::checkedButton() const;
+
+ Returns the button group's checked button, or 0 if no buttons are
+ checked.
+
+ \sa buttonClicked()
+*/
+
+/*!
+ \fn QAbstractButton *QButtonGroup::button(int id) const;
+ \since 4.1
+
+ Returns the button with the specified \a id, or 0 if no such button
+ exists.
+*/
+
+/*!
+ \fn void QButtonGroup::setId(QAbstractButton *button, int id)
+ \since 4.1
+
+ Sets the \a id for the specified \a button. Note that \a id can
+ not be -1.
+
+ \sa id()
+*/
+
+/*!
+ \fn int QButtonGroup::id(QAbstractButton *button) const;
+ \since 4.1
+
+ Returns the id for the specified \a button, or -1 if no such button
+ exists.
+
+
+ \sa setId()
+*/
+
+/*!
+ \fn int QButtonGroup::checkedId() const;
+ \since 4.1
+
+ Returns the id of the checkedButton(), or -1 if no button is checked.
+
+ \sa setId()
+*/
+
+
+/*! \fn void QButtonGroup::insert(QAbstractButton *b)
+
+ Use addButton() instead.
+*/
+
+/*! \fn void QButtonGroup::remove(QAbstractButton *b)
+
+ Use removeButton() instead.
+*/