summaryrefslogtreecommitdiffstats
path: root/example/simple/main.cpp
blob: ea9fc861ebc1bbe4a140a5e7cb2ff1ab4deb9a5d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include <QtGui/QApplication>
#include <QtGui/QWidget>
#include <QtGui/QCheckBox>
#include <QtGui/QVBoxLayout>
#include "qtsegmentcontrol.h"

class MyWindow : public QWidget
{
    Q_OBJECT
public:
    MyWindow() {
        controller = new QtSegmentControl();
        controller->setCount(4);
        controller->setSegmentText(0, tr("Select One"));
        controller->setSegmentText(1, tr("Select All"));
        controller->setSegmentText(2, tr("Select None"));
        controller->setSegmentText(3, tr("Permanently Disabled"));
        controller->setSegmentEnabled(3, false);
        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);

        QCheckBox *button = new QCheckBox(tr("Disable Bart"));
        button->setChecked(false);
        connect(button, SIGNAL(toggled(bool)), SLOT(updateBart(bool)));

        QVBoxLayout *vboxlayout = new QVBoxLayout();
        vboxlayout->addWidget(controller);
        vboxlayout->addWidget(segmentControl);
        vboxlayout->addWidget(button);
        setLayout(vboxlayout);
    }

private slots:
    void updateBehavior(int newOne) {
        segmentControl->setSelectionBehavior(QtSegmentControl::SelectionBehavior(newOne));
    }

    void updateBart(bool enabled) {
        segmentControl->setSegmentEnabled(2, !enabled);
    }

private:
    QtSegmentControl *controller;
    QtSegmentControl *segmentControl;
};


int main(int argc, char **argv)
{
    QApplication app(argc, argv);
    MyWindow window;
    window.show();
    return app.exec();
}

#include "main.moc"