Mercurial > hg > easaier-soundaccess
comparison widgets/ConfidenceListWidget.cpp @ 148:9f16a77107bd
the confidenceListWidget is ok now.
author | benoitrigolleau |
---|---|
date | Wed, 14 Nov 2007 10:07:23 +0000 |
parents | f3dce7a985cf |
children | 735e67e91508 |
comparison
equal
deleted
inserted
replaced
147:13b5b9af0484 | 148:9f16a77107bd |
---|---|
15 #include "ConfidenceListWidget.h" | 15 #include "ConfidenceListWidget.h" |
16 #include "ConfidenceWidget.h" | 16 #include "ConfidenceWidget.h" |
17 | 17 |
18 ConfidenceListWidget::ConfidenceListWidget(QWidget *parent):QWidget(parent){ | 18 ConfidenceListWidget::ConfidenceListWidget(QWidget *parent):QWidget(parent){ |
19 | 19 |
20 m_vlayout = new QVBoxLayout; | 20 m_layout = new QGridLayout; |
21 m_vConfidenceLayout = new QVBoxLayout; | |
22 m_hlayout = new QHBoxLayout; | |
23 m_button = new QPushButton(); | 21 m_button = new QPushButton(); |
24 m_moyConfidence = new ConfidenceWidget(); | 22 m_moyConfidence = new ConfidenceWidget(); |
25 | 23 |
26 m_state=0; | 24 m_state=0; |
27 confidenceSum=0; | 25 confidenceSum=0; |
26 curRow = 0; | |
28 | 27 |
29 m_moyConfidence->setMaximumHeight(30); | 28 m_moyConfidence->setMaximumHeight(30); |
30 m_moyConfidence->setMinimumHeight(30); | 29 m_moyConfidence->setMinimumHeight(30); |
31 m_moyConfidence->setFixedHeight(30); | 30 m_moyConfidence->setFixedHeight(30); |
32 m_moyConfidence->setMinimumWidth(100); | 31 m_moyConfidence->setMinimumWidth(100); |
36 m_button->setMaximumWidth(16); | 35 m_button->setMaximumWidth(16); |
37 m_button->setMinimumHeight(16); | 36 m_button->setMinimumHeight(16); |
38 m_button->setMinimumWidth(16); | 37 m_button->setMinimumWidth(16); |
39 m_button->setEnabled(false); | 38 m_button->setEnabled(false); |
40 | 39 |
41 m_vConfidenceLayout->setSpacing(0); | 40 m_layout->setSpacing(0); |
42 m_vConfidenceLayout->addWidget(m_moyConfidence); | 41 m_layout->setMargin(0); |
42 m_layout->addWidget(m_moyConfidence,curRow,0,1,1); | |
43 m_layout->addWidget(m_button,curRow,1,1,1); | |
44 curRow++; | |
43 | 45 |
44 m_vlayout->setSpacing(0); | |
45 m_vlayout->addLayout(m_vConfidenceLayout); | |
46 m_vlayout->addStretch(); | |
47 | 46 |
48 m_hlayout->addLayout(m_vlayout); | 47 this->setLayout(m_layout); |
49 | |
50 m_hlayout->addWidget(m_button); | |
51 | |
52 this->setLayout(m_hlayout); | |
53 | 48 |
54 connect(m_button,SIGNAL(clicked()),this,SLOT(changeSate())); | 49 connect(m_button,SIGNAL(clicked()),this,SLOT(changeSate())); |
55 | 50 |
56 updateSize(); | 51 updateSize(); |
57 refreshButtonIcone(); | 52 refreshButtonIcone(); |
67 auxConfidence->setMaximumWidth(100); | 62 auxConfidence->setMaximumWidth(100); |
68 auxConfidence->setToolTip(label); | 63 auxConfidence->setToolTip(label); |
69 auxConfidence->setVisible(m_state); | 64 auxConfidence->setVisible(m_state); |
70 | 65 |
71 confidenceSum +=confidence; | 66 confidenceSum +=confidence; |
72 m_vConfidenceLayout->addWidget(auxConfidence); | 67 m_layout->addWidget(auxConfidence,curRow,0,1,2); |
73 | 68 |
74 m_moyConfidence->setConfidence(confidenceSum/(m_vConfidenceLayout->count()-1)); | 69 m_moyConfidence->setConfidence(confidenceSum/curRow); |
75 if((m_vConfidenceLayout->count()-1)>1){ | 70 if(curRow>1){ |
76 m_button->setEnabled(true); | 71 m_button->setEnabled(true); |
77 }else{ | 72 }else{ |
78 m_button->setEnabled(false); | 73 m_button->setEnabled(false); |
79 } | 74 } |
75 curRow++; | |
76 | |
80 | 77 |
81 | 78 |
82 } | 79 } |
83 | 80 |
84 void ConfidenceListWidget::reset(){ | 81 void ConfidenceListWidget::reset(){ |
95 m_button->setText("+"); | 92 m_button->setText("+"); |
96 } | 93 } |
97 } | 94 } |
98 | 95 |
99 void ConfidenceListWidget::updateSize(){ | 96 void ConfidenceListWidget::updateSize(){ |
100 int count = m_vConfidenceLayout->count(); | |
101 if(m_state){ | 97 if(m_state){ |
102 this->setMaximumHeight(count*30 + count); | 98 this->setMaximumHeight((curRow)*30); |
99 this->setMinimumHeight((curRow)*30); | |
103 }else{ | 100 }else{ |
104 this->setMaximumHeight(37); | 101 this->setMaximumHeight(30); |
102 this->setMinimumHeight(30); | |
105 } | 103 } |
106 } | 104 } |
107 | 105 |
108 void ConfidenceListWidget::changeSate(){ | 106 void ConfidenceListWidget::changeSate(){ |
109 m_state = !m_state; | 107 m_state = !m_state; |
110 int count = m_vConfidenceLayout->count(); | 108 for(int i=2; i<curRow+1;i++){ |
111 for(int i=1; i<count;i++){ | 109 m_layout->itemAt(i)->widget()->setVisible(m_state); |
112 m_vConfidenceLayout->itemAt(i)->widget()->setVisible(m_state); | |
113 } | 110 } |
114 updateSize(); | 111 updateSize(); |
115 refreshButtonIcone(); | 112 refreshButtonIcone(); |
116 } | 113 } |
117 | 114 |