Mercurial > hg > easaier-soundaccess
view widgets/CriteriaDialog.cpp @ 112:1c638a8e9897
bye bye from silo114
author | benoitrigolleau |
---|---|
date | Wed, 19 Sep 2007 15:54:32 +0000 |
parents | c107866fd387 |
children |
line wrap: on
line source
#include <QWidget> #include <QVBoxLayout> #include <QFrame> #include <QVector> #include <QString> #include <iostream> #include "CriteriaDialog.h" CriteriaDialog::CriteriaDialog(QWidget *parent) : QDialog(parent) { this->setWindowFlags(Qt::ToolTip); m_labelTitle = new QLabel(tr("Select criterias:")); m_buttonBox = new QDialogButtonBox(Qt::Horizontal); m_buttonOK = new QPushButton(tr("Ok")); m_buttonCancel = new QPushButton(tr("Cancel")); m_layoutForCheckBoxs = new QVBoxLayout(); QFrame *auxFrame = new QFrame(); QVBoxLayout *mainLayout = new QVBoxLayout; QVBoxLayout *auxLayout = new QVBoxLayout; QFrame *frameForCheckBoxs = new QFrame(); frameForCheckBoxs->setLayout(m_layoutForCheckBoxs); m_labelTitle->setAlignment(Qt::AlignCenter); // default button for enter key m_buttonOK->setDefault(true); m_buttonBox->addButton(m_buttonOK, QDialogButtonBox::AcceptRole); m_buttonBox->addButton(m_buttonCancel, QDialogButtonBox::RejectRole); connect(m_buttonOK, SIGNAL(clicked()), this, SLOT(accept())); connect(m_buttonCancel, SIGNAL(clicked()), this, SLOT(reject())); auxLayout->addWidget(m_labelTitle); auxLayout->addWidget(frameForCheckBoxs); auxLayout->addWidget(m_buttonBox); auxLayout->setSizeConstraint(QLayout::SetFixedSize); auxFrame->setLayout(auxLayout); auxFrame->setFrameStyle(QFrame::Panel | QFrame::Plain); mainLayout->addWidget(auxFrame); mainLayout->setMargin(0); mainLayout->setSpacing(0); mainLayout->setSizeConstraint(QLayout::SetFixedSize); setLayout(mainLayout); } void CriteriaDialog::setLocation(int x, int y){ this->setGeometry(x,y,this->width(),this->height()); } void CriteriaDialog::setOpacity(qreal value){ this->setWindowOpacity(value); } void CriteriaDialog::addCriteria(QString name){ QCheckBox *criteriaCheckBox = new QCheckBox(name); m_layoutForCheckBoxs->addWidget(criteriaCheckBox); this->adjustSize(); } QVector<QString> CriteriaDialog::result(){ QVector<QString> result; for(int i=0;i<m_layoutForCheckBoxs->count();i++){ QCheckBox *criteriaCheckBox = (QCheckBox*) m_layoutForCheckBoxs->itemAt(i)->widget(); if(criteriaCheckBox->isChecked()){ result.append(criteriaCheckBox->text()); } } return result; }