Mercurial > hg > easaier-soundaccess
view widgets/ConfidenceListWidget.cpp @ 144:f3dce7a985cf
result display is better now.
author | benoitrigolleau |
---|---|
date | Tue, 13 Nov 2007 11:09:57 +0000 |
parents | c107866fd387 |
children | 9f16a77107bd |
line wrap: on
line source
/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ /* Sound Access EASAIER client application. Silogic 2007. Benoit Rigolleau. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. See the file COPYING included with this distribution for more information. */ #include "ConfidenceListWidget.h" #include "ConfidenceWidget.h" ConfidenceListWidget::ConfidenceListWidget(QWidget *parent):QWidget(parent){ m_vlayout = new QVBoxLayout; m_vConfidenceLayout = new QVBoxLayout; m_hlayout = new QHBoxLayout; m_button = new QPushButton(); m_moyConfidence = new ConfidenceWidget(); m_state=0; confidenceSum=0; m_moyConfidence->setMaximumHeight(30); m_moyConfidence->setMinimumHeight(30); m_moyConfidence->setFixedHeight(30); m_moyConfidence->setMinimumWidth(100); m_moyConfidence->setMaximumWidth(100); m_button->setMaximumHeight(16); m_button->setMaximumWidth(16); m_button->setMinimumHeight(16); m_button->setMinimumWidth(16); m_button->setEnabled(false); m_vConfidenceLayout->setSpacing(0); m_vConfidenceLayout->addWidget(m_moyConfidence); m_vlayout->setSpacing(0); m_vlayout->addLayout(m_vConfidenceLayout); m_vlayout->addStretch(); m_hlayout->addLayout(m_vlayout); m_hlayout->addWidget(m_button); this->setLayout(m_hlayout); connect(m_button,SIGNAL(clicked()),this,SLOT(changeSate())); updateSize(); refreshButtonIcone(); } void ConfidenceListWidget::addConfidence(int confidence, QString label){ ConfidenceWidget *auxConfidence = new ConfidenceWidget(); auxConfidence->setConfidence(confidence); auxConfidence->setMaximumHeight(30); auxConfidence->setMinimumHeight(30); auxConfidence->setMinimumWidth(100); auxConfidence->setMaximumWidth(100); auxConfidence->setToolTip(label); auxConfidence->setVisible(m_state); confidenceSum +=confidence; m_vConfidenceLayout->addWidget(auxConfidence); m_moyConfidence->setConfidence(confidenceSum/(m_vConfidenceLayout->count()-1)); if((m_vConfidenceLayout->count()-1)>1){ m_button->setEnabled(true); }else{ m_button->setEnabled(false); } } void ConfidenceListWidget::reset(){ } void ConfidenceListWidget::refreshButtonIcone(){ if(m_state){ //m_button->setIcon(QIcon(":icons/top.png")); m_button->setText("-"); }else{ //m_button->setIcon(QIcon(":icons/bottom.png")); m_button->setText("+"); } } void ConfidenceListWidget::updateSize(){ int count = m_vConfidenceLayout->count(); if(m_state){ this->setMaximumHeight(count*30 + count); }else{ this->setMaximumHeight(37); } } void ConfidenceListWidget::changeSate(){ m_state = !m_state; int count = m_vConfidenceLayout->count(); for(int i=1; i<count;i++){ m_vConfidenceLayout->itemAt(i)->widget()->setVisible(m_state); } updateSize(); refreshButtonIcone(); }