diff options
author | Norwegian Rock Cat <qt-info@nokia.com> | 2009-05-15 17:16:33 +0200 |
---|---|---|
committer | Norwegian Rock Cat <qt-info@nokia.com> | 2009-05-15 17:16:33 +0200 |
commit | 0e96eb2535a6c86ea478f5344e2b889c60ce0ad9 (patch) | |
tree | 4a93c5806a05562a4b1443855e6ae158509ea0fe | |
parent | 0a76befcc70852f143bbf8edc76f61c7f6d3387f (diff) |
Better test
-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; } |