diff options
-rw-r--r-- | example/simple/main.cpp | 56 | ||||
-rw-r--r-- | src/qtsegmentcontrol.cpp | 2 |
2 files changed, 42 insertions, 16 deletions
diff --git a/example/simple/main.cpp b/example/simple/main.cpp index c65231e..2b19edd 100644 --- a/example/simple/main.cpp +++ b/example/simple/main.cpp @@ -3,24 +3,50 @@ #include <QtGui/QVBoxLayout> #include "qtsegmentcontrol.h" -int main(int argc, char **argv) +class MyWindow : public QWidget { - QApplication app(argc, argv); + Q_OBJECT +public: + MyWindow() { + controller = new QtSegmentControl(); + controller->setCount(3); + controller->setSegmentText(0, tr("Select One")); + controller->setSegmentText(1, tr("Select All")); + controller->setSegmentText(2, tr("Select None")); + controller->setSelectionBehavior(QtSegmentControl::SelectOne); + connect(controller, SIGNAL(segmentSelected(int)), this, SLOT(updateBehavior(int))); + segmentControl = new QtSegmentControl(); + segmentControl->setCount(5); + segmentControl->setSegmentText(0, "Homer"); + segmentControl->setSegmentText(1, "Marge"); + segmentControl->setSegmentText(2, "Bart"); + segmentControl->setSegmentText(3, "Lisa"); + segmentControl->setSegmentText(4, "Maggie"); + controller->setSegmentSelected(0, true); + + QVBoxLayout *vboxlayout = new QVBoxLayout(); + vboxlayout->addWidget(controller); + vboxlayout->addWidget(segmentControl); + setLayout(vboxlayout); + } + +private slots: + void updateBehavior(int newOne) { + segmentControl->setSelectionBehavior(QtSegmentControl::SelectionBehavior(newOne)); + } - QWidget widget; - QtSegmentControl *segmentControl = new QtSegmentControl(&widget); - segmentControl->setSelectionBehavior(QtSegmentControl::SelectOne); - segmentControl->setCount(5); - segmentControl->setSegmentText(0, "Homer"); - segmentControl->setSegmentText(1, "Marge"); - segmentControl->setSegmentText(2, "Bart"); - segmentControl->setSegmentText(3, "Lisa"); - segmentControl->setSegmentText(4, "Maggie"); +private: + QtSegmentControl *controller; + QtSegmentControl *segmentControl; +}; - QVBoxLayout *vboxlayout = new QVBoxLayout(); - vboxlayout->addWidget(segmentControl); - widget.setLayout(vboxlayout); - widget.show(); +int main(int argc, char **argv) +{ + QApplication app(argc, argv); + MyWindow window; + window.show(); return app.exec(); } + +#include "main.moc" diff --git a/src/qtsegmentcontrol.cpp b/src/qtsegmentcontrol.cpp index 2589375..f0f048b 100644 --- a/src/qtsegmentcontrol.cpp +++ b/src/qtsegmentcontrol.cpp @@ -434,9 +434,9 @@ void QtSegmentControl::mouseReleaseEvent(QMouseEvent *event) setSegmentSelected(index, !d->segments[index].selected); } else { setSegmentSelected(index, true); - d->postUpdate(index); } } + d->postUpdate(index); d->wasPressed = -1; } |