summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNorwegian Rock Cat <qt-info@nokia.com>2009-05-15 17:16:33 +0200
committerNorwegian Rock Cat <qt-info@nokia.com>2009-05-15 17:16:33 +0200
commit0e96eb2535a6c86ea478f5344e2b889c60ce0ad9 (patch)
tree4a93c5806a05562a4b1443855e6ae158509ea0fe
parent0a76befcc70852f143bbf8edc76f61c7f6d3387f (diff)
Better test
-rw-r--r--example/simple/main.cpp56
-rw-r--r--src/qtsegmentcontrol.cpp2
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;
}