From 0e96eb2535a6c86ea478f5344e2b889c60ce0ad9 Mon Sep 17 00:00:00 2001 From: Norwegian Rock Cat Date: Fri, 15 May 2009 17:16:33 +0200 Subject: Better test --- example/simple/main.cpp | 56 +++++++++++++++++++++++++++++++++++------------- 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 #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; } -- cgit v1.2.3