Mercurial > hg > easaier-soundaccess
comparison widgets/CriteriaDialog.cpp @ 108:c107866fd387
first draft to the list result
author | benoitrigolleau |
---|---|
date | Fri, 14 Sep 2007 16:44:36 +0000 |
parents | |
children | 1c638a8e9897 |
comparison
equal
deleted
inserted
replaced
107:c3ac34b2e45b | 108:c107866fd387 |
---|---|
1 #include <QWidget> | |
2 #include <QVBoxLayout> | |
3 #include <QFrame> | |
4 #include <QVector> | |
5 #include <QString> | |
6 | |
7 #include "CriteriaDialog.h" | |
8 | |
9 CriteriaDialog::CriteriaDialog(QWidget *parent) | |
10 : QDialog(parent) | |
11 { | |
12 this->setWindowFlags(Qt::ToolTip); | |
13 | |
14 m_labelTitle = new QLabel(tr("Select criterias:")); | |
15 | |
16 m_buttonBox = new QDialogButtonBox(Qt::Horizontal); | |
17 m_buttonOK = new QPushButton(tr("Ok")); | |
18 m_buttonCancel = new QPushButton(tr("Cancel")); | |
19 m_layoutForCheckBoxs = new QVBoxLayout(); | |
20 QFrame *auxFrame = new QFrame(); | |
21 QVBoxLayout *mainLayout = new QVBoxLayout; | |
22 QVBoxLayout *auxLayout = new QVBoxLayout; | |
23 QFrame *frameForCheckBoxs = new QFrame(); | |
24 | |
25 frameForCheckBoxs->setLayout(m_layoutForCheckBoxs); | |
26 | |
27 m_labelTitle->setAlignment(Qt::AlignCenter); | |
28 | |
29 // default button for enter key | |
30 m_buttonOK->setDefault(true); | |
31 | |
32 m_buttonBox->addButton(m_buttonOK, QDialogButtonBox::AcceptRole); | |
33 m_buttonBox->addButton(m_buttonCancel, QDialogButtonBox::RejectRole); | |
34 | |
35 connect(m_buttonOK, SIGNAL(clicked()), this, SLOT(accept())); | |
36 connect(m_buttonCancel, SIGNAL(clicked()), this, SLOT(reject())); | |
37 | |
38 auxLayout->addWidget(m_labelTitle); | |
39 auxLayout->addWidget(frameForCheckBoxs); | |
40 auxLayout->addWidget(m_buttonBox); | |
41 auxLayout->setSizeConstraint(QLayout::SetFixedSize); | |
42 | |
43 auxFrame->setLayout(auxLayout); | |
44 auxFrame->setFrameStyle(QFrame::Panel | QFrame::Plain); | |
45 | |
46 mainLayout->addWidget(auxFrame); | |
47 mainLayout->setMargin(0); | |
48 mainLayout->setSpacing(0); | |
49 mainLayout->setSizeConstraint(QLayout::SetFixedSize); | |
50 | |
51 setLayout(mainLayout); | |
52 | |
53 } | |
54 | |
55 void CriteriaDialog::setLocation(int x, int y){ | |
56 this->setGeometry(x,y,this->width(),this->height()); | |
57 } | |
58 | |
59 void CriteriaDialog::setOpacity(qreal value){ | |
60 this->setWindowOpacity(value); | |
61 } | |
62 | |
63 | |
64 void CriteriaDialog::addCriteria(QString name){ | |
65 QCheckBox *criteriaCheckBox = new QCheckBox(name); | |
66 m_layoutForCheckBoxs->addWidget(criteriaCheckBox); | |
67 } | |
68 | |
69 QVector<QString> CriteriaDialog::result(){ | |
70 QVector<QString> result; | |
71 for(int i=0;i<m_layoutForCheckBoxs->count();i++){ | |
72 QCheckBox *criteriaCheckBox = (QCheckBox*) m_layoutForCheckBoxs->itemAt(i)->widget(); | |
73 if(criteriaCheckBox->isChecked()){ | |
74 result.append(criteriaCheckBox->text()); | |
75 } | |
76 } | |
77 return result; | |
78 } |